UDP VPN ਪੋਰਟ ਸਕੈਨ 'ਤੇ ਚੁੱਪ? ਇਹ ਕਿਉਂ ਹੁੰਦਾ ਹੈ
WireGuard ਅਤੇ ਸਖ਼ਤ OpenVPN ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ ਅਸਫਲ ਡੇਟਾਗ੍ਰਾਮਾਂ ਨੂੰ ਜਵਾਬ ਦਿੱਤੇ ਬਿਨਾਂ ਛੱਡ ਦਿੰਦੇ ਹਨ। ਸਕੈਨਰ ਵੱਲੋਂ ਚੁੱਪੀ ਉਮੀਦ ਕੀਤੀ ਗਈ ਵਿਵਹਾਰ ਹੈ, ਬੰਦ ਪੋਰਟ ਨਹੀਂ।
ਤੁਸੀਂ VPN ਪੋਰਟ ਸਕੈਨ ਕਰਦੇ ਹੋ, ਕੋਈ ਜਵਾਬ ਨਹੀਂ ਮਿਲਦਾ ਅਤੇ ਸਿੱਟਾ ਕੱਢਦੇ ਹੋ ਕਿ ਸੇਵਾ ਬੰਦ ਹੈ ਜਾਂ ਫਾਇਰਵਾਲ ਬੰਦ ਹੈ। WireGuard ਵਿੱਚ ਅਤੇ ਆਪਣੀ ਪ੍ਰਮਾਣਿਕਤਾ ਲੈ ਕੇ ਚੱਲਣ ਵਾਲੇ OpenVPN ਕੰਟਰੋਲ ਚੈਨਲਾਂ ਵਿੱਚ ਇਹ ਸਿੱਟਾ ਲਾਗੂ ਨਹੀਂ ਹੁੰਦਾ। ਵੈਧ ਪ੍ਰਮਾਣਿਕਤਾ ਸਮੱਗਰੀ ਤੋਂ ਬਿਨਾਂ ਡੇਟਾਗ੍ਰਾਮ ਕੋਈ ਜਵਾਬ ਦਿੱਤੇ ਬਿਨਾਂ ਸੁੱਟ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਬਾਹਰੋਂ ਸਿਹਤਮੰਦ ਸੇਵਾ ਇਸੇ ਤਰ੍ਹਾਂ ਚੁੱਪ ਦਿਖਦੀ ਹੈ। ਟਨਲ ਦੇ ਗਲਤ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਜਾਂਚ ਗਲਤ ਹੈ।
ਚੁੱਪੀ ਹੀ ਪ੍ਰੋਟੋਕੋਲ ਹੈ, ਖਰਾਬੀ ਨਹੀਂ
UDP ਵਿੱਚ ਕਨੈਕਸ਼ਨ ਸਥਾਪਨਾ ਨਹੀਂ ਹੁੰਦੀ, ਇਸ ਲਈ ਨਾ ਕੋਈ SYN ਹੈ ਅਤੇ ਨਾ ਹੀ ਕੋਈ ਪੁਸ਼ਟੀ, ਜੋ ਸਕੈਨਰ ਨੂੰ ਖੁੱਲ੍ਹਾ ਪੋਰਟ ਅਤੇ ਫਿਲਟਰ ਕੀਤਾ ਪੋਰਟ ਵੱਖਰਾ ਕਰਨ ਦੇਵੇ। ਜਾਂਚ ਇੱਕ ਵੱਖਰੇ ਡੇਟਾਗ੍ਰਾਮ ਵਜੋਂ ਆਉਂਦੀ ਹੈ ਅਤੇ ਸੇਵਾ ਜਾਂਚਦੀ ਹੈ ਕਿ ਇਹ ਉਸ ਪ੍ਰੋਟੋਕੋਲ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ ਜਿਸਦੀ ਉਹ ਉਮੀਦ ਕਰਦੀ ਹੈ। ਮੇਲ ਨਾ ਖਾਣ 'ਤੇ ਪੈਕਟ ਸੁੱਟ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਸੁੱਟਣਾ ਦਸਤਾਵੇਜ਼ੀ ਵਿਵਹਾਰ ਹੈ, ਖਰਾਬੀ ਨਹੀਂ।
WireGuard ਆਪਣੇ ਹੈਂਡਸ਼ੇਕ ਸੁਨੇਹਿਆਂ ਦੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਅਤੇ ਅਸਫਲ ਹੋਣ ਵਾਲੀ ਹਰ ਚੀਜ਼ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦਾ ਹੈ। OpenVPN tls-auth ਜਾਂ tls-crypt ਨਾਲ ਆਪਣੇ ਕੰਟਰੋਲ ਚੈਨਲ ਲਈ ਵੀ ਇਹੀ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਹਾਲਤਾਂ ਵਿੱਚ ਕੋਈ ਵੀ ਮਨਮਾਨੀ ਪੇਲੋਡ ਕਦੇ ਵੀ ਵਰਤੋਂਕਾਰ ਵੱਲ ਦੇ ਪੜਾਅ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦਾ, ਇਸ ਲਈ ਜਵਾਬ ਦੇਣ ਲਈ ਕੁਝ ਨਹੀਂ ਅਤੇ ਵਾਪਸ ਕਰਨ ਲਈ ਕੋਈ ਗਲਤੀ ਨਹੀਂ।
TCP ਹੁੰਦਾ ਤਾਂ ਬੰਦ ਪੋਰਟ ਤੋਂ ਤੁਹਾਨੂੰ ਰੀਸੈਟ ਮਿਲਦਾ। UDP ਤੁਹਾਨੂੰ ਅਸਪਸ਼ਟਤਾ ਵਿੱਚ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਸਕੈਨਰ ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਦੀ ਥਾਂ ਖੁੱਲ੍ਹਾ ਜਾਂ ਫਿਲਟਰ ਕੀਤਾ ਛਾਪ ਕੇ ਹੱਲ ਕਰਦੇ ਹਨ।
ਸਕੈਨਰ ਕੀ ਸਿੱਟਾ ਕੱਢ ਸਕਦਾ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ
ਸਕੈਨ ਦਾ ਨਤੀਜਾ ਓਨਾ ਹੀ ਜਾਣਕਾਰੀਪੂਰਨ ਹੁੰਦਾ ਹੈ ਜਿੰਨਾ ਉਸ ਨੇ ਭੇਜਿਆ ਪੇਲੋਡ। ਸੰਭਾਵੀ ਨਿਰੀਖਣਾਂ ਨੂੰ ਇਸ ਗੱਲ ਅਨੁਸਾਰ ਲਗਾਓ ਕਿ ਹਰ ਇੱਕ ਅਸਲ ਵਿੱਚ ਕਿਸ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ:
| Probe | Observed result | What it supports |
|---|---|---|
| Empty datagram | No reply | Nothing beyond the fact that UDP was used |
| Random payload | No reply | Consistent with an authenticated service |
| Valid handshake from a real client | A protocol reply | The service is alive and reachable |
| ICMP port unreachable | Unreachable message | The host answered, usually because nothing listens |
ਸੂਚੀ ਵਿੱਚ ਇੱਕੋ-ਇੱਕ ਸਕਾਰਾਤਮਕ ਜਾਂਚ ਵਜੋਂ ਤੀਜੀ ਕਤਾਰ ਪੜ੍ਹੋ। ਇਸ ਲਈ ਅਸਲ ਪ੍ਰੋਫਾਈਲ, ਅਸਲ ਕੁੰਜੀ ਅਤੇ ਸਹੀ ਐਂਡਪੌਇੰਟ ਲੋੜੀਂਦਾ ਹੈ, ਅਤੇ ਆਮ ਸਕੈਨਰ ਕੋਲ ਠੀਕ ਇਹੀ ਨਹੀਂ ਹੁੰਦਾ।
ਰਾਹ ਦੇ ਦੋਵੇਂ ਸਿਰਿਆਂ ਵੱਲ ਦੇਖੋ
ਤੁਸੀਂ ਜਿਸ ਸਰਵਰ ਦਾ ਪ੍ਰਬੰਧ ਕਰਦੇ ਹੋ, ਉਸ ਲਈ ਕੋਈ ਵੀ ਸਿੱਟਾ ਕੱਢਣ ਤੋਂ ਪਹਿਲਾਂ ਇੰਟਰਫੇਸ 'ਤੇ ਕੈਪਚਰ ਕਰੋ, ਫਿਰ ਸੇਵਾ ਨੂੰ ਪੁੱਛੋ ਕਿ ਉਸ ਨੇ ਕੀ ਦੇਖਿਆ। ਦੋਵੇਂ ਕਮਾਂਡਾਂ ਲਈ ਗੇਟਵੇ 'ਤੇ root ਲੋੜੀਂਦਾ ਹੈ:
tcpdump -ni any udp port 51820
tcpdump -ni any udp port 1194
wg show
ਜੇ ਇੰਟਰਫੇਸ 'ਤੇ ਕੋਈ ਪੈਕਟ ਨਹੀਂ ਦਿਸਦਾ, ਤਾਂ ਸੇਵਾ ਦੇ ਕੁਝ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਰਾਹ ਨੇ ਉਹ ਸੁੱਟ ਦਿੱਤਾ, ਅਤੇ ਅਗਲਾ ਪੜਾਅ ਰਾਊਟਿੰਗ ਅਤੇ ਫਿਲਟਰਿੰਗ ਹੈ। ਜੇ ਪੈਕਟ ਆਉਂਦੇ ਹਨ ਪਰ ਕੋਈ ਹੈਂਡਸ਼ੇਕ ਪੂਰਾ ਨਹੀਂ ਹੁੰਦਾ, ਤਾਂ ਸੇਵਾ ਪਹੁੰਚਯੋਗ ਹੈ ਅਤੇ ਅੰਤਰ ਕੁੰਜੀਆਂ, ਐਂਡਪੌਇੰਟ ਸੰਰਚਨਾ ਜਾਂ ਪ੍ਰੋਟੋਕੋਲ ਸੰਸਕਰਣ ਵਿੱਚ ਹੈ। ਉਹੀ ਤੁਲਨਾ ਉਸ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ ਜੋ ਸਕੈਨਰ ਨਹੀਂ ਦੇ ਸਕਿਆ। ਇਸ ਨੂੰ ਤਦ ਚਲਾਓ ਜਦੋਂ ਅਸਲ ਕਲਾਇੰਟ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੋਵੇ, ਤਦ ਨਹੀਂ ਜਦੋਂ ਸਕੈਨਰ ਆਪਣੇ ਆਪ ਨੂੰ ਦੁਹਰਾ ਰਿਹਾ ਹੋਵੇ।
ਜਾਂਚ ਬਦਲੋ, ਸੁਰੱਖਿਆ ਨਹੀਂ
ਲੁਭਾਉਣ ਵਾਲਾ ਛੋਟਾ ਰਾਹ ਇਹ ਹੈ ਕਿ ਨਿਦਾਨ ਨੂੰ ਜਵਾਬ ਮਿਲੇ ਇਸ ਲਈ ਕੰਟਰੋਲ ਚੈਨਲ ਦੀ ਸੁਰੱਖਿਆ ਬੰਦ ਕਰ ਦਿਓ। ਇਹ ਅਸਲ ਸੁਰੱਖਿਆ ਗੁਣ ਦੀ ਅਦਲਾ-ਬਦਲੀ ਵਧੇਰੇ ਸੋਹਣੇ ਸਕੈਨ ਨਤੀਜੇ ਨਾਲ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਹ ਗਲਤ ਦਿਸ਼ਾ ਹੈ। ਇਸ ਦੀ ਥਾਂ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਨੈੱਟਵਰਕ ਤੋਂ ਵੈਧ ਪ੍ਰੋਫਾਈਲ ਵਰਤੋ ਅਤੇ ਤੁਲਨਾ ਦੁਹਰਾਉਣਯੋਗ ਰਹੇ ਇਸ ਲਈ ਐਂਡਪੌਇੰਟ ਅਤੇ ਸਮਾਂ ਨੋਟ ਕਰੋ।
ਸਭ ਤੋਂ ਲਾਹੇਵੰਦ ਜਾਂਚ ਵਿਭੇਦਕ ਹੈ: ਉਹੀ ਪ੍ਰੋਫਾਈਲ ਇੱਕ ਕੰਮ ਕਰਨ ਵਾਲੇ ਰਾਹ 'ਤੇ ਅਤੇ ਜੋ ਰਾਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਉਸ 'ਤੇ। ਜੇ ਕੰਮ ਕਰਨ ਵਾਲਾ ਰਾਹ ਹੈਂਡਸ਼ੇਕ ਪੈਦਾ ਕਰਦਾ ਹੈ ਅਤੇ ਅਸਫਲ ਰਾਹ ਇੰਟਰਫੇਸ 'ਤੇ ਕੁਝ ਵੀ ਪੈਦਾ ਨਹੀਂ ਕਰਦਾ, ਤਾਂ ਤੁਸੀਂ ਕੁਝ ਵੀ ਕਮਜ਼ੋਰ ਕੀਤੇ ਬਿਨਾਂ ਟੁੱਟਣ ਦੀ ਥਾਂ ਲੱਭ ਲਈ ਹੈ।
ਇਸ ਲਈ ਬਿਨਾਂ ਜਵਾਬ ਵਾਲਾ UDP ਪੈਕਟ ਨਾ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਔਫਲਾਈਨ ਹੈ ਅਤੇ ਨਾ ਇਹ ਕਿ ਇਹ ਸੁਰੱਖਿਅਤ ਹੈ। ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਜਾਂਚ, ਇਸ ਰਾਹ 'ਤੇ, ਇਸ ਪਲ, ਸਵੀਕਾਰ ਨਹੀਂ ਕੀਤੀ ਗਈ।