ਇੱਕ OpenVPN ਕਲਾਇੰਟ ਹਟਾਉਣਾ: kill, deny ਜਾਂ ਸਰਟੀਫਿਕੇਟ ਰੱਦ ਕਰਨਾ?
OpenVPN ਦੀਆਂ ਤਿੰਨ ਕਿਰਿਆਵਾਂ ਕਲਾਇੰਟ ਹਟਾਉਂਦੀਆਂ ਹਨ, ਪਰ ਹਰ ਇੱਕ ਵੱਖਰੀ ਚੀਜ਼ ਖ਼ਤਮ ਕਰਦੀ ਹੈ: ਚੱਲ ਰਿਹਾ ਸੈਸ਼ਨ, ਇੱਕ ਲੌਗਇਨ ਕੋਸ਼ਿਸ਼, ਜਾਂ ਦੁਬਾਰਾ ਜੁੜਨ ਦਾ ਹੱਕ। ਪਛਾਣ ਮੁਤਾਬਕ ਚੁਣੋ।
ਤੁਹਾਡੇ ਨੋਟਾਂ ਵਿੱਚ ਇੱਕ common name ਅਤੇ ਇੱਕ ਪਤਾ ਹੈ, ਅਤੇ ਤਿੰਨ ਕਮਾਂਡਾਂ ਜੋ ਸਾਰੀਆਂ ਕਲਾਇੰਟ ਹਟਾਉਂਦੀਆਂ ਦਿਖਦੀਆਂ ਹਨ। ਸਿਰਫ਼ ਇੱਕ ਹੀ ਉਹ ਕਰਦੀ ਹੈ ਜੋ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ, ਅਤੇ ਚੋਣ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਹੁਣ ਚੱਲ ਰਿਹਾ ਸੈਸ਼ਨ ਖ਼ਤਮ ਕਰਨਾ ਹੈ, ਅਗਲਾ ਲੌਗਇਨ ਇਨਕਾਰ ਕਰਨਾ ਹੈ, ਜਾਂ ਜੁੜਨ ਦਾ ਹੱਕ ਹੀ ਲੈਣਾ ਹੈ। ਕੁਝ ਵੀ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹ ਪਛਾਣ ਪੜ੍ਹੋ ਜੋ ਸੱਚਮੁੱਚ ਤੁਹਾਡੇ ਕੋਲ ਹੈ, ਕਿਉਂਕਿ OpenVPN ਦਾ ਟੋਭਾ ਬਾਅਦ ਵਿੱਚ ਉਹੀ ਟਨਲ ਪਤਾ ਕਿਸੇ ਹੋਰ ਸੈਸ਼ਨ ਨੂੰ ਦਿੰਦਾ ਹੈ।
ਸੱਚਮੁੱਚ ਤੁਹਾਡੇ ਕੋਲ ਕਿਹੜੀ ਪਛਾਣ ਹੈ
ਵਰਜ਼ਨ 3 ਦੀ ਸਥਿਤੀ ਫ਼ਾਈਲ ਆਮ ਸ਼ੁਰੂਆਤ ਹੈ। CLIENT_LIST ਹਿੱਸੇ ਵਿੱਚ common name, ਅਸਲ ਪਤਾ, ਬਾਈਟ ਕਾਊਂਟਰ ਅਤੇ ਜੁੜਨ ਦਾ ਸਮਾਂ ਹੁੰਦਾ ਹੈ; ROUTING TABLE ਹਿੱਸਾ ਵਰਚੁਅਲ ਪਤੇ ਨੂੰ common name ਨਾਲ ਆਖਰੀ ਹਵਾਲੇ ਦੇ ਟਾਈਮਸਟੈਂਪ ਸਮੇਤ ਜੋੜਦਾ ਹੈ। common name ਹੀ ਸਥਿਰ ਪਛਾਣ ਹੈ। ਵਰਚੁਅਲ ਪਤਾ ਇੱਕ ਵੰਡ ਹੈ, ਅਤੇ NAT ਪਿੱਛੇ ਅਸਲ ਪਤਾ ਸੈਸ਼ਨਾਂ ਵਿਚਕਾਰ ਬਦਲ ਸਕਦਾ ਹੈ, ਸਰਵਰ 'ਤੇ ਕੁਝ ਬਦਲੇ ਬਿਨਾਂ।
ਮੈਨੇਜਮੈਂਟ ਇੰਟਰਫ਼ੇਸ ਆਪਣੀ status ਕਮਾਂਡ ਰਾਹੀਂ ਇਹੋ ਜਿਹਾ ਦ੍ਰਿਸ਼ ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ ਹਰ ਸੈਸ਼ਨ ਲਈ ਕਲਾਇੰਟ ID ਜੋੜਦਾ ਹੈ। client-kill ਠੀਕ ਉਸੇ ID ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ, ਅਤੇ ਉਹ ਟਨਲ ਪਤਾ ਨਹੀਂ ਹੈ। ਜੇ ਤੁਹਾਨੂੰ ਜਾਣਨਾ ਹੈ ਕਿ ਜੁੜਨ ਵੇਲੇ ਕਿਸ common name ਨੂੰ ਕਿਹੜਾ ਪਤਾ ਮਿਲਿਆ, ਤਾਂ client-connect ਸਕ੍ਰਿਪਟ ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਦੋਵੇਂ ਨਾਲ ਭਰੋਸੇਯੋਗ ਬਾਹਰੀ ਪਤਾ ਵੀ ਹੁੰਦਾ ਹੈ, ਪਰ ਉਹ ਸਕ੍ਰਿਪਟ OpenVPN ਵਰਤੋਂਕਾਰ ਵਜੋਂ ਚੱਲਦੀ ਹੈ ਅਤੇ ਲਿਖਣਯੋਗ ਲੌਗ ਮਾਰਗ ਚਾਹੀਦਾ ਹੈ।
| What you hold | Where it came from | What it can act on |
|---|---|---|
| Common name | CLIENT_LIST, or the auth hook | kill, and credential revocation |
| Client ID | status on the management socket | client-kill, that one session |
| Tunnel address | ROUTING TABLE, client-connect environment | Nothing durable, the address is recycled |
ਹੁਣ ਮਾਰੋ, ਲੌਗਇਨ 'ਤੇ ਇਨਕਾਰ ਕਰੋ, ਹਮੇਸ਼ਾ ਲਈ ਰੱਦ ਕਰੋ
ਮੈਨੇਜਮੈਂਟ ਇੰਟਰਫ਼ੇਸ ਦੀਆਂ ਦੋਵੇਂ ਹਟਾਉਣ ਵਾਲੀਆਂ ਕਮਾਂਡਾਂ ਸੈਸ਼ਨ-ਕਿਰਿਆਵਾਂ ਹਨ। kill common name ਜਾਂ ਅਸਲ ਪਤਾ ਅਤੇ ਪੋਰਟ ਲੈਂਦੀ ਹੈ; client-kill ਕਲਾਇੰਟ ID ਲੈਂਦੀ ਹੈ ਅਤੇ ਉਸ ਨਕਲ ਨੂੰ ਤੁਰੰਤ ਖ਼ਤਮ ਕਰਦੀ ਹੈ। ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਰੋਕ ਨਹੀਂ: ਵੈਧ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਪਾਸਵਰਡ ਵਾਲਾ ਕੱਢਿਆ ਗਿਆ ਕਲਾਇੰਟ ਕੁਝ ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਜੁੜ ਜਾਂਦਾ ਹੈ, ਜੋ ਜਾਂਚ peer ਦੁਬਾਰਾ ਵਰਤਣ ਵੇਲੇ ਠੀਕ ਹੈ ਅਤੇ ਲੈਪਟਾਪ ਚੋਰੀ ਹੋਣ 'ਤੇ ਬੇਕਾਰ।
client-deny ਹੋਰ ਕਿਸਮ ਦਾ ਫ਼ੈਸਲਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ ਇਹ authentication ਜਾਂ client-connect ਹੁੱਕ ਤੋਂ ਜਾਰੀ ਹੁੰਦਾ ਹੈ ਅਤੇ ਕਾਰਨ ਸਮੇਤ ਸੈਸ਼ਨ ਇਨਕਾਰ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਉਸ ਨੀਤੀ 'ਤੇ ਬੈਠਦਾ ਹੈ ਜੋ ਲੌਗਇਨ ਮਨ੍ਹਾ ਕਰੇ, ਨਾ ਕਿ ਉਹ ਜੋ ਜੁੜਾਈ ਤੋੜੇ। ਦਸਤਾਵੇਜ਼ ਇਹ ਵੀ ਚੇਤਾਵਨੀ ਦਿੰਦੇ ਹਨ ਕਿ TLS ਮੁੜ-ਵਿਚਾਰ ਵੇਲੇ ਜਾਰੀ ਇਨਕਾਰ ਮੁੜ-ਨਿਰਧਾਰਿਤ ਕੁੰਜੀ ਨੂੰ ਅਵੈਧ ਕਰ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਮੌਜੂਦਾ ਸੈਸ਼ਨ ਤਬਦੀਲੀ ਵਿੰਡੋ ਬੰਦ ਹੋਣ ਤੱਕ ਚੱਲ ਸਕਦਾ ਹੈ। ਜੇ ਲੋੜ ਇਹ ਹੈ ਕਿ ਕਲਾਇੰਟ ਹੁਣ ਚਲਾ ਗਿਆ ਹੋਵੇ, ਤਾਂ ਦਸਤਾਵੇਜ਼ੀ ਜਵਾਬ client-kill ਹੈ।
ਟਿਕਾਊ ਹਟਾਇਆ ਇਸ ਸਭ ਦੇ ਹੇਠਾਂ ਹੈ। ਸਰਟੀਫਿਕੇਟ ਰੱਦ ਕਰੋ ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ crl-verify ਅਜਿਹੀ ਸੂਚੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ ਜੋ ਸਰਵਰ ਸੱਚਮੁੱਚ ਮੁੜ ਲੋਡ ਕਰਦਾ ਹੈ, ccd ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕਲਾਇੰਟ-ਖ਼ਾਸ ਸੰਰਚਨਾ ਫ਼ਾਈਲ ਬੰਦ ਕਰੋ, ਜਾਂ ਜਿਸ backend ਨੂੰ authentication ਹੁੱਕ ਪੁੱਛਦਾ ਹੈ ਉੱਥੇ ਖਾਤਾ ਬੰਦ ਕਰੋ। ਰੱਦ ਕਰਨਾ ਵੀ ਤੁਰੰਤ ਨਹੀਂ: ਡਿਫ਼ਾਲਟ reneg-sec ਸੈਟਿੰਗਾਂ ਨਾਲ ਸਥਾਪਿਤ ਸੈਸ਼ਨ ਮੁੜ-ਵਿਚਾਰ ਤੱਕ ਚੱਲ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਸੈਸ਼ਨ-ਕਿਰਿਆ ਅਤੇ ਪ੍ਰਮਾਣ-ਕਿਰਿਆ ਇੱਕ-ਦੂਜੇ ਦੇ ਪੂਰਕ ਹਨ, ਵਿਕਲਪ ਨਹੀਂ।
ਕੀ ਮੈਨੇਜਮੈਂਟ ਸਾਕਟ ਖਾਲੀ ਹੈ?
ਮੈਨੇਜਮੈਂਟ ਇੰਟਰਫ਼ੇਸ ਇੱਕ ਵਾਰ ਵਿੱਚ ਇੱਕ ਕਲਾਇੰਟ ਦੀ ਸੇਵਾ ਕਰਦਾ ਹੈ। ਜੇ GUI ਜਾਂ ਨਿਗਰਾਨੀ ਡੈਮਨ ਪਹਿਲਾਂ ਹੀ ਜੁੜਾਈ ਫੜੀ ਹੋਈ ਹੈ, ਤਾਂ ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟ ਉਸ ਦੇ ਕੋਲ ਨਹੀਂ ਜੁੜ ਸਕਦੀ, ਅਤੇ ਕਲਾਇੰਟ ਮੁਤਾਬਕ ਤੁਸੀਂ ਸਾਫ਼ ਅਸਫਲਤਾ ਦੀ ਥਾਂ ਮੌਜੂਦਾ ਨੂੰ ਬਾਹਰ ਧੱਕ ਸਕਦੇ ਹੋ। ਇਸ ਦਾ ਪਾਸਵਰਡ ਉਸੇ ਸਾਕਟ 'ਤੇ ਸਾਫ਼ ਟੈਕਸਟ ਵਿੱਚ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਸ ਦੀ ਥਾਂ ਸਥਾਨਕ ਪਤਾ ਜਾਂ unix ਸਾਕਟ ਹੈ, ਕਦੇ ਵੀ ਜਨਤਕ ਇੰਟਰਫ਼ੇਸ ਨਹੀਂ।
ਜਦੋਂ ਤੁਸੀਂ ਸਾਕਟ ਨਹੀਂ ਲੈ ਸਕਦੇ, ਤਦ ਵੀ ਬਦਲ ਹਨ, ਅਤੇ ਸਾਰੇ ਹੌਲੀ ਹਨ। ਕਾਬੂ ਹੋਵੇ ਤਾਂ ਪਹਿਲਾਂ GUI ਦਾ ਸੈਸ਼ਨ ਛੱਡੋ, ਜਾਂ ਪ੍ਰਮਾਣ-ਤਹਿ ਦਾ ਰਾਹ ਮੰਨੋ ਅਤੇ ਅਗਲੇ ਮੁੜ-ਵਿਚਾਰ ਦੀ ਉਡੀਕ ਕਰੋ। ਜੋ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ ਉਹ ਹੈ ਇੱਕ ਕਲਾਇੰਟ ਹਟਾਉਣ ਲਈ ਸੇਵਾ ਮੁੜ ਚਾਲੂ ਕਰਨਾ, ਕਿਉਂਕਿ ਉਸ ਨਾਲ ਬਾਕੀ ਸਾਰੇ ਸੈਸ਼ਨ ਵੀ ਖ਼ਤਮ ਹੁੰਦੇ ਹਨ ਅਤੇ ਇਸ ਸੈਸ਼ਨ ਦੀ ਸਥਿਤੀ ਫ਼ਾਈਲ ਦੇ ਸਬੂਤ ਨਸ਼ਟ ਹੁੰਦੇ ਹਨ।
ਲਾਈਵ ਸਰਵਰ 'ਤੇ ਮੈਂ ਜੋ ਕ੍ਰਮ ਚਲਾਉਂਦਾ ਹਾਂ
ਜੁੜੋ, ਮੌਜੂਦਾ ਸਥਿਤੀ ਪੜ੍ਹੋ, ਹੁਣੇ ਪੜ੍ਹੇ ID 'ਤੇ ਕੰਮ ਕਰੋ, ਫਿਰ ਉਸ ਨੂੰ ਦੁਬਾਰਾ ਪੜ੍ਹੋ। ਦਸਤਾਵੇਜ਼ ਤੋਂ ਕਾਪੀ ਕੀਤੇ ਮੁੱਲ ਗ਼ਲਤ ਵਿਅਕਤੀ ਨੂੰ ਮਾਰਨ ਦਾ ਸਭ ਤੋਂ ਆਮ ਤਰੀਕਾ ਹਨ।
status # note the client ID and common name
client-kill 3 # end that session now
kill Test-Client # alternative: by common name
status # confirm the session is goneਉੱਪਰ ਦਿੱਤਾ ਨਾਮ ਅਤੇ ਨੰਬਰ ਪਲੇਸਹੋਲਡਰ ਹਨ, ਅਤੇ ID ਹੋਰ ਕਲਾਇੰਟ ਡਿਸਕਨੈਕਟ ਹੋਣ ਮਗਰੋਂ ਦੁਬਾਰਾ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਕੁਝ ਪੂਰਾ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਲਾਈਨ ਨਹੀਂ ਹੈ, ਅਤੇ ਜਾਂਚੋ ਕਿ ਜੁੜੇ ਕਲਾਇੰਟਾਂ ਦੀ ਗਿਣਤੀ ਇੱਕ ਨਾਲ ਬਦਲੀ ਹੈ, ਕਈ ਨਾਲ ਨਹੀਂ।
ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਉਹ ਬਾਹਰ ਹੀ ਰਿਹਾ
common name, ਟਨਲ ਪਤਾ, ਬਾਹਰੀ ਪਤਾ ਅਤੇ ਹਟਾਉਣ ਦਾ ਮਿੰਟ ਦਰਜ ਕਰੋ। ਜੇ ਉਹੀ common name ਇੱਕ ਮਿੰਟ ਬਾਅਦ ਫਿਰ ਦਿਖੇ, ਤਾਂ ਸੈਸ਼ਨ-ਕਿਰਿਆ ਕੰਮ ਕਰ ਗਈ ਅਤੇ ਪ੍ਰਮਾਣ-ਤਹਿ ਨਹੀਂ, ਜੋ ਕਦੇ ਲਾਗੂ ਨਾ ਹੋਈ ਕਮਾਂਡ ਦੀ ਮੁਰੰਮਤ ਤੋਂ ਬਿਲਕੁਲ ਵੱਖਰੀ ਹੈ।
ਫਿਰ ਕਲਾਇੰਟ ਵੱਲੋਂ ਜਾਂਚ ਕਰੋ। ਰੱਦ ਕੀਤਾ ਸਰਟੀਫਿਕੇਟ ਅਗਲੇ ਹੈਂਡਸ਼ੇਕ ਵਿੱਚ ਅਸਫਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ; ਜੇ ਉਹ ਹਾਲੇ ਵੀ ਜੁੜਦਾ ਹੈ, ਤਾਂ CRL ਬਿਲਕੁਲ ਨਹੀਂ ਪੜ੍ਹਿਆ ਜਾ ਰਿਹਾ, ਅਤੇ ਇਹੀ ਉਹ ਖੋਜ ਹੈ ਜਿਸ ਦੀ ਰਿਪੋਰਟ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਕੀ ਖ਼ਤਮ ਕਰਨਾ ਹੈ ਉਸ ਦੇ ਆਧਾਰ 'ਤੇ ਕਿਰਿਆ ਚੁਣੋ, ਦੂਜੀ status ਨਾਲ ਪੁਸ਼ਟੀ ਕਰੋ, ਅਤੇ ਜਦੋਂ ਜਵਾਬ ਨੂੰ ਸੈਸ਼ਨ ਤੋਂ ਵੱਧ ਟਿਕਣਾ ਹੋਵੇ ਤਾਂ ਪ੍ਰਮਾਣ-ਤਹਿ ਠੀਕ ਕਰੋ।