HTTPS Basic ਪ੍ਰਮਾਣਿਕਤਾ ਬਨਾਮ IPsec: ਹਰ ਇੱਕ ਕੀ ਬਚਾਉਂਦਾ ਹੈ
ਇੱਕ ਬੇਨਤੀ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਤੋਂ ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਲੈ ਕੇ ਚੱਲੋ: TLS ਹਿੱਸਾ, 401, ਅਤੇ ਟਨਲ ਵੱਖਰੇ ਰਿਸ਼ਤੇ ਬਚਾਉਂਦੇ ਹਨ ਅਤੇ ਵੱਖਰੇ ਸਬੂਤਾਂ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦੇ ਹਨ।
ਡਿਵੈਲਪਰ ਟੂਲ ਖੋਲ੍ਹੋ, ਅੰਦਰੂਨੀ ਐਪ ਲੋਡ ਕਰੋ, ਅਤੇ ਦੇਖੋ ਕਿ ਸਫ਼ਾ ਰੈਂਡਰ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਬੇਨਤੀ ਚਾਰ ਚੈੱਕਪਾਇੰਟਾਂ ਵਿੱਚੋਂ ਲੰਘਦੀ ਹੈ। ਪਹਿਲਾਂ ਨਾਮ ਹੱਲ ਹੁੰਦਾ ਹੈ, ਫਿਰ TCP ਕਨੈਕਸ਼ਨ ਖੁੱਲ੍ਹਦਾ ਹੈ, ਫਿਰ TLS ਹੈਂਡਸ਼ੇਕ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਕੌਣ ਹੈ, ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ ਹੀ ਐਪਲੀਕੇਸ਼ਨ ਪੁੱਛਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੌਣ ਹੋ। ਇਹਨਾਂ ਨੂੰ ਵੱਖਰੀਆਂ ਘਟਨਾਵਾਂ ਵਜੋਂ ਲਓ, ਕਿਉਂਕਿ ਹਰ ਇੱਕ ਵੱਖਰੇ ਸਬੂਤ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ ਅਤੇ ਹਰ ਇੱਕ ਦੀ ਮਾਲਕੀ ਵੱਖਰੀ ਟੀਮ ਕੋਲ ਹੈ। ਘਟਨਾਵਾਂ ਵਿੱਚ ਸਭ ਤੋਂ ਵੱਧ ਉਲਝਣ ਇਸ ਗੱਲ ਤੋਂ ਆਉਂਦੀ ਹੈ ਕਿ 401 ਨੂੰ ਟਨਲ ਦੀ ਸਮੱਸਿਆ ਸਮਝਿਆ ਜਾਵੇ, ਜਾਂ ਟਨਲ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਗਲਤ ਪਾਸਵਰਡ ਸਮਝਿਆ ਜਾਵੇ।
ਚੈੱਕਪਾਇੰਟ ਇੱਕ: ਕੀ ਇਹ ਉਹੀ ਸਰਵਰ ਹੈ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਗੱਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਸੀ
TLS ਹੈਂਡਸ਼ੇਕ ਕੋਈ ਵੀ ਕ੍ਰੈਡੈਂਸ਼ਲ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਡਾ ਕਲਾਇੰਟ ਟਰੱਸਟ ਸਟੋਰ ਦੇ ਆਧਾਰ ਤੇ ਸਰਟੀਫਿਕੇਟ ਚੇਨ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਸਰਟੀਫਿਕੇਟ ਵਿੱਚ ਦਿੱਤਾ ਨਾਮ ਉਸ ਹੋਸਟ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਟਾਈਪ ਕੀਤਾ। ਜੇ ਇਹ ਫੇਲ੍ਹ ਹੋਵੇ, ਤਾਂ ਬ੍ਰਾਊਜ਼ਰ ਸਰਟੀਫਿਕੇਟ ਗਲਤੀ ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ Authorization ਹੈਡਰ ਬਿਲਕੁਲ ਨਹੀਂ ਭੇਜਦਾ। ਇਸ ਲਈ ਪਾਸਵਰਡ ਦੀ ਮੰਗ ਇਸ ਗੱਲ ਦਾ ਸਬੂਤ ਨਹੀਂ ਹੈ ਕਿ ਸਰਵਰ ਅਸਲੀ ਹੈ; ਇਹ ਸਬੂਤ ਹੈ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਜਵਾਬ ਦਿੱਤਾ।
ਇੱਥੇ ਪਹਿਲੀ ਹੱਦ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ। TLS ਕਨੈਕਸ਼ਨ ਨੂੰ ਉਸ ਦੇ ਖ਼ਤਮ ਹੋਣ ਵਾਲੇ ਬਿੰਦੂ ਤੱਕ ਬਚਾਉਂਦਾ ਹੈ। ਜੇ ਲੋਡ ਬੈਲੰਸਰ TLS ਖ਼ਤਮ ਕਰਦਾ ਹੈ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸਾਧਾਰਨ HTTP ਭੇਜਦਾ ਹੈ, ਤਾਂ ਐਨਕ੍ਰਿਪਟਿਡ ਹਿੱਸਾ ਬੈਲੰਸਰ ਤੇ ਹੀ ਖ਼ਤਮ ਹੋ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਕ੍ਰੈਡੈਂਸ਼ਲ ਸਿਰਫ਼ ਪਹਿਲੇ ਹਿੱਸੇ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦੇ ਹਨ।
ਚੈੱਕਪਾਇੰਟ ਦੋ: 401 ਦੇ ਲੈਣ-ਦੇਣ ਵਿੱਚ ਅਸਲ ਵਿੱਚ ਕੀ ਜਾਂਦਾ ਹੈ
HTTP Basic ਪ੍ਰਮਾਣਿਕਤਾ ਵਰਤੋਂਕਾਰ ਪਛਾਣ ਅਤੇ ਪਾਸਵਰਡ ਨੂੰ ਹੈਡਰ ਵਿੱਚ ਭੇਜਦੀ ਹੈ, ਜੋ RFC 7617 ਵਿੱਚ ਦੱਸੇ ਅਨੁਸਾਰ Base64 ਨਾਲ ਐਨਕੋਡ ਹੁੰਦਾ ਹੈ। Authorization: Basic dXNlcjpwYXNz ਇਸ ਦਾ ਰੂਪ ਹੈ; ਐਨਕੋਡਿੰਗ ਨੂੰ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਉਲਟਾ ਸਕਦਾ ਹੈ ਜੋ ਬੇਨਤੀ ਪੜ੍ਹ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਸਾਰੀ ਗੁਪਤਤਾ ਹੇਠਲੇ ਟ੍ਰਾਂਸਪੋਰਟ ਤੋਂ ਆਉਂਦੀ ਹੈ। curl -v ਦੋਵੇਂ WWW-Authenticate: Basic ਚੁਣੌਤੀ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਭੇਜਿਆ ਹੈਡਰ ਦਿਖਾਉਂਦਾ ਹੈ।
ਉਹ ਹੈਡਰ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਕੌਣ ਪੁੱਛ ਰਿਹਾ ਹੈ। ਇਹ ਨੈੱਟਵਰਕ ਨੂੰ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਕੌਣ ਕਨੈਕਟ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਹ ਆਪਣੇ ਆਪ ਕੁਝ ਵੀ ਐਨਕ੍ਰਿਪਟ ਨਹੀਂ ਕਰਦਾ। ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਅਜੇ ਵੀ ਕਿਸੇ ਸਟੋਰ ਨਾਲ ਕ੍ਰੈਡੈਂਸ਼ਲ ਦੀ ਜਾਂਚ ਕਰਨੀ ਪੈਂਦੀ ਹੈ ਅਤੇ ਤੈਅ ਕਰਨਾ ਪੈਂਦਾ ਹੈ ਕਿ ਉਹ ਖਾਤਾ ਕੀ ਕਰ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ ਅਧਿਕਾਰਤਾ ਹੈ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਤੋਂ ਬਾਅਦ ਹੁੰਦੀ ਹੈ।
ਉਸ ਰਸਤੇ ਵਿੱਚ IPsec ਟਨਲ ਕਿੱਥੇ ਬੈਠਦਾ ਹੈ
ਹੁਣ ਬ੍ਰਾਊਜ਼ਰ ਤੋਂ ਬਾਹਰ ਵੱਲ ਚੱਲੋ। ਗੇਟਵੇ-ਤੋਂ-ਗੇਟਵੇ IPsec ਟਨਲ ਦੋ ਸੁਰੱਖਿਆ ਗੇਟਵੇਅਾਂ ਵਿਚਕਾਰ ਚੁਣੇ ਹੋਏ ਟ੍ਰੈਫਿਕ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ, ਤੁਹਾਡੇ ਲੈਪਟਾਪ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਵਿਚਕਾਰ ਨਹੀਂ। ਟਨਲ-ਮੋਡ ESP ਅਸਲ ਪੈਕੇਟ ਨੂੰ ਲਪੇਟਦਾ ਹੈ, ਗੇਟਵੇ ਉਸ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਅਤੇ ਪ੍ਰਮਾਣਿਤ ਕਰਦੇ ਹਨ, ਅਤੇ ਅੰਦਰੂਨੀ ਪਤੇ ਬਚੇ ਰਹਿੰਦੇ ਹਨ ਤਾਂ ਜੋ ਦੂਜਾ ਪਾਸਾ ਬੇਨਤੀ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਰੂਟ ਕਰ ਸਕੇ।
ਚੋਣ ਹੀ ਉਹ ਹਿੱਸਾ ਹੈ ਜੋ ਲੋਕਾਂ ਨੂੰ ਉਲਝਾਉਂਦਾ ਹੈ। ਨੀਤੀ-ਅਧਾਰਿਤ ਟਨਲ ਟ੍ਰੈਫਿਕ ਚੋਣਕਾਰ ਵਰਤਦੇ ਹਨ, ਜੋ ਅਕਸਰ ਐਕਸੈਸ ਕੰਟਰੋਲ ਸੂਚੀਆਂ ਵਜੋਂ ਲਿਖੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਜੋ ਤੈਅ ਹੋਵੇ ਕਿ ਕਿਹੜੇ ਪੈਕੇਟ ਟਨਲ ਵਿੱਚ ਜਾਂਦੇ ਹਨ। ਰੂਟ-ਅਧਾਰਿਤ ਟਨਲ ਇਸ ਦੀ ਥਾਂ ਵਰਚੁਅਲ ਇੰਟਰਫ਼ੇਸ ਅਤੇ ਰੂਟਿੰਗ ਟੇਬਲ ਵਰਤਦੇ ਹਨ। Linux ਉੱਤੇ ip xfrm policy ਚੋਣਕਾਰ ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ ip xfrm state ਸਥਾਪਿਤ ਸੁਰੱਖਿਆ ਸੰਬੰਧ ਦਿਖਾਉਂਦਾ ਹੈ; ਫਾਇਰਵਾਲ ਉਪਕਰਣ ਉੱਤੇ ਇਸ ਦੇ ਬਰਾਬਰ ਟਨਲ ਦੀ SA ਟੇਬਲ ਅਤੇ ਇੱਕ ਪੈਕੇਟ ਟਰੇਸਰ ਹੁੰਦੇ ਹਨ।
ਨਤੀਜਾ ਸਿੱਧਾ ਦੱਸਣਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਕ ਪੈਕੇਟ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤੰਦਰੁਸਤ ਟਨਲ ਦੇ ਅੰਦਰ ਬੈਠ ਕੇ ਵੀ ਅਜਿਹੀ HTTPS ਬੇਨਤੀ ਲੈ ਜਾ ਸਕਦਾ ਹੈ ਜਿਸ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਰੱਦ ਕਰ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਜਾਇਜ਼ ਕ੍ਰੈਡੈਂਸ਼ਲ ਬਿਨਾਂ ਕਿਸੇ ਟਨਲ ਵਾਲੇ ਰਸਤੇ ਰਾਹੀਂ ਵੀ ਪਹੁੰਚ ਸਕਦੇ ਹਨ ਜੇ ਰੂਟਿੰਗ ਇਜਾਜ਼ਤ ਦੇਵੇ।
ਗਲਤੀ ਨੂੰ ਉਸ ਪਰਤ ਵਿੱਚ ਪੜ੍ਹੋ ਜਿਸ ਨੇ ਉਹ ਦੱਸੀ
401 ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਕ੍ਰੈਡੈਂਸ਼ਲ ਸਵੀਕਾਰ ਨਹੀਂ ਕੀਤਾ। 403 ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਉਸ ਨੇ ਪਛਾਣ ਸਵੀਕਾਰ ਕੀਤੀ ਅਤੇ ਕਾਰਵਾਈ ਤੋਂ ਇਨਕਾਰ ਕੀਤਾ। TLS ਗਲਤੀ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਲਾਇੰਟ ਨੇ ਸਰਵਰ ਸਵੀਕਾਰ ਨਹੀਂ ਕੀਤਾ। ਰੂਟ ਨਾ ਹੋਣਾ ਜਾਂ ਨੀਤੀ ਦਾ ਮੇਲ ਨਾ ਖਾਣਾ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਪੈਕੇਟ ਦੂਜੇ ਗੇਟਵੇ ਤੱਕ ਕਦੇ ਨਹੀਂ ਪਹੁੰਚਿਆ। ਚਾਰ ਵੱਖਰੀਆਂ ਗਲਤੀਆਂ, ਚਾਰ ਵੱਖਰੇ ਮਾਲਕ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਲੌਗਇਨ ਫ਼ਾਰਮ ਵੱਲ ਦੇਖ ਕੇ ਨਹੀਂ ਪਛਾਣੀ ਜਾਂਦੀ।
ਹਰ ਪਰਤ ਜੋ ਸਬੂਤ ਦਿੰਦੀ ਹੈ ਉਸ ਦੀ ਵਰਤੋਂ ਕਰੋ: ਸਥਿਤੀ ਅਤੇ ਹੈਡਰਾਂ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਨੈੱਟਵਰਕ ਪੈਨਲ, ਸਰਟੀਫਿਕੇਟ ਚੇਨ ਲਈ openssl s_client -connect host:443, ਟਨਲ ਟ੍ਰੈਫਿਕ ਲਈ ਗੇਟਵੇ ਦੇ SA ਕਾਊਂਟਰ ਅਤੇ ਲੌਗ, ਅਤੇ ਖਾਤੇ ਦੇ ਫ਼ੈਸਲੇ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਲੌਗ। ਜਦੋਂ ਦੋ ਪਰਤਾਂ ਇੱਕੋ ਸਮੇਂ ਗਲਤੀ ਦੱਸਣ, ਤਾਂ ਪਹਿਲਾਂ ਹੇਠਲੀ ਪਰਤ ਠੀਕ ਕਰੋ, ਕਿਉਂਕਿ ਮਰੀ ਹੋਈ ਟਨਲ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਗਲਤੀ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਲੁਕਾ ਸਕਦੀ ਹੈ ਅਤੇ ਇਸ ਦਾ ਉਲਟ ਵੀ।
ਇੱਕ ਸੇਵਾ ਦਾ ਸ਼ੁਰੂ ਤੋਂ ਅੰਤ ਤੱਕ ਨਕਸ਼ਾ ਬਣਾਓ
ਜਿਸ ਸੇਵਾ ਦੀ ਤੁਸੀਂ ਜਾਂਚ ਕਰ ਰਹੇ ਹੋ ਉਸ ਲਈ ਪੰਜ ਲਾਈਨਾਂ ਲਿਖੋ: ਟਨਲ ਕਿਹੜੇ ਸਾਥੀਆਂ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਚੋਣਕਾਰ ਕਿਹੜੇ ਸਬਨੈੱਟ ਅਤੇ ਪੋਰਟਾਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ, TLS ਕਿੱਥੇ ਖ਼ਤਮ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਕਿਹੜੀ ਪਛਾਣ ਦਾਅਵਾ ਕਰਦਾ ਹੈ, ਕਿਹੜਾ ਐਪਲੀਕੇਸ਼ਨ ਖਾਤਾ ਅਤੇ ਭੂਮਿਕਾ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਹਰ ਪਰਤ ਕਿੱਥੇ ਲੌਗ ਕਰਦੀ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਇੱਕ ਸਫ਼ੇ ਉੱਤੇ ਰੱਖੋ, ਕਿਉਂਕਿ ਨਕਸ਼ੇ ਦਾ ਮਕਸਦ ਇਹ ਦਿਖਾਉਣਾ ਹੈ ਕਿ ਇੱਕ ਪਰਤ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਕਿੱਥੇ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ ਅਤੇ ਅਗਲੀ ਕਿੱਥੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ।
ਫਿਰ ਹਰ ਪਰਤ ਲਈ ਇੱਕ ਨਕਾਰਾਤਮਕ ਕੇਸ ਦੀ ਜਾਂਚ ਕਰੋ। ਗਲਤ ਪਾਸਵਰਡ ਵਰਤੋ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਤੁਹਾਨੂੰ 401 ਮਿਲਦਾ ਹੈ, ਟਾਈਮਆਊਟ ਨਹੀਂ। ਚੋਣਕਾਰਾਂ ਤੋਂ ਬਾਹਰ ਦੇ ਸਬਨੈੱਟ ਤੋਂ ਕਨੈਕਟ ਕਰੋ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਪੈਕੇਟ ਟਨਲ ਵਿੱਚ ਨਹੀਂ ਜਾਂਦਾ। ਗਲਤ ਨਾਮ ਲਈ ਸਰਟੀਫਿਕੇਟ ਪੇਸ਼ ਕਰੋ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਕਲਾਇੰਟ ਕ੍ਰੈਡੈਂਸ਼ਲ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ। ਉਹ ਤਿੰਨ ਨਤੀਜੇ ਤੁਹਾਨੂੰ ਡਿਜ਼ਾਈਨ ਬਾਰੇ ਕਿਸੇ ਵੀ ਡੱਬਿਆਂ ਵਾਲੇ ਚਿੱਤਰ ਨਾਲੋਂ ਵੱਧ ਦੱਸਦੇ ਹਨ।
ਅੰਤ ਵਿੱਚ, ਸੋਚ-ਸਮਝ ਕੇ ਤੈਅ ਕਰੋ ਕਿ ਹਰ ਰਿਸ਼ਤੇ ਨੂੰ ਕਿਹੜੀ ਸੁਰੱਖਿਆ ਚਾਹੀਦੀ ਹੈ। TLS ਉੱਤੇ Basic ਪ੍ਰਮਾਣਿਕਤਾ ਗੇਟਵੇ ਪਿੱਛੇ ਇੱਕ ਛੋਟੇ ਅੰਦਰੂਨੀ ਟੂਲ ਲਈ ਵਾਜਬ ਹੈ; ਇਹ ਪ੍ਰਤੀ-ਵਰਤੋਂਕਾਰ ਅਧਿਕਾਰਤਾ ਜਾਂ TLS ਅੰਤ ਬਿੰਦੂ ਤੋਂ ਅੱਗੇ ਦੇ ਟ੍ਰੈਫਿਕ ਦੀ ਸੁਰੱਖਿਆ ਦਾ ਬਦਲ ਨਹੀਂ ਹੈ। ਟਨਲ ਰਸਤੇ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ, ਸਰਟੀਫਿਕੇਟ ਹਿੱਸੇ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ, ਅਤੇ 401 ਖਾਤੇ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਆਖ਼ਰੀ ਜਾਣਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੌਣ ਹੋ।