ਲੀਨਕਸ ਉੱਤੇ ਫਾਇਰਵਾਲ ਕੰਪਿਊਟਰ ਸਿਸਟਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦਾ ਹੈ। ਇਹ ਇੱਕ ਰੁਕਾਵਟ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਸਿਸਟਮ ਨੂੰ ਅਣਅਧਿਕਾਰਤ ਪਹੁੰਚ, ਹਮਲਿਆਂ ਅਤੇ ਹੋਰ ਖਤਰਿਆਂ ਤੋਂ ਬਚਾਉਣ ਲਈ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਨੂੰ ਨਿਯੰਤਰਿਤ ਅਤੇ ਫਿਲਟਰ ਕਰਦਾ ਹੈ। ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤੇ ਫਾਇਰਵਾਲ ਤੋਂ ਬਿਨਾਂ, ਸਰਵਰ ਕਈ ਤਰ੍ਹਾਂ ਦੇ ਸਾਈਬਰ ਹਮਲਿਆਂ ਲਈ ਕਮਜ਼ੋਰ ਹੋ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਡੇਟਾ ਸੁਰੱਖਿਆ ਅਤੇ ਗੁਪਤਤਾ ਲਈ ਗੰਭੀਰ ਨਤੀਜੇ ਨਿਕਲ ਸਕਦੇ ਹਨ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਲੀਨਕਸ ਫਾਇਰਵਾਲ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਦੋ ਮੁੱਖ ਟੂਲਸ ਦੇਖਾਂਗੇ: ਫਾਇਰਵਾਲਲਡ ਅਤੇ ਆਈਪੀਟੇਬਲ। ਅਸੀਂ ਉਨ੍ਹਾਂ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਕਾਰਜਸ਼ੀਲਤਾ ਅਤੇ ਫਾਇਦਿਆਂ ਦਾ ਤੁਲਨਾਤਮਕ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਾਂਗੇ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਸੀਂ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਟੂਲ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਵਰਤਣ ਲਈ ਵਿਸਤ੍ਰਿਤ ਨਿਰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਾਂਗੇ, ਨਾਲ ਹੀ ਲੀਨਕਸ ਪਲੇਟਫਾਰਮ 'ਤੇ ਫਾਇਰਵਾਲ ਨਾਲ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ 'ਤੇ ਚਰਚਾ ਕਰਾਂਗੇ। ਸਾਰੀਆਂ ਕਾਰਵਾਈਆਂ ਇੱਕ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ। ਵਰਚੁਅਲ ਸਰਵਰ ਰੂਟ ਪਹੁੰਚ ਦੇ ਨਾਲ.
ਲੀਨਕਸ ਉੱਤੇ ਫਾਇਰਵਾਲਡ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ
ਫਾਯਰਵਾਲਾਲਡ (ਫਾਇਰਵਾਲ ਡੈਮਨ) ਲੀਨਕਸ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਵਿੱਚ ਫਾਇਰਵਾਲ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਇੱਕ ਪ੍ਰੋਗਰਾਮ ਹੈ। ਇਹ ਫਾਇਰਵਾਲ ਨਿਯਮਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ, ਨੈੱਟਵਰਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਆਗਿਆ ਦੇਣ ਜਾਂ ਬਲੌਕ ਕਰਨ ਲਈ ਇੱਕ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਜ਼ਿਆਦਾਤਰ ਸਰਵਰ ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨਾਂ ਵਿੱਚ ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਿਤ ਹੁੰਦਾ ਹੈ। ਜੇਕਰ ਫਾਇਰਵਾਲਡ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਿਤ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਦੇ ਅਧਿਕਾਰਤ ਰਿਪੋਜ਼ਟਰੀਆਂ ਤੋਂ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਸਥਾਪਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
Red Hat ਸਿਸਟਮਾਂ (ਜਿਵੇਂ ਕਿ RHEL, CentOS, Fedora) ਲਈ ਇੰਸਟਾਲੇਸ਼ਨ ਇਸ ਕਮਾਂਡ ਨਾਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
yum install firewalld
ਡੇਬੀਅਨ/ਉਬੰਟੂ ਲਈ:
apt-get install firewalld
ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ, ਇਸਨੂੰ ਤੁਰੰਤ ਕਮਾਂਡ ਨਾਲ ਸ਼ੁਰੂ ਅਤੇ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:
systemctl start firewalld
ਅੱਗੇ, ਤੁਹਾਨੂੰ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਸੇਵਾ ਜੋੜਨ ਦੀ ਲੋੜ ਹੈ:
systemctl enable firewalld
ਇਸ ਸਮੇਂ, ਅਸੀਂ ufw ਨੂੰ ਅਯੋਗ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਉਂਕਿ ਇਸ ਟੂਲ ਦੀ ਇੱਕੋ ਸਮੇਂ ਫਾਇਰਵਾਲਡ ਜਾਂ iptables ਨਾਲ ਵਰਤੋਂ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰੋ:
systemctl status ufw
ਇਸਨੂੰ ਰੋਕਣ ਲਈ, ਕਮਾਂਡ ਦਿਓ:
systemctl stop ufw
ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ:
ufw disable
ਇਹਨਾਂ ਕਾਰਵਾਈਆਂ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਫਾਇਰਵਾਲਡ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਅੱਗੇ ਵਧ ਸਕਦੇ ਹੋ।
ਪਹਿਲਾਂ, ਟਰੱਸਟ ਜ਼ੋਨਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਫਾਇਰਵਾਲਡ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸਾਂ ਲਈ ਟਰੱਸਟ ਦੇ ਪੱਧਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਜ਼ੋਨਾਂ ਦੀ ਧਾਰਨਾ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਹਰੇਕ ਇੰਟਰਫੇਸ ਨੂੰ ਇੱਕ ਜ਼ੋਨ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਜ਼ੋਨ ਦੇ ਅਧਾਰ ਤੇ ਫਾਇਰਵਾਲ ਨਿਯਮ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਸਾਰੇ ਉਪਲਬਧ ਜ਼ੋਨਾਂ ਦੀ ਸੂਚੀ ਇਸ ਕਮਾਂਡ ਨਾਲ ਖੋਲ੍ਹੀ ਜਾਂਦੀ ਹੈ:
firewall-cmd --get-zones
ਆਮ ਤੌਰ 'ਤੇ, 4 ਮੁੱਖ ਜ਼ੋਨ ਵਰਤੇ ਜਾਂਦੇ ਹਨ:
- ਪਬਲਿਕ: ਇਹ ਜ਼ੋਨ ਉਹਨਾਂ ਨੈੱਟਵਰਕਾਂ ਲਈ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਅਸੁਰੱਖਿਅਤ ਸਮਝਦੇ ਹੋ;
- ਪ੍ਰਾਈਵੇਟ: ਘਰੇਲੂ ਨੈੱਟਵਰਕਾਂ ਜਾਂ ਹੋਰ ਭਰੋਸੇਯੋਗ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ 'ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ;
- ਅੰਦਰੂਨੀ: ਅੰਦਰੂਨੀ ਨੈੱਟਵਰਕਾਂ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਕਿਸੇ ਸੰਗਠਨ ਜਾਂ ਕਾਰਪੋਰੇਟ ਨੈੱਟਵਰਕ ਦੇ ਅੰਦਰ;
- ਡੀਐਮਜ਼ੈਡ: ਇਹ ਜ਼ੋਨ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਆਮ ਤੌਰ 'ਤੇ ਸਰਵਰ ਰੱਖੇ ਜਾਂਦੇ ਹਨ ਜੋ ਇੰਟਰਨੈੱਟ ਤੋਂ ਪਹੁੰਚਯੋਗ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
ਹਾਲਾਂਕਿ, ਇਹ ਸਿਰਫ਼ ਇੱਕ ਉਦਾਹਰਣ ਹੈ। ਤੁਸੀਂ ਇਸ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣਾ ਜ਼ੋਨ ਜੋੜ ਸਕਦੇ ਹੋ:
firewall-cmd --permanent --new-zone=nameyourzone
ਜੋੜਨ ਤੋਂ ਬਾਅਦ, ਇੱਕ ਰੀਲੋਡ ਲੋੜੀਂਦਾ ਹੈ:
firewall-cmd --reload
ਕਿਸੇ ਜ਼ੋਨ ਨੂੰ ਮਿਟਾਉਣ ਲਈ, ਇੱਕ ਸਮਾਨ ਤਰੀਕਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ
firewall-cmd --permanent --delete-zone=nameyourzone
ਜ਼ੋਨ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਲੋੜੀਂਦੀਆਂ ਸੇਵਾਵਾਂ ਅਤੇ ਪੋਰਟਾਂ ਲਈ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦੇਣਾ ਜ਼ਰੂਰੀ ਹੈ। ਕਿਸੇ ਖਾਸ ਸੇਵਾ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ, ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ:
firewall-cmd --zone=public --add-service=name
ਕਿੱਥੇ ਨਾਮ ਇਹ ਸੇਵਾ ਦਾ ਨਾਮ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ, ਅਪਾਚੇ ਲਈ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ:
firewall-cmd --zone=public --add-service=http
ਆਗਿਆਯੋਗ ਪੋਰਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ, ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ:
firewall-cmd --zone=public --add-port=number/protocol
ਉਦਾਹਰਣ ਵਜੋਂ, SSH ਲਈ ਸਟੈਂਡਰਡ 22 ਪੋਰਟ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦੇਵੇਗਾ:
firewall-cmd --zone=public --add-port=22/tcp
ਇਸ ਪੜਾਅ 'ਤੇ, ਮੁੱਖ ਨਿਯਮ ਪਹਿਲਾਂ ਹੀ ਬਣਾਏ ਗਏ ਹਨ। ਅੱਗੇ, ਇਹ ਨਿਰਧਾਰਤ ਕਰੋ ਕਿ ਸਰੋਤ, ਮੰਜ਼ਿਲ, ਪੋਰਟ ਅਤੇ ਹੋਰ ਮਾਪਦੰਡਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਟ੍ਰੈਫਿਕ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਿਵੇਂ ਕੀਤੀ ਜਾਵੇਗੀ। ਇੱਕ ਨਿਯਮ ਜੋੜਨ ਲਈ ( ਜਨਤਕ ਉਦਾਹਰਨ ਵਜੋਂ ਜ਼ੋਨ):
firewall-cmd --zone=public rule
ਉਦਾਹਰਨ ਲਈ, ਕਿਸੇ ਵੀ ਸਰੋਤ ਤੋਂ ਪੋਰਟ 80 (HTTP) ਤੱਕ ਆਉਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ:
firewall-cmd --zone=public --add-port=80/tcp --permanent
ਨਿਯਮ ਹਟਾਉਣ ਲਈ:
firewall-cmd --permanent --remove-rule=rule_specification
ਕਿੱਥੇ ਨਿਯਮ ਨਿਯਮ ਦੀ ਕਿਸਮ ਹੈ (ਜਿਵੇਂ ਕਿ, ਪੋਰਟ, ਸੇਵਾ, ਅਮੀਰ-ਨਿਯਮ, ਆਦਿ), ਅਤੇ ਨਿਯਮ_ਨਿਰਧਾਰਨ ਇਹ ਨਿਯਮ ਦਾ ਹੀ ਵੇਰਵਾ ਹੈ।
ਫਾਇਰਵਾਲਡ ਸੰਰਚਨਾ ਵਿੱਚ ਬਦਲਾਅ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਉਹਨਾਂ ਨੂੰ ਸੇਵ ਕਰਨਾ ਅਤੇ ਲਾਗੂ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਬਦਲਾਅ ਸੇਵ ਕਰਨ ਲਈ, ਇਹ ਕਮਾਂਡ ਵਰਤੋ:
firewall-cmd --runtime-to-permanent
ਬਦਲਾਅ ਲਾਗੂ ਕਰਨ ਲਈ:
firewall-cmd --reload
ਸੈੱਟਅੱਪ ਪੂਰਾ ਕਰਨ 'ਤੇ, ਤੁਸੀਂ ਸਾਰੇ ਨਿਯਮਾਂ ਦੀ ਸੂਚੀ ਖੋਲ੍ਹ ਕੇ ਚੁਣੇ ਹੋਏ ਮਾਪਦੰਡਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦੇ ਹੋ:
firewall-cmd --list-all
ਜੇਕਰ ਕੋਈ ਸਮੱਸਿਆ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਫਾਇਰਵਾਲਡ ਲੌਗਸ ਨੂੰ ਇਸ ਕਮਾਂਡ ਨਾਲ ਚੈੱਕ ਕਰੋ:
journalctl -u firewalld
ਨੋਟ: ਅਸੀਂ ਸਿਰਫ਼ ਕਨੈਕਸ਼ਨ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਆਮ ਐਲਗੋਰਿਦਮ ਨੂੰ ਹੀ ਕਵਰ ਕੀਤਾ ਹੈ। ਇਸ ਟੂਲ ਵਿੱਚ ਵਿਆਪਕ ਕਾਰਜਸ਼ੀਲਤਾ ਹੈ। ਸਾਰੇ ਉਪਲਬਧ ਵਿਕਲਪਾਂ ਬਾਰੇ ਪੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਤੁਸੀਂ ਅਧਿਕਾਰਕ ਦਸਤਾਵੇਜ਼ ਜਾਂ ਮਦਦ ਖੋਲ੍ਹੋ:
firewall-cmd --help
ਲੀਨਕਸ ਉੱਤੇ iptables ਦੀ ਸੰਰਚਨਾ ਕਰਨਾ
ਫਾਇਰਵਾਲਲਡ ਦੇ ਉਲਟ, iptables ਫਾਇਰਵਾਲ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਲੀਨਕਸ ਵਿੱਚ ਇੱਕ ਪੁਰਾਣਾ ਪਰ ਫਿਰ ਵੀ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਟੂਲ ਹੈ। ਇਹ ਲੀਨਕਸ ਕਰਨਲ ਪੱਧਰ 'ਤੇ ਪੈਕੇਟ ਫਿਲਟਰਿੰਗ ਨਿਯਮਾਂ ਲਈ ਇੱਕ ਵਧੇਰੇ ਸਿੱਧਾ ਅਤੇ ਲਚਕਦਾਰ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, iptables ਨੂੰ ਫਾਇਰਵਾਲਲਡ ਦੇ ਮੁਕਾਬਲੇ ਵਧੇਰੇ ਉੱਨਤ ਗਿਆਨ ਅਤੇ ਅਨੁਭਵ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਇਹ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ ਘੱਟ ਪਹੁੰਚਯੋਗ ਹੁੰਦਾ ਹੈ। ਕਮਾਂਡ ਨਾਲ ਟੂਲ ਦੇ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਿਤ ਸੰਸਕਰਣ ਦੀ ਜਾਂਚ ਕਰੋ:
iptables -V
ਜੇਕਰ ਟੂਲ ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਉਬੰਟੂ, ਡੇਬੀਅਨ 'ਤੇ ਇੰਸਟਾਲੇਸ਼ਨ ਲਈ ਕਮਾਂਡ:
apt install iptables
Red Hat ਸਿਸਟਮਾਂ ਲਈ (ਜਿਵੇਂ ਕਿ, CentOS, Fedora):
yum install iptables
ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਐਕਟੀਵੇਸ਼ਨ ਲਈ ਕਮਾਂਡ:
systemctl start iptables
ਸਟਾਰਟਅੱਪ ਵਿੱਚ ਜੋੜਨ ਲਈ, ਚਲਾਓ:
systemctl enable iptables
iptables ਸੰਰਚਨਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰੋਗਰਾਮ ਦੇ ਸੰਟੈਕਸ ਦੁਆਰਾ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ:
iptables -t table action chain additional_parameters
ਆਓ ਹਰੇਕ ਵਸਤੂ ਵਿੱਚ ਡੂੰਘਾਈ ਨਾਲ ਵਿਚਾਰ ਕਰੀਏ।
ਆਈਪਟੇਬਲਜ਼ ਵਿੱਚ ਚਾਰ ਮੁੱਖ ਟੇਬਲ ਹਨ: ਫਿਲਟਰ, ਨੈਟ, ਮੈਂਗਲ, ਅਤੇ ਕੱਚਾ. ਹਰੇਕ ਨੂੰ ਕੁਝ ਖਾਸ ਕਿਸਮਾਂ ਦੇ ਪੈਕੇਟਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਇਸਦੇ ਆਪਣੇ ਨਿਯਮਾਂ ਦੀਆਂ ਲੜੀਵਾਂ ਹਨ:
- ਫਿਲਟਰ: ਇਹ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਸਾਰਣੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਪੈਕੇਟ ਫਿਲਟਰਿੰਗ ਨਿਯਮ ਹਨ। ਇਸਦੀ ਵਰਤੋਂ ਪੈਕੇਟਾਂ ਨੂੰ ਆਗਿਆ ਦੇਣ ਜਾਂ ਇਨਕਾਰ ਕਰਨ ਬਾਰੇ ਫੈਸਲੇ ਲੈਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- nat: ਇਹ ਟੇਬਲ ਪੈਕੇਟਾਂ ਵਿੱਚ ਨੈੱਟਵਰਕ ਪਤਿਆਂ ਅਤੇ ਪੋਰਟਾਂ ਨੂੰ ਸੋਧਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਅਕਸਰ ਮਾਸਕਰੇਡਿੰਗ (NAT) ਸਥਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- mangle: ਇਸ ਸਾਰਣੀ ਵਿੱਚ, ਤੁਸੀਂ ਪੈਕੇਟ ਹੈੱਡਰਾਂ ਨੂੰ ਸੋਧ ਸਕਦੇ ਹੋ। ਇਸਦੀ ਵਰਤੋਂ ਵਿਸ਼ੇਸ਼ ਪੈਕੇਟ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਮਾਰਕਿੰਗ।
- ਕੱਚਾ: ਇਹ ਟੇਬਲ ਉਹਨਾਂ ਨਿਯਮਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਕਨੈਕਸ਼ਨ ਟਰੈਕਿੰਗ ਸਿਸਟਮ ਵਿੱਚੋਂ ਲੰਘਣ ਤੋਂ ਪਹਿਲਾਂ ਲਾਗੂ ਹੁੰਦੇ ਹਨ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਨਿਯਮਾਂ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਟਰੈਕਿੰਗ ਸਿਸਟਮ ਦੁਆਰਾ ਸੋਧਿਆ ਨਹੀਂ ਜਾਣਾ ਚਾਹੀਦਾ, ਜਿਵੇਂ ਕਿ ਕੁਝ ਖਾਸ ਪਤਿਆਂ ਤੋਂ ਪੈਕੇਟ ਛੱਡਣਾ।
ਹਰੇਕ ਟੇਬਲ ਵਿੱਚ ਚੇਨਾਂ ਦਾ ਇੱਕ ਸੈੱਟ ਹੁੰਦਾ ਹੈ। ਚੇਨਾਂ ਨਿਯਮਾਂ ਦਾ ਇੱਕ ਕ੍ਰਮ ਹੁੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਕ੍ਰਮਵਾਰ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਤਿੰਨ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਚੇਨਾਂ ਹਨ:
- ਇਨਪੁਟ (ਇਨਕਮਿੰਗ). ਇਸ ਲੜੀ ਦੇ ਨਿਯਮ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਨ ਕਿ ਆਉਣ ਵਾਲੇ ਪੈਕੇਟਾਂ ਨਾਲ ਕੀ ਕਰਨਾ ਹੈ।
- ਆਉਟਪੁੱਟ (ਆਊਟਗੋਇੰਗ). ਇਹ ਲੜੀ ਉਹਨਾਂ ਸਾਰੇ ਪੈਕੇਟਾਂ 'ਤੇ ਲਾਗੂ ਹੁੰਦੀ ਹੈ ਜੋ ਤੁਹਾਡਾ ਕੰਪਿਊਟਰ ਨੈੱਟਵਰਕ 'ਤੇ ਦੂਜੇ ਡਿਵਾਈਸਾਂ ਜਾਂ ਕੰਪਿਊਟਰਾਂ ਨੂੰ ਭੇਜਦਾ ਹੈ।
- ਅੱਗੇ (ਅੱਗੇ ਭੇਜ ਰਿਹਾ ਹੈ). ਇਸ ਲੜੀ ਦੇ ਨਿਯਮ ਦੱਸਦੇ ਹਨ ਕਿ ਅੱਗੇ ਭੇਜੇ ਗਏ ਪੈਕੇਟਾਂ ਨਾਲ ਕੀ ਕਰਨਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਹਰੇਕ ਲੜੀ ਵਿੱਚ ਕੁਝ ਕਿਰਿਆ (ਨਿਸ਼ਾਨਾ) ਹੁੰਦੀ ਹੈ। ਅਭਿਆਸ ਵਿੱਚ, 5 ਮੁੱਖ ਕਿਰਿਆਵਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ:
- ਸਵੀਕਾਰ ਕਰੋ: ਪੈਕੇਟ ਨੂੰ ਫਾਇਰਵਾਲ ਵਿੱਚੋਂ ਲੰਘਣ ਦਿਓ।
- ਡ੍ਰੋਪ: ਪੈਕੇਟ ਨੂੰ ਰੱਦ ਕਰੋ ਅਤੇ ਬਿਨਾਂ ਕਿਸੇ ਜਵਾਬ ਦੇ ਇਸਨੂੰ ਰੱਦ ਕਰੋ।
- ਰੱਦ ਕਰੋ: ਪੈਕੇਟ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰੋ ਅਤੇ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਇੱਕ ICMP ਗਲਤੀ ਸੁਨੇਹਾ ਭੇਜੋ।
- LOG: ਪੈਕੇਟ ਨੂੰ ਸਿਸਟਮ ਲੌਗ ਵਿੱਚ ਲੌਗ ਕਰੋ ਅਤੇ ਕੋਈ ਹੋਰ ਕਾਰਵਾਈ ਕਰੋ (ਜਿਵੇਂ ਕਿ, ਸਵੀਕਾਰ ਕਰੋ ਜਾਂ ਛੱਡੋ)।
- ਵਾਪਸ ਆਓ: ਮੌਜੂਦਾ ਚੇਨ ਵਿੱਚ ਨਿਯਮਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਬੰਦ ਕਰੋ ਅਤੇ ਕਾਲਿੰਗ ਚੇਨ (ਜੇ ਲਾਗੂ ਹੋਵੇ) ਤੇ ਵਾਪਸ ਜਾਓ।
ਸੈੱਟਅੱਪ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਮੌਜੂਦਾ ਨਿਯਮਾਂ ਦੀ ਸੂਚੀ ਨੂੰ ਇਸ ਕਮਾਂਡ ਨਾਲ ਖੋਲ੍ਹੋ:
iptables -L
Iptables ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਇੱਕ ਗਾਈਡ ਦੇ ਤੌਰ 'ਤੇ, ਆਓ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਕਮਾਂਡਾਂ ਦੀਆਂ ਵਿਹਾਰਕ ਉਦਾਹਰਣਾਂ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੀਏ। ਸਹੂਲਤ ਲਈ, ਅਸੀਂ ਖਾਸ ਚੇਨ ਦੇ ਆਧਾਰ 'ਤੇ ਉਦਾਹਰਣਾਂ ਨੂੰ 3 ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡਾਂਗੇ।
ਚੇਨ INPUT:
- ਪੋਰਟ 80 'ਤੇ TCP ਪ੍ਰੋਟੋਕੋਲ ਰਾਹੀਂ ਆਉਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦਿਓ:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. ਪੋਰਟ 22 'ਤੇ UDP ਪ੍ਰੋਟੋਕੋਲ ਰਾਹੀਂ ਆਉਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦਿਓ:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. ਕਿਸੇ ਖਾਸ IP ਪਤੇ ਤੋਂ ਆਉਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਬਲੌਕ ਕਰੋ:
iptables -A INPUT -s 192.168.1.100 -j DROP
ਚੇਨ ਆਉਟਪੁੱਟ:
- ਪੋਰਟ 443 'ਤੇ TCP ਪ੍ਰੋਟੋਕੋਲ ਰਾਹੀਂ ਆਊਟਗੋਇੰਗ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦਿਓ:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. ਪੋਰਟ 80 'ਤੇ UDP ਪ੍ਰੋਟੋਕੋਲ ਰਾਹੀਂ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦਿਓ:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. ਕਿਸੇ ਖਾਸ ਪੋਰਟ 'ਤੇ ਜਾਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਬਲੌਕ ਕਰੋ (ਉਦਾਹਰਣ ਵਜੋਂ, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
ਚੇਨ ਅੱਗੇ:
- IP ਪਤਿਆਂ ਦੀ ਇੱਕ ਖਾਸ ਰੇਂਜ ਤੋਂ ਫਾਰਵਰਡ ਕੀਤੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਬਲੌਕ ਕਰੋ:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. ਕਿਸੇ ਖਾਸ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਤੋਂ ਪੈਕੇਟਾਂ ਦੇ ਫਾਰਵਰਡਿੰਗ ਨੂੰ ਬਲੌਕ ਕਰੋ:
iptables -A FORWARD -i eth1 -j DROP
3. ਕਿਸੇ ਖਾਸ ਪੋਰਟ ਲਈ ਇੱਕੋ ਸਮੇਂ ਕਨੈਕਸ਼ਨਾਂ ਦੀ ਗਿਣਤੀ ਸੀਮਤ ਕਰੋ (ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ, ਪੋਰਟ 10 'ਤੇ ਪ੍ਰਤੀ ਮਿੰਟ 80 ਕਨੈਕਸ਼ਨ):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ, ਹਰੇਕ ਵੱਖਰੇ ਮਾਮਲੇ ਵਿੱਚ, ਇੱਕ ਵਾਧੂ ਆਰਗੂਮੈਂਟ (ਕਮਾਂਡ) ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਸੰਭਾਵਿਤ ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਪੂਰੀ ਸੂਚੀ ਅਤੇ ਟੂਲ ਦੀ ਕਾਰਜਸ਼ੀਲਤਾ ਲਈ ਸਮੁੱਚੇ ਸਮਰਥਨ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਦਰਜ ਕਰੋ:
iptables -h
ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਸੈਟਿੰਗਾਂ ਸਹੀ ਹਨ, ਨਿਯਮਾਂ ਦੀ ਸੂਚੀ ਦੇਖਣ ਲਈ ਕਮਾਂਡ ਦੁਬਾਰਾ ਦਰਜ ਕਰੋ:
iptables -L
ਕਿਸੇ ਖਾਸ ਨਿਯਮ ਨੂੰ ਮਿਟਾਉਣ ਲਈ, ਇਹ ਕਮਾਂਡ ਵਰਤੋ:
iptables -D chain rule_number
ਉਦਾਹਰਣ ਵਜੋਂ, ਜੇਕਰ ਤੁਸੀਂ INPUT ਚੇਨ ਤੋਂ ਨਿਯਮ ਨੰਬਰ 1 ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਕਮਾਂਡ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦੇਵੇਗੀ:
iptables -D INPUT 1
ਇੱਕ ਕਮਾਂਡ ਨਾਲ ਸਾਰੇ ਨਿਯਮਾਂ ਨੂੰ ਮਿਟਾਉਣ ਲਈ:
iptables -F
ਮਹੱਤਵਪੂਰਨ ਨੋਟ: ਸਿਸਟਮ ਜਾਂ ਸੇਵਾ ਨੂੰ ਰੀਬੂਟ ਕਰਨ ਤੋਂ ਬਾਅਦ iptables ਨਿਯਮ ਆਪਣੇ ਆਪ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੁੰਦੇ। ਨਿਯਮਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ, ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਸੰਰਚਨਾ ਫਾਈਲ ਵਿੱਚ ਜੋੜਨ ਅਤੇ ਰੀਬੂਟ ਕਰਨ ਤੋਂ ਬਾਅਦ ਰੀਸਟੋਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। iptables-ਸੇਵ ਅਤੇ iptables-restore ਉਪਯੋਗਤਾਵਾਂ ਇਸ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਨਿਯਮਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ, ਕਮਾਂਡ ਦਰਜ ਕਰੋ:
iptables-save > /etc/iptables/rules.v4
ਇਹ ਮੌਜੂਦਾ iptables ਨਿਯਮਾਂ ਨੂੰ rules.v4 ਫਾਈਲ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ। ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਰੀਸਟੋਰ ਕਰਨ ਲਈ, ਦਰਜ ਕਰੋ:
iptables-restore < /etc/iptables/rules.v4
ਇਹ ਕਮਾਂਡ rules.v4 ਫਾਈਲ ਤੋਂ ਨਿਯਮਾਂ ਨੂੰ ਰੀਸਟੋਰ ਕਰਦੀ ਹੈ।
ਸਿੱਟਾ
ਲੀਨਕਸ ਉੱਤੇ ਫਾਇਰਵਾਲ ਨੂੰ ਫਾਇਰਵਾਲਲਡ ਜਾਂ ਆਈਪੀਟੇਬਲਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੌਂਫਿਗਰ ਕਰਨਾ ਸਰਵਰ ਸੁਰੱਖਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਹੈ। ਦੋਵੇਂ ਟੂਲ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਦੇ ਪ੍ਰਬੰਧਨ ਅਤੇ ਸਿਸਟਮ ਨੂੰ ਅਣਅਧਿਕਾਰਤ ਪਹੁੰਚ ਅਤੇ ਸਾਈਬਰ ਹਮਲਿਆਂ ਤੋਂ ਬਚਾਉਣ ਦੇ ਭਰੋਸੇਯੋਗ ਸਾਧਨ ਪੇਸ਼ ਕਰਦੇ ਹਨ। ਫਾਇਰਵਾਲਲਡ ਅਤੇ ਆਈਪੀਟੇਬਲਜ਼ ਵਿਚਕਾਰ ਚੋਣ ਉਪਭੋਗਤਾ ਦੀਆਂ ਖਾਸ ਜ਼ਰੂਰਤਾਂ ਅਤੇ ਤਰਜੀਹਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਉਹਨਾਂ ਦੀ ਵੱਖ-ਵੱਖ ਕਾਰਜਸ਼ੀਲਤਾ ਅਤੇ ਸ਼ਕਤੀਆਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ।