remote-cert-tls server: OpenVPN ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਇਹ ਕੀ ਜਾਂਚਦਾ ਹੈ
ਇਹ ਨਿਰਦੇਸ਼ ਸਾਥੀ ਦੇ ਸਰਟੀਫਿਕੇਟ ਵਿੱਚ ਏਨਕੋਡ ਕੀਤੀ ਭੂਮਿਕਾ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਉਸਦਾ ਨਾਮ ਨਹੀਂ। ਕੁਝ ਵੀ ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਭੂਮਿਕਾ, ਭਰੋਸਾ ਐਂਕਰ ਅਤੇ ਹੋਸਟਨਾਮ ਜਾਂਚ ਦੀ ਤੁਲਨਾ ਕਰੋ।
OpenVPN ਪ੍ਰੋਫਾਈਲ ਦੇ ਤਿੰਨ ਵੱਖਰੇ ਹਿੱਸੇ ਤਿੰਨ ਵੱਖਰੇ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਰਲਾਉਣਾ ਹੀ ਉਹ ਤਰੀਕਾ ਹੈ ਜਿਸ ਨਾਲ ਲੋਕ ਕੰਮ ਕਰ ਰਹੀ ਜਾਂਚ ਬੰਦ ਕਰ ਦਿੰਦੇ ਹਨ। ਕੀ ਸਾਥੀ ਦਾ ਸਰਟੀਫਿਕੇਟ ਉਸ ਅਥਾਰਟੀ ਦੁਆਰਾ ਦਸਤਖਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਸ 'ਤੇ ਮੈਂ ਭਰੋਸਾ ਕਰਦਾ ਹਾਂ? ਕੀ ਉਹ ਸਰਟੀਫਿਕੇਟ TLS ਸਰਵਰ ਭੂਮਿਕਾ ਘੋਸ਼ਿਤ ਕਰਦਾ ਹੈ? ਕੀ ਇਹ ਉਹੀ ਖਾਸ ਸਰਵਰ ਹੈ ਜਿੱਥੇ ਮੈਂ ਪਹੁੰਚਣਾ ਚਾਹੁੰਦਾ ਸੀ? remote-cert-tls server ਸਿਰਫ਼ ਵਿਚਕਾਰਲੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਹ ਸਰਟੀਫਿਕੇਟ ਦੇ ਅੰਦਰਲੇ ਐਕਸਟੈਂਸ਼ਨ ਪੜ੍ਹ ਕੇ ਕਰਦਾ ਹੈ।
ਦਿਮਾਗ ਵਿੱਚ ਰਲਾਉਣਾ ਸੌਖਾ ਤਿੰਨ ਜਾਂਚਾਂ
ਭਰੋਸਾ ਐਂਕਰ ca ਨਿਰਦੇਸ਼ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ। ਭੂਮਿਕਾ ਜਾਂਚ remote-cert-tls ਨਿਰਦੇਸ਼ ਦੀ ਹੈ। ਪਛਾਣ ਜਾਂਚ verify-x509-name ਨਿਰਦੇਸ਼ ਦੀ ਹੈ, ਜਦੋਂ ਪ੍ਰੋਫਾਈਲ ਇਸਨੂੰ ਵਰਤਦਾ ਹੈ, ਜਾਂ ਡਿਪਲਾਇਮੈਂਟ ਜੋ ਵੀ ਨਾਮ-ਜਾਂਚ ਜੋੜਦਾ ਹੈ ਉਸਦੀ।
ਉਹ ਵੱਖਰੀਆਂ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਕਵਰ ਕਰਦੀਆਂ ਹਨ:
| Question | Directive | Failure it catches |
|---|---|---|
| Who signed this? | ca | Certificate from an unrelated authority |
| Is this a server? | remote-cert-tls | Client certificate presented by a peer |
| Is this my server? | verify-x509-name | Another valid server from the same CA |
ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਤਿੰਨੇ ਹੋ ਸਕਦੇ ਹਨ ਅਤੇ ਫਿਰ ਵੀ ਕਮਜ਼ੋਰ ਰਹਿ ਸਕਦਾ ਹੈ ਜੇ CA ਬਹੁਤ ਵਿਆਪਕ ਰੂਪ ਵਿੱਚ ਸਾਂਝਾ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕੁੰਜੀ-ਪ੍ਰਬੰਧਨ ਦਾ ਸਵਾਲ ਹੈ, ਨਿਰਦੇਸ਼ ਦਾ ਨਹੀਂ।
ਭੂਮਿਕਾ ਜਾਂਚ ਕੀ ਪੜ੍ਹਦੀ ਹੈ
ਨਿਰਦੇਸ਼ ਇੱਕ ਮੈਕਰੋ ਹੈ। ਇਹ ਕੁੰਜੀ-ਵਰਤੋਂ ਦੀ ਲੋੜ ਅਤੇ TLS ਵੈੱਬ ਸਰਵਰ ਭੂਮਿਕਾ ਦਾ ਨਾਮ ਲੈਣ ਵਾਲੀ ਵਿਸਤ੍ਰਿਤ-ਕੁੰਜੀ-ਵਰਤੋਂ ਦੀ ਲੋੜ ਵਿੱਚ ਫੈਲਦਾ ਹੈ, ਇਸ ਲਈ ਸਾਥੀ ਦੇ ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਉਹ ਮਕਸਦ ਅਸਲ ਵਿੱਚ ਘੋਸ਼ਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਕਲਾਇੰਟ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਜਾਰੀ ਸਰਟੀਫਿਕੇਟ ਇਸਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦਾ, ਭਾਵੇਂ ਉਹੀ ਅਥਾਰਟੀ ਦੋਵਾਂ 'ਤੇ ਦਸਤਖਤ ਕਰਦੀ ਹੋਵੇ।
ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਛੋਟੇ ਡਿਪਲਾਇਮੈਂਟਾਂ ਵਿੱਚ ਸਾਂਝੀ CA ਆਮ ਹੈ। ਇੱਕ ਅਥਾਰਟੀ ਹਰ ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ 'ਤੇ ਦਸਤਖਤ ਕਰਦੀ ਹੈ, ਅਤੇ ਭੂਮਿਕਾ ਜਾਂਚ ਤੋਂ ਬਿਨਾਂ ਉਨ੍ਹਾਂ ਸਰਟੀਫਿਕੇਟਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਹੈਂਡਸ਼ੇਕ ਦਾ ਸਰਵਰ ਪਾਸਾ ਪੂਰਾ ਕਰ ਸਕਦਾ ਸੀ। ਜਾਂਚ ਉਸ ਸਥਿਤੀ ਨੂੰ ਅਸੰਭਵ ਨਹੀਂ ਬਣਾਉਂਦੀ, ਪਰ ਇਸਦਾ ਮਾਮੂਲੀ ਸੰਸਕਰਣ ਹਟਾ ਦਿੰਦੀ ਹੈ।
ਨਿਰਦੇਸ਼ ਡਿਜ਼ਾਈਨ ਨਾਲ ਅਸਮਮਿਤ ਹੈ: ਕਲਾਇੰਟ remote-cert-tls server ਰੱਖਦੇ ਹਨ, ਅਤੇ ਸਰਵਰ remote-cert-tls client ਰੱਖਦੇ ਹਨ। ਇਨ੍ਹਾਂ ਨੂੰ ਬਦਲੋ ਅਤੇ ਹਰ ਕਨੈਕਸ਼ਨ ਭੂਮਿਕਾ ਗਲਤੀ ਨਾਲ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ ਜੋ ਟੁੱਟੇ ਸਰਟੀਫਿਕੇਟ ਵਰਗੀ ਦਿਖਦੀ ਹੈ।
ਪੁਰਾਣੇ ਪ੍ਰੋਫਾਈਲ ਕਦੇ-ਕਦੇ ਉਸੇ ਮਕਸਦ ਲਈ ns-cert-type ਵਰਤਦੇ ਹਨ। ਮੌਜੂਦਾ ਮੈਨੂਅਲ ਪੰਨੇ ਉਸ ਵਿਕਲਪ ਨੂੰ ਬਦਲਿਆ ਹੋਇਆ ਮੰਨਦੇ ਹਨ, ਇਸ ਲਈ ਅਜੇ ਵੀ ਉਸ 'ਤੇ ਨਿਰਭਰ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦੀ ਬਜਾਏ ਮਾਈਗਰੇਟ ਕਰਨਾ ਯੋਗ ਹੈ।
ਇਸਨੂੰ ਬੰਦ ਕਰਨਾ ਹੱਲ ਕਿਉਂ ਲੱਗਦਾ ਹੈ
ਜਦੋਂ ਭੂਮਿਕਾ ਜਾਂਚ ਅਸਫਲ ਹੁੰਦੀ ਹੈ, ਕਨੈਕਸ਼ਨ ਜਾਂਚ ਗਲਤੀ ਨਾਲ ਰੁਕਦਾ ਹੈ ਅਤੇ ਸਪੱਸ਼ਟ ਕਦਮ ਉਹ ਲਾਈਨ ਮਿਟਾਉਣਾ ਹੈ। ਫਿਰ ਕਨੈਕਸ਼ਨ ਉੱਪਰ ਆਉਂਦਾ ਹੈ, ਜੋ ਤਰੱਕੀ ਵਰਗਾ ਲੱਗਦਾ ਹੈ ਅਤੇ ਅਸਲ ਵਿੱਚ ਉਹੀ ਅਸਫਲਤਾ ਮੋਡ ਹੈ ਜਿਸਨੂੰ ਰੋਕਣ ਲਈ ਨਿਰਦੇਸ਼ ਮੌਜੂਦ ਹੈ। ਹੁਣ ਤੁਸੀਂ ਅਜਿਹੇ ਸਾਥੀ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦੇ ਹੋ ਜਿਸਦਾ ਸਰਟੀਫਿਕੇਟ ਕਦੇ ਉਸ ਭੂਮਿਕਾ ਲਈ ਨਹੀਂ ਸੀ।
ਇਸਦੀ ਬਜਾਏ ਗਲਤੀ ਪੜ੍ਹੋ। ਇਹ ਅਸਫਲ ਹੋਈ ਜਾਂਚ ਦਾ ਨਾਮ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਦੂਜੇ ਪਾਸੇ ਦਾ ਸਰਟੀਫਿਕੇਟ ਜਾਂਚ ਕੇ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ ਕਿ ਇਹ ਅਸਲ ਵਿੱਚ ਕਿਹੜੇ ਐਕਸਟੈਂਸ਼ਨ ਰੱਖਦਾ ਹੈ। ਦੋ ਮਿੰਟ ਦੀ ਪੜ੍ਹਾਈ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਦੋਸ਼ ਜਾਰੀ ਕਰਨ ਵਿੱਚ ਹੈ ਜਾਂ ਕਨਫਿਗਰੇਸ਼ਨ ਵਿੱਚ। ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਵਿੱਚ ਦੁਪਹਿਰ ਲੱਗਦੀ ਹੈ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਕਮਜ਼ੋਰ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਖਤਮ ਹੁੰਦੀ ਹੈ। ਨਵੀਨੀਕ੍ਰਿਤ ਸਰਵਰ ਸਰਟੀਫਿਕੇਟ ਜਿਸਨੇ ਆਪਣੀ ਵਿਸਤ੍ਰਿਤ ਕੁੰਜੀ-ਵਰਤੋਂ ਗੁਆ ਲਈ ਹੈ, ਨਵੀਨੀਕਰਨ ਵਿੱਚ ਅਸਲ ਦੋਸ਼ ਹੈ, ਕਲਾਇੰਟ ਨੂੰ ਢਿੱਲਾ ਕਰਨ ਦਾ ਕਾਰਨ ਨਹੀਂ।
ਨਾਮ ਜਾਂਚ ਇੱਕ ਵੱਖਰਾ ਨਿਰਦੇਸ਼ ਹੈ
ਭੂਮਿਕਾ ਜਾਂਚ ਪੂਰੀ ਕਰਨ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਾਥੀ ਤੁਹਾਡੀ ਅਥਾਰਟੀ ਦੁਆਰਾ ਦਸਤਖਤ ਕੀਤਾ ਕੋਈ ਸਰਵਰ ਹੈ। ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਕਿਹੜਾ, ਜੋ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਉਹੀ CA ਕਈ ਗੇਟਵੇ ਲਈ ਸਰਟੀਫਿਕੇਟ ਜਾਰੀ ਕਰਦੀ ਹੈ ਅਤੇ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸਮਝੌਤਾ ਕੀਤਾ ਗਿਆ ਜਾਂ ਮੁੜ-ਵਰਤਿਆ ਗਿਆ ਹੈ।
verify-x509-name ਸਰਟੀਫਿਕੇਟ ਦੇ ਵਿਸ਼ੇ ਦੀ ਤੁਲਨਾ ਤੁਹਾਡੇ ਦੁਆਰਾ ਕਨਫਿਗਰ ਕੀਤੇ ਮੁੱਲ ਨਾਲ ਕਰਦਾ ਹੈ, ਸਹੀ ਵਿਸ਼ੇ, ਪ੍ਰੀਫਿਕਸ ਜਾਂ ਇੱਕ ਫੀਲਡ ਲਈ ਮੇਲ ਮੋਡ ਨਾਲ। ਉਹ ਫੀਲਡ ਵਰਤੋ ਜੋ ਅਸਲ ਵਿੱਚ ਗੇਟਵੇ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ, ਅਤੇ ਨਾਮ ਬਦਲਣ 'ਤੇ ਇਸਨੂੰ ਜਾਣਬੁੱਝ ਕੇ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਉਮੀਦ ਰੱਖੋ।
ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਨਿਰਦੇਸ਼ ਚੰਗੇ ਕੁੰਜੀ-ਪ੍ਰਬੰਧਨ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦਾ। ਜੇ ਕਲਾਇੰਟ ਕੁੰਜੀ ਫਾਈਲ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਇੱਧਰ-ਉੱਧਰ ਕਾਪੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਾਥੀ ਦੀ ਪਛਾਣ ਵੰਡ ਸੂਚੀ ਜਿੰਨੀ ਹੀ ਮਜ਼ਬੂਤ ਹੈ।
ਪ੍ਰੋਫਾਈਲ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਰਟੀਫਿਕੇਟ ਦੀ ਜਾਂਚ ਕਰੋ
ਸਾਥੀ ਦਾ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਕਲਾਇੰਟ ਲੌਗ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ ਪੜ੍ਹੋ। ਸਰਟੀਫਿਕੇਟ ਦੱਸਦਾ ਹੈ ਕਿ ਇਹ ਕਿਹੜੀਆਂ ਭੂਮਿਕਾਵਾਂ ਘੋਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਲੌਗ ਦੱਸਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਜਾਂਚ ਨੇ ਇਸਨੂੰ ਰੱਦ ਕੀਤਾ।
ਇਹ ਕਮਾਂਡਾਂ ਵਿਸਤ੍ਰਿਤ ਕਨੈਕਸ਼ਨ ਤੋਂ ਵਰਤੋਂ-ਐਕਸਟੈਂਸ਼ਨ ਅਤੇ ਜਾਂਚ ਲਾਈਨਾਂ ਛਾਪਦੀਆਂ ਹਨ:
openssl x509 -in server.crt -noout -text | grep -A1 -E "Key Usage|Extended Key Usage"
sudo openvpn --config client.ovpn --verb 4 2>&1 | grep -i verifyਜੇ ਐਕਸਟੈਂਸ਼ਨ ਸਰਵਰ ਭੂਮਿਕਾ ਦਿਖਾਉਂਦੇ ਹਨ ਅਤੇ ਲੌਗ ਅਜੇ ਵੀ ਭੂਮਿਕਾ ਅਸਫਲਤਾ ਦੀ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ, ਤਾਂ ਪ੍ਰੋਫਾਈਲ ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ ਮਾੜੇ ਸਰਟੀਫਿਕੇਟ ਦੀ ਬਜਾਏ ਗਲਤ ਸਰਟੀਫਿਕੇਟ ਫਾਈਲ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰ ਰਿਹਾ ਹੈ। ਜੇ ਐਕਸਟੈਂਸ਼ਨ ਸਿਰਫ਼ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣਿਕਤਾ ਦਿਖਾਉਂਦੇ ਹਨ, ਤਾਂ ਕਲਾਇੰਟ ਵੱਲ ਦੇਖਣਾ ਬੰਦ ਕਰੋ ਅਤੇ ਜਾਰੀ ਕਰਨਾ ਠੀਕ ਕਰੋ। ਕਿਸੇ ਵੀ ਹਾਲਤ ਵਿੱਚ, ਕਨੈਕਸ਼ਨ ਨੂੰ ਸਿਹਤਮੰਦ ਕਹਿਣ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂਚ ਬਹਾਲ ਕਰੋ, ਕਿਉਂਕਿ ਜਾਂਚ ਹਟਾਉਣ ਤੋਂ ਬਾਅਦ ਸਫਲ ਹੈਂਡਸ਼ੇਕ ਉਸ ਗਲਤੀ ਨਾਲੋਂ ਘੱਟ ਸਾਬਤ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਇਸਨੇ ਬਦਲਿਆ ਸੀ।