ਸਿਰਫ਼ NEW ਵਾਲੇ ਫਾਇਰਵਾਲ ਨਿਯਮ ਹਰ WAN ਰਾਹ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕਰਦੇ
NEW ਕਨੈਕਸ਼ਨ ਰੱਦ ਕਰਨ ਨਾਲ ਸਥਾਪਿਤ ਪ੍ਰਵਾਹ ਅਤੇ ਜਵਾਬ ਅਛੂਤੇ ਰਹਿੰਦੇ ਹਨ। ਨੀਤੀ ਨੂੰ ਬੰਦ ਕਹਿਣ ਤੋਂ ਪਹਿਲਾਂ conntrack ਸਥਿਤੀ, ਨਿਯਮਾਂ ਦਾ ਕ੍ਰਮ ਅਤੇ ਛੋਟਾਂ ਪੜ੍ਹੋ।
WAN ਉੱਤੇ ਨਵੇਂ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਕਨੈਕਸ਼ਨ ਰੱਦ ਕਰਨਾ ਫੇਲ੍ਹ ਹੋਣ ’ਤੇ ਬੰਦ ਹੋਣ ਵਾਲੀ ਨੀਤੀ ਵਰਗਾ ਲੱਗਦਾ ਹੈ, ਪਰ ਇਹ ਦਿਖਣ ਨਾਲੋਂ ਸੰਗੂਰਾ ਵਾਅਦਾ ਹੈ। ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਪ੍ਰਵਾਹਾਂ ਦੇ ਪੈਕਟ ਇਸ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ, ਅਤੇ ਬਹੁਤ ਸਾਰੇ ਜਵਾਬ ਵੀ ਨਹੀਂ। ਇਸ ਖੋਟ ਨੂੰ ਖੁੰਝਾਉਣਾ ਸੌਖਾ ਹੈ, ਕਿਉਂਕਿ ਨਿਯਮ ਇੰਟਰਫ਼ੇਸ ਨੂੰ ਢਕਦਾ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ, ਉਸ ਉੱਤੇ ਦੀ ਇੱਕ ਕਨੈਕਸ਼ਨ ਸਥਿਤੀ ਨਹੀਂ। ਅਤੇ ਸਥਿਤੀ-ਮੇਲ ਨੂੰ ਫ਼ੈਸਲਾ ਮੰਨ ਕੇ ਪੜ੍ਹਨਾ ਹੀ ਝੂਠਾ ਬੰਦ ਹੋਣ ਦਾ ਭਾਵ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਸਥਿਤੀ ਇੱਕ ਮੇਲ ਸ਼ਰਤ ਹੈ, ਫ਼ੈਸਲਾ ਨਹੀਂ
ਕਨੈਕਸ਼ਨ ਟ੍ਰੈਕਿੰਗ ਪੈਕਟਾਂ ਨੂੰ ਇਸ ਆਧਾਰ ’ਤੇ ਵਰਗੀਕ੍ਰਿਤ ਕਰਦੀ ਹੈ ਕਿ ਫਾਇਰਵਾਲ ਪਹਿਲਾਂ ਕੀ ਦੇਖ ਚੁੱਕਾ ਹੈ, ਇਸ ਆਧਾਰ ’ਤੇ ਨਹੀਂ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੀ ਮੰਨਦਾ ਹੈ। ਦੋਨਾਂ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਦੇਖਿਆ ਗਿਆ ਪ੍ਰਵਾਹ ਸਥਾਪਿਤ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਉਸ ਦੇ ਬਾਅਦ ਦੇ ਪੈਕਟ ਸਥਾਪਿਤ ਹੀ ਰਹਿੰਦੇ ਹਨ, ਭਾਵੇਂ ਹੇਠਾਂ ਦਾ ਰਾਹ ਸੁਰੰਗ ਤੋਂ ਆਮ ਅਪਲਿੰਕ ਵਿੱਚ ਬਦਲ ਜਾਵੇ। ਆਉਂਦੇ ਕਨੈਕਸ਼ਨ ਦਾ ਜਵਾਬ ਵੀ ਸਥਾਪਿਤ ਟ੍ਰੈਫ਼ਿਕ ਹੋ ਸਕਦਾ ਹੈ। ਉਹ ਪੈਕਟ ਫਿਰ ਕਦੇ ਨਵੇਂ ਨਹੀਂ ਹੁੰਦੇ।
ਇਸ ਲਈ ਸਿਰਫ਼ ਨਵੇਂ ਕਨੈਕਸ਼ਨਾਂ ਤੱਕ ਸੀਮਤ ਨਿਯਮ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿ ਹਰ ਸੁਰੱਖਿਅਤ ਪੈਕਟ ਰੋਕਿਆ ਗਿਆ ਹੈ। ਇਹ ਬਾਕੀ ਸਥਿਤੀਆਂ ਨੂੰ ਇਸ ਉੱਤੇ ਛੱਡ ਦਿੰਦਾ ਹੈ ਕਿ ਨਿਯਮ-ਸਮੂਹ ਦਾ ਬਾਕੀ ਹਿੱਸਾ ਉਨ੍ਹਾਂ ਨਾਲ ਕੀ ਕਰਦਾ ਹੈ, ਜੋ ਜ਼ੰਜੀਰ ਵਿੱਚ ਪਹਿਲਾਂ ਰੱਖੀ ਇਜਾਜ਼ਤ ਵੀ ਹੋ ਸਕਦੀ ਹੈ।
ਨਿਯਮ ਨੂੰ ਉਸ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਪੜ੍ਹੋ
ਰੋਕ ਤੋਂ ਪਹਿਲਾਂ ਰੱਖੀ ਸਥਾਪਿਤ ਅਤੇ ਸੰਬੰਧਿਤ ਟ੍ਰੈਫ਼ਿਕ ਲਈ ਵਿਆਪਕ ਇਜਾਜ਼ਤ ਪੈਕਟ ਨੂੰ ਰੋਕ ਦੇ ਮੁਲਾਂਕਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਲੰਘਾ ਦਿੰਦੀ ਹੈ। ਪਿਛਲੇ ਨਿਯਮ ਵਿੱਚੋਂ ਸਥਿਤੀ-ਸ਼ਰਤ ਹਟਾਉਣ ਨਾਲ ਇਹ ਨਹੀਂ ਬਦਲੇਗਾ, ਕਿਉਂਕਿ ਮੁਲਾਂਕਣ ਉੱਥੇ ਕਦੇ ਨਹੀਂ ਪਹੁੰਚਦਾ। ਨਤੀਜਾ ਕ੍ਰਮ ਤੈਅ ਕਰਦਾ ਹੈ, ਅਤੇ ਕਿਹੜੇ ਪੈਕਟ ਉਸ ਕ੍ਰਮ ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ ਇਹ ਸਥਿਤੀ-ਮੇਲ ਤੈਅ ਕਰਦੀ ਹੈ।
ਤੁਹਾਡੇ ਵੱਲੋਂ ਸੋਧੀ ਫਾਇਲ ਨਹੀਂ, ਲਾਗੂ ਨਿਯਮ-ਸਮੂਹ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਦੂਜੀਆਂ ਜ਼ੰਜੀਰਾਂ ਵਿੱਚ ਛਾਲਾਂ ਅਤੇ ਪਲੇਟਫ਼ਾਰਮ ਵੱਲੋਂ ਬਣਾਇਆ ਸਭ ਕੁਝ ਸ਼ਾਮਲ ਹੈ। iptables ਨਾਲ ਸੰਭਾਲੇ ਰਾਊਟਰ ਉੱਤੇ ਜ਼ੰਜੀਰ ਦੀ ਸੂਚੀ ਨਿਯਮਾਂ ਦੀਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਦਿਖਾਉਂਦੀ ਹੈ, ਅਤੇ ਜਿਨ੍ਹਾਂ ਜ਼ੰਜੀਰਾਂ ਦਾ ਇਹ ਹਵਾਲਾ ਦਿੰਦੀ ਹੈ ਉਨ੍ਹਾਂ ਨੂੰ ਵੀ ਟਰੈਕ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਅਸਲ nftables ਸਿਸਟਮ ਨੂੰ ਆਪਣਾ ਨਿਯਮ-ਸਮੂਹ ਅਤੇ ਹੁੱਕ ਤਰਜੀਹਾਂ ਜਾਂਚਣੀਆਂ ਪੈਂਦੀਆਂ ਹਨ, ਕਿਉਂਕਿ ਫ਼ਰਮਵੇਅਰ ਬਹੁਤ ਘੱਟ ਇੱਕੋ ਜਿਹੀਆਂ ਜ਼ੰਜੀਰਾਂ ਬਣਾਉਂਦਾ ਹੈ।
ਕਾਊਂਟਰ ਦੱਸਦੇ ਹਨ ਕਿ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਨਿਯਮ ਮੇਲ ਖਾਧਾ, ਅਤੇ ਉਹ ਆਮ ਤੌਰ ’ਤੇ ਫ਼ੈਸਲੇ ਤੋਂ ਬਾਅਦ ਲਈ ਗਈ ਪੈਕਟ ਕੈਪਚਰ ਨਾਲੋਂ ਵੱਧ ਜਾਣਕਾਰੀ ਦਿੰਦੇ ਹਨ। ਸਿਫ਼ਰ ਕਾਊਂਟਰ ਵਾਲੇ ਨਿਯਮ ਤੱਕ ਪਹੁੰਚਿਆ ਨਹੀਂ ਗਿਆ, ਉਸ ਦੀ ਥਾਂ ਭਾਵੇਂ ਕੁਝ ਵੀ ਸੰਕੇਤ ਕਰੇ।
ਪਾਬੰਦੀ ਨੂੰ ਸਥਿਤੀ ਤੋਂ ਸੁਤੰਤਰ ਢੰਗ ਨਾਲ ਬਿਆਨ ਕਰੋ
ਜੇ ਕਲਾਇੰਟਾਂ ਦੇ ਸਮੂਹ ਨੂੰ ਕਦੇ ਵੀ ਸੁਰੰਗ ਤੋਂ ਬਾਹਰ ਇੰਟਰਨੈੱਟ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਣਾ ਚਾਹੀਦਾ, ਤਾਂ ਇੱਕ ਸਥਿਤੀ ਨਾਲ ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਦੀ ਬਜਾਏ ਸਿੱਧਾ ਕਹੋ। ਨਿਯਮ ਨੂੰ ਕਨੈਕਸ਼ਨ ਸਥਿਤੀ ’ਤੇ ਨਿਰਭਰ ਨਾ ਹੋ ਕੇ ਸਰੋਤ, ਨਿਕਾਸ ਅਤੇ ਮੰਜ਼ਿਲ ’ਤੇ ਚੋਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਉੱਥੇ ਬੈਠਣਾ ਚਾਹੀਦਾ ਹੈ ਜਿੱਥੇ ਪਹਿਲਾਂ ਦੀ ਕੋਈ ਇਜਾਜ਼ਤ ਇਸ ਨੂੰ ਟਾਲ ਨਾ ਸਕੇ। ਫਿਰ ਪ੍ਰਬੰਧਕੀ ਪਹੁੰਚ ਅਤੇ ਸਥਾਨਕ ਨੈੱਟਵਰਕ ਦੀਆਂ ਛੋਟਾਂ ਨੂੰ ਆਪਣੇ ਸਪੱਸ਼ਟ ਨਿਯਮ ਮਿਲਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਮਨਸ਼ਾ ਨੀਤੀ ਵਿੱਚ ਦਿਸਦੀ ਹੈ।
drop ਦੀ ਬਜਾਏ reject ਚੁਣਨ ਨਾਲ ਮੇਲ ਖਾਣ ਵਾਲਾ ਟ੍ਰੈਫ਼ਿਕ ਕਿਵੇਂ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ ਬਦਲਦਾ ਹੈ, ਅਤੇ ਇਹ ਉਨ੍ਹਾਂ ਪੈਕਟਾਂ ਦਾ ਸਮੂਹ ਨਹੀਂ ਵਧਾਉਂਦਾ ਜੋ ਨਿਯਮ ਚੁਣਦਾ ਹੈ। ਰੱਦ ਕੀਤਾ ਕਨੈਕਸ਼ਨ ਅਤੇ ਚੁੱਪ ਸਮਾਂ-ਸੀਮਾ ਇੱਕੋ ਚੋਣ ਵੱਲ ਸੰਕੇਤ ਕਰਨ ਵਾਲੇ ਵੱਖਰੇ ਲੱਛਣ ਹਨ।
WAN ਰਾਹੀਂ ਦੂਰੋਂ ਸ਼ੁਰੂ ਹੋਈ ਪਹੁੰਚ ਦੇ ਜਵਾਬਾਂ ਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਮਨਜ਼ੂਰੀ ਦੇਣ ਵਾਲੀ ਨੀਤੀ ਵਾਜਬ ਹੈ। ਇਸ ਨੂੰ ਸਿਰਫ਼ ਸੁਰੰਗ ਰਾਹੀਂ ਪੂਰਨ ਅਲੱਗਾਅ ਵਜੋਂ ਪੇਸ਼ ਕਰਨ ਦੀ ਬਜਾਏ ਉਸੇ ਤਰ੍ਹਾਂ ਬਿਆਨ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
ਜਾਂਚੋ ਕਿ ਸਮੂਹ ਵਿੱਚ ਅਸਲ ਵਿੱਚ ਕੌਣ ਹੈ
ਉਦਾਹਰਨ ਇੱਕ ਇੰਟਰਫ਼ੇਸ ਤੋਂ ਇੱਕ ਪ੍ਰੀਫ਼ਿਕਸ ਦੇ ਅੱਗੇ ਭੇਜੇ IPv4 ਟ੍ਰੈਫ਼ਿਕ ਨੂੰ ਕਵਰ ਕਰਦੀ ਹੈ। ਇਹ IPv6, ਦੂਜੇ ਅਪਲਿੰਕ, ਜਾਂ ਰਾਊਟਰ ਆਪ ਬਣਾਉਂਦੇ ਟ੍ਰੈਫ਼ਿਕ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦੀ। DNS ਹੱਲਕਰਤਾ ਵਜੋਂ ਕੰਮ ਕਰਨ ਵਾਲਾ ਰਾਊਟਰ ਆਪਣੀਆਂ ਉੱਪਰਲੀਆਂ ਪੁੱਛਗਿੱਛਾਂ ਭੇਜਦਾ ਹੈ, ਅਤੇ ਉਹ forward ਜ਼ੰਜੀਰ ਵਿੱਚੋਂ ਬਿਲਕੁਲ ਨਹੀਂ ਲੰਘਦੀਆਂ।
ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਸੁਰੱਖਿਅਤ ਕਲਾਇੰਟਾਂ ਕੋਲ ਅਜੇ ਵੀ ਚੁਣੇ ਪ੍ਰੀਫ਼ਿਕਸ ਦੇ ਅੰਦਰ ਪਤੇ ਹਨ, ਕਿਉਂਕਿ ਉਸ ਤੋਂ ਬਾਹਰ ਗਿਆ ਯੰਤਰ ਨੀਤੀ ਅਨੁਸਾਰ ਨਹੀਂ, ਸੰਜੋਗ ਨਾਲ ਸਿੱਧਾ ਹੈ। ਛੋਟਾਂ ਦੀ ਬਣਾਵਟ ਦੀ ਸਮੀਖਿਆ ਕੀਤੇ ਬਿਨਾਂ ਰੋਕ ਨੂੰ ਪੂਰੇ LAN ਤੱਕ ਵਧਾਉਣਾ ਵੀ ਤੁਹਾਡਾ ਆਪਣਾ ਪ੍ਰਬੰਧਕੀ ਰਾਹ ਹਟਾ ਦਿੰਦਾ ਹੈ।
iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED
ਫਿਰ ਪੁਰਾਣੇ ਪ੍ਰਵਾਹ ਨੂੰ ਨਵੇਂ ਦੇ ਕੋਲ ਪਰਖੋ। ਨਵੀਂ ਕਨੈਕਸ਼ਨ ਕੋਸ਼ਿਸ਼ ਅਤੇ ਪਹਿਲਾਂ ਹੀ ਸਰਗਰਮ ਦੁਇ-ਦਿਸ਼ਾਈ ਤਬਾਦਲਾ ਇਸ ਨਿਯਮ ਹੇਠ ਵੱਖਰਾ ਵਿਵਹਾਰ ਕਰਦੇ ਹਨ, ਅਤੇ ਦੋਵੇਂ ਪਰਖਣ ਨਾਲ ਹੀ ਪਤਾ ਲੱਗਦਾ ਹੈ ਕਿ ਅਸਲ ਵਿੱਚ ਕਿਹੜੀ ਨੀਤੀ ਹੈ।