ਉਬੰਟੂ ਸਰਵਰ ਤੇ ਫਾਇਰਵਾਲ ਕਿਵੇਂ ਸੈਟ ਅਪ ਕਰੀਏ
ਪ੍ਰਕਾਸ਼ਿਤ: 19 ਮਾਰਚ 2025 9:29:20 ਬਾ.ਦੁ. UTC
ਆਖਰੀ ਵਾਰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ: 19 ਮਾਰਚ 2025 10:07:40 ਬਾ.ਦੁ. UTC
ਇਹ ਲੇਖ GNU/Linux 'ਤੇ ufw ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫਾਇਰਵਾਲ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ, ਇਸ ਬਾਰੇ ਕੁਝ ਉਦਾਹਰਣਾਂ ਦਿੰਦਾ ਹੈ ਅਤੇ ਦੱਸਦਾ ਹੈ, ਜੋ ਕਿ Uncomplicated FireWall ਲਈ ਛੋਟਾ ਹੈ - ਅਤੇ ਨਾਮ ਢੁਕਵਾਂ ਹੈ, ਇਹ ਅਸਲ ਵਿੱਚ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦਾ ਇੱਕ ਬਹੁਤ ਹੀ ਆਸਾਨ ਤਰੀਕਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਲੋੜ ਤੋਂ ਵੱਧ ਪੋਰਟ ਖੁੱਲ੍ਹੇ ਨਾ ਹੋਣ।
How to Set Up a Firewall on Ubuntu Server
ਇਸ ਪੋਸਟ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣਕਾਰੀ Ubuntu Server 14.04 x64 'ਤੇ ਆਧਾਰਿਤ ਹੈ। ਇਹ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਦੂਜੇ ਵਰਜਨਾਂ ਲਈ ਸਹੀ ਨਾ ਹੋਵੇ। (ਅਪਡੇਟ: ਮੈਂ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦਾ ਹਾਂ ਕਿ ਇਸ ਪੋਸਟ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣਕਾਰੀ Ubuntu Server 24.04 ਤੱਕ ਸਹੀ ਅਤੇ ਫੰਕਸ਼ਨਲ ਹੈ, ਹਾਲਾਂਕਿ 10 ਸਾਲਾਂ ਵਿੱਚ, ufw ਕੁਝ "ਸਮਾਰਟ" ਹੋ ਗਿਆ ਹੈ, ਜਿਸ ਵਿੱਚ ਆਮ ਸਰਵਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਪ੍ਰੋਫਾਈਲ ਹਨ (ਉਦਾਹਰਨ ਵਜੋਂ, ਤੁਸੀਂ ਪੋਰਟ 80 ਅਤੇ 443 ਨੂੰ ਅਲੱਗ-ਅਲੱਗ ਕਰਨ ਦੀ ਬਜਾਇ "Nginx full" ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ) ਅਤੇ ਫਾਇਰਵਾਲ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬੰਦ/ਚਾਲੂ ਕਰਕੇ ਨਵੇਂ ਨਿਯਮ ਲਾਗੂ ਕਰਨ ਦੀ ਲੋੜ ਹੁਣ ਨਹੀਂ ਹੈ)
ਜਦੋਂ ਮੈਂ ਪਹਿਲੀ ਵਾਰ GNU/Linux (Ubuntu) ਸਰਵਰਸ ਨਾਲ ਸ਼ੁਰੂ ਕੀਤਾ ਸੀ, ਤਾਂ ਫਾਇਰਵਾਲ ਸੈਟਅਪ ਕਰਨ ਵਿੱਚ iptables ਲਈ ਇੱਕ ਸੰਭਵ ਤੌਰ 'ਤੇ ਜਟਿਲ ਸੰਰਚਨਾ ਫਾਇਲ ਨੂੰ ਹੱਥੋਂ ਬਣਾਉਣ ਅਤੇ ਸੰਭਾਲਣ ਦੀ ਲੋੜ ਸੀ। ਹਾਲਾਂਕਿ, ਮੈਨੂੰ ਹਾਲ ਹੀ ਵਿੱਚ ufw ਬਾਰੇ ਪਤਾ ਚਲਿਆ ਹੈ, ਜੋ ਕਿ Uncomplicated Firewall ਦਾ ਸੰਕੁਚਿਤ ਰੂਪ ਹੈ – ਅਤੇ ਇਹ ਸੱਚਮੁੱਚ ਸੌਖਾ ਹੈ :-)
ਮੇਰੇ Ubuntu Server 14.04 ਦੀ ਇੰਸਟਾਲੇਸ਼ਨ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ufw ਇੰਸਟਾਲ ਹੋਇਆ ਸੀ, ਪਰ ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਨਹੀਂ ਹੈ, ਤਾਂ ਸਿੱਧਾ ਰਿਪੋਜ਼ਟਰੀਜ਼ ਤੋਂ ਇਸਨੂੰ ਇੰਸਟਾਲ ਕਰੋ:
UFW ਅਸਲ ਵਿੱਚ ਇੱਕ ਔਜ਼ਾਰ ਹੈ ਜੋ iptables ਸੰਰਚਨਾ ਨੂੰ ਸੌਖਾ ਬਣਾਉਂਦਾ ਹੈ – ਪਿੱਛੇ ਤੋਂ, ਇਹ ਅਜੇ ਵੀ iptables ਅਤੇ ਲਿਨੁਕਸ ਕੇਰਨਲ ਫਾਇਰਵਾਲ ਹੈ ਜੋ ਫਿਲਟਰਿੰਗ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ufw ਨਾ ਤਾਂ ਕਮਜ਼ੋਰ ਹੈ ਅਤੇ ਨਾ ਹੀ ਇਹ ਜਿਆਦਾ ਸੁਰੱਖਿਅਤ ਹੈ। ਹਾਲਾਂਕਿ, ਕਿਉਂਕਿ ufw ਫਾਇਰਵਾਲ ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਸੰਰਚਿਤ ਕਰਨਾ ਬਹੁਤ ਅਸਾਨ ਬਣਾਉਂਦਾ ਹੈ, ਇਸ ਨਾਲ ਮਨੁੱਖੀ ਗਲਤੀਆਂ ਦਾ ਖ਼ਤਰਾ ਘਟ ਸਕਦਾ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹ ਨਾ ਸਿਰਫ਼ ਬਿਨਾਂ ਤਜ਼ੁਰਬੇ ਵਾਲੇ ਐਡਮਿਨ ਲਈ ਜਿਆਦਾ ਸੁਰੱਖਿਅਤ ਹੋ ਸਕਦਾ ਹੈ।
ਜੇਕਰ ਤੁਹਾਡਾ ਸਰਵਰ IPv6 ਅਤੇ IPv4 ਦੋਹਾਂ ਨਾਲ ਸੰਰਚਿਤ ਹੈ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ UFW ਲਈ ਇਹ ਚਾਲੂ ਹੈ। ਫਾਇਲ /etc/default/ufw ਨੂੰ ਸੰਪਾਦਿਤ ਕਰੋ ਅਤੇ ਇਸ ਲਾਈਨ ਨੂੰ ਖੋਜੋ ਜਿਸ ਵਿੱਚ IPV6=yes ਲਿਖਿਆ ਹੋਵੇ। ਮੇਰੀ ਇੰਸਟਾਲੇਸ਼ਨ ਵਿੱਚ ਇਹ ਪਹਿਲਾਂ ਹੀ ਸੀ, ਪਰ ਜੇਕਰ ਇਹ ਨਹੀਂ ਹੈ ਜਾਂ ਜੇ ਇਹ "ਨਹੀਂ" ਕਹਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਸੰਪਾਦਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
ਫਿਰ ਸਿਰਫ਼ ਕਮਾਂਡ ਪ੍ਰਾਂਪਟ ਨੂੰ ਵਰਤ ਕੇ ਉਹ ਪੋਰਟ ਖੋਲ੍ਹੋ ਜੋ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ssh ਰਾਹੀਂ ਆਪਣੇ ਸਰਵਰ ਨਾਲ ਜੁੜੇ ਹੋ, ਤਾਂ ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਇਸਨੂੰ ਵੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹੋ ਨਹੀਂ ਤਾਂ ਇਹ ਤੁਹਾਡੀ ਕਨੈਕਸ਼ਨ ਨੂੰ ਰੁਕਵਾ ਸਕਦਾ ਹੈ ਅਤੇ ਸੰਭਵਤ: ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਐਕਟੀਵੇਟ ਕਰੋਗੇ ਤਾਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਸਰਵਰ ਤੋਂ ਬਾਹਰ ਕੱਡ ਸਕਦਾ ਹੈ – ਇਹ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰੇਗਾ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਸਰਵਰ ਤੱਕ ਸਰੀਰਕ ਪਹੁੰਚ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਹ ਕੁਝ ਅਸੁਵਿਧਾਜਨਕ ਹੋ ਸਕਦਾ ਹੈ ;-)
ਉਦਾਹਰਨ ਵਜੋਂ, ਜੇਕਰ ਤੁਸੀਂ ssh ਨੂੰ ਮਿਆਰੀ ਪੋਰਟ 22 'ਤੇ ਵਰਤਦੇ ਹੋ ਅਤੇ ਤੁਸੀਂ ਇੱਕ ਵੈੱਬ ਸਰਵਰ ਸੰਰਚਿਤ ਕਰ ਰਹੇ ਹੋ ਜੋ ਨਾ ਸਿਰਫ਼ ਐਨਕ੍ਰਿਪਟ ਕੀਤੇ ਨਹੀਂ (HTTP ਪੋਰਟ 80 'ਤੇ) ਅਤੇ ਐਨਕ੍ਰਿਪਟ ਕੀਤੇ (HTTPS ਪੋਰਟ 443 'ਤੇ) ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ufw ਸੰਰਚਿਤ ਕਰਨ ਲਈ ਹੇਠ ਲਿਖੀਆਂ ਕਮਾਂਡਾਂ ਜਾਰੀ ਕਰੋਗੇ:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
ਜੇਕਰ ਤੁਹਾਨੂੰ ਹੋਰ ਨਿਯਮਾਂ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਉਪਰੋਕਤ ਤਰੀਕੇ ਨਾਲ ਸਿਰਫ਼ ਸ਼ਾਮਲ ਕਰੋ।
ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਸਟੈਟਿਕ IP ਪਤਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਸਿਰਫ਼ ਇਕੱਲੇ ਥਾਂ ਤੋਂ ssh ਰਾਹੀਂ ਕਨੈਕਟ ਹੋਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ssh ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਇੱਕ ਹੀ ਮੂਲ ਪਤੇ ਤੱਕ ਸੀਮਤ ਕਰ ਸਕਦੇ ਹੋ:
ਜ਼ਰੂਰ, ਆਪਣਾ ਖੁਦ ਦਾ IP ਪਤਾ ਦਰਜ ਕਰੋ।
ਜਦੋਂ ਖਤਮ ਹੋ ਜਾਏ, ufw ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੇਠ ਲਿਖੋ:
ਅਤੇ ਤੁਸੀਂ ਖਤਮ! ਫਾਇਰਵਾਲ ਚੱਲ ਰਿਹਾ ਹੈ ਅਤੇ ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਸਰਵਰ ਨੂੰ ਰੀਬੂਟ ਕਰੋਂਗੇ ਤਾਂ ਇਹ ਆਟੋਮੈਟਿਕਲੀ ਸ਼ੁਰੂ ਹੋ ਜਾਏਗਾ :-)
ਜੇਕਰ ਤੁਸੀਂ ufw ਸੰਰਚਨਾ ਵਿੱਚ ਕੋਈ ਬਦਲਾਅ ਕਰਦੇ ਹੋ, ਤਾਂ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਬੰਦ ਕਰਕੇ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰਨਾ ਪਵੇ ਤਾਂ ਜੋ ਇਹ ਪ੍ਰਭਾਵੀ ਹੋ ਜਾਵੇ, ਇਨ੍ਹਾਂ ਤਰੀਕਿਆਂ ਨਾਲ:
sudo ufw enable
ਮੌਜੂਦਾ ਸੰਰਚਨਾ ਨੂੰ ਦੇਖਣ ਲਈ, ਸਿਰਫ਼ ਹੇਠ ਲਿਖੋ:
ਜੇਕਰ ufw ਚਾਲੂ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਹ ਸਿਰਫ਼ "inactive" ਸੁਨੇਹਾ ਦਿਖਾਏਗਾ, ਨਹੀਂ ਤਾਂ ਇਹ ਮੌਜੂਦਾ ਨਿਯਮਾਂ ਦੀ ਸੂਚੀ ਦਰਜ ਕਰੇਗਾ।
```