Squid SO_ORIGINAL_DST ਗਲਤੀ ਪੜ੍ਹਨਾ
Squid ਵਿੱਚ ਅਸਲ-ਮੰਜ਼ਿਲ ਖੋਜ ਦੀ ਅਸਫਲਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂਚੋ ਕਿ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸੰਰਚਿਤ ਕਲਾਇੰਟ ਇੰਟਰਸੈਪਸ਼ਨ ਸਰੋਤਾ ਤੱਕ ਪਹੁੰਚਿਆ ਹੈ ਜਾਂ ਨਹੀਂ।
NF getsockopt(SO_ORIGINAL_DST) ਅਸਲ ਮੰਜ਼ਿਲ ਦੀ ਖੋਜ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। ਇੰਟਰਸੈਪਸ਼ਨ ਸੈੱਟਅੱਪ ਵਿੱਚ, Squid ਨੂੰ ਮੁੜ-ਨਿਰਦੇਸ਼ਿਤ ਕਨੈਕਸ਼ਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਕਿੱਥੇ ਜਾ ਰਿਹਾ ਸੀ, ਇਹ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨਾ ਪੈਂਦਾ ਹੈ।
ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸੰਰਚਿਤ ਬ੍ਰਾਊਜ਼ਰ ਆਪਣੀਆਂ ਬੇਨਤੀਆਂ ਜਾਣ-ਬੁੱਝ ਕੇ ਪ੍ਰੌਕਸੀ ਨੂੰ ਭੇਜਦਾ ਹੈ। ਉਸ ਕਨੈਕਸ਼ਨ ਨੂੰ ਕੇਵਲ ਇਸ ਲਈ NAT ਇੰਟਰਸੈਪਸ਼ਨ ਦਾ ਇਤਿਹਾਸ ਨਹੀਂ ਮਿਲਦਾ ਕਿ Squid ਸਰੋਤਾ ਦੇ ਪੋਰਟ ਕੋਲ intercept ਲਿਖਿਆ ਹੈ।
ਇਸ ਲਈ ਇਹ ਅਸੰਗਤੀ ਮੰਜ਼ਿਲ ਦੇ ਸਰਟੀਫਿਕੇਟ ਦੇ ਸੰਬੰਧਿਤ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਫੇਲ੍ਹ ਹੋ ਸਕਦੀ ਹੈ।
ਕਨੈਕਸ਼ਨ ਕਿਵੇਂ ਆਇਆ, ਇਸ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ
- ਜੇਕਰ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਪ੍ਰੌਕਸੀ ਪਤਾ ਸੰਰਚਿਤ ਹੈ, ਤਾਂ ਉਹ ਆਮ ਫਾਰਵਰਡ-ਪ੍ਰੌਕਸੀ ਸਰੋਤਾ ਪਛਾਣੋ ਜੋ ਇਸਨੂੰ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਜੇਕਰ ਗੇਟਵੇ ਹੋਰਨਾਂ ਤਰੀਕਿਆਂ ਨਾਲ ਸਿੱਧਾ ਟ੍ਰੈਫਿਕ ਮੁੜ-ਨਿਰਦੇਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਜਾਂਚੋ ਕਿ ਇਹ ਇੱਛਤ ਇੰਟਰਸੈਪਸ਼ਨ ਸਰੋਤਾ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ ਅਤੇ ਸਮਰਥਿਤ NAT ਡਿਜ਼ਾਈਨ ਲੋੜੀਂਦੀ ਮੰਜ਼ਿਲ ਜਾਣਕਾਰੀ ਸੰਭਾਲਦਾ ਹੈ।
- ਜੇਕਰ ਦੋਵੇਂ ਮੋਡ ਮੌਜੂਦ ਹਨ, ਤਾਂ ਜਾਂਚੋ ਕਿ ਫੇਲ੍ਹ ਹੋ ਰਹੇ ਕਲਾਇੰਟ ਨੇ ਅਸਲ ਵਿੱਚ ਕਿਹੜੇ ਪਤੇ ਅਤੇ ਪੋਰਟ ਨਾਲ ਸੰਪਰਕ ਕੀਤਾ।
Squid ਦਾ http_port ਦਸਤਾਵੇਜ਼ ਫ਼ਰਕ ਸਪਸ਼ਟ ਕਰਦਾ ਹੈ: ਮੋਡ ਫਲੈਗ ਛੱਡਣ ਨਾਲ ਫਾਰਵਰਡ-ਪ੍ਰੌਕਸੀ ਮੋਡ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ; intercept IP ਪਰਤ 'ਤੇ NAT ਇੰਟਰਸੈਪਸ਼ਨ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ।
ਫਿਰ ਆਵਾਜਾਈ ਸੁਰੱਖਿਆ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੰਭਾਲੋ। HTTP ਪ੍ਰੌਕਸੀ CONNECT ਰਾਹੀਂ HTTPS ਲੈ ਜਾ ਸਕਦੀ ਹੈ। ਪ੍ਰੌਕਸੀ ਵੱਲ TLS ਕਨੈਕਸ਼ਨ ਲਈ ਅਨੁਕੂਲ ਸਰੋਤਾ ਅਤੇ ਕਲਾਇੰਟ ਸੰਰਚਨਾ ਲੋੜੀਂਦੀ ਹੈ। ਮੰਜ਼ਿਲ ਟ੍ਰੈਫਿਕ ਡੀਕ੍ਰਿਪਟ ਕਰਨਾ ਇੱਕ ਹੋਰ ਵਿਕਲਪਿਕ ਸਮਰੱਥਾ ਹੈ।
ਕੇਵਲ ਇਸ ਲਈ ਕਿ ਮੰਜ਼ਿਲ URL HTTPS ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਸਰਟੀਫਿਕੇਟ ਬਣਾਉਣਾ ਚਾਲੂ ਕਰਨ ਵਾਲਾ ਪੁਰਾਣਾ “HTTPS ਹੱਲ” ਨਕਲ ਨਾ ਕਰੋ। ਪਹਿਲਾਂ ਕਲਾਇੰਟ ਅਤੇ ਸਰੋਤਾ ਵਿਚਕਾਰ ਤਾਲਮੇਲ ਠੀਕ ਕਰੋ। ਇਸ ਤੋਂ ਬਾਅਦ ਜੇ ਅਸਲ TLS ਗਲਤੀ ਰਹਿ ਜਾਵੇ, ਤਾਂ ਉਹ ਜਾਂਚ ਲਈ ਵਧੇਰੇ ਲਾਭਦਾਇਕ ਗਲਤੀ ਹੋਵੇਗੀ।