ਆਪਣਾ VPN ਲੌਗ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਪੜ੍ਹੋ: ਖੇਤਰ-ਦਰ-ਖੇਤਰ
ਸਹਾਇਤਾ ਲੌਗਾਂ ਵਿੱਚ ਵਰਤੋਂਕਾਰ ਨਾਮ, ਸਰਟੀਫਿਕੇਟ ਦੇ ਨਾਮ, ਅੰਦਰੂਨੀ ਪਤੇ ਅਤੇ ਕਈ ਵਾਰ ਇੱਕ ਕੁੰਜੀ ਹੁੰਦੀ ਹੈ। ਖੇਤਰ ਵੇਖੋ, ਭੇਤ ਲੱਭੋ, ਫਿਰ ਸੰਪਾਦਿਤ ਹਿੱਸਾ ਭੇਜੋ।
ਤੁਸੀਂ ਸਹਾਇਤਾ ਟਿਕਟ ਖੋਲ੍ਹਦੇ ਹੋ, ਕਲਾਇੰਟ ਵੱਲੋਂ ਬਣਾਇਆ ਡਾਇਗਨੋਸਟਿਕ ਐਕਸਪੋਰਟ ਜੋੜਦੇ ਹੋ ਅਤੇ ਉਡੀਕਦੇ ਹੋ। ਫਾਈਲ ਵਿੱਚ ਸ਼ਾਇਦ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਬਿਲਕੁਲ ਨਹੀਂ ਹੋਵੇਗਾ, ਅਤੇ ਇਹੀ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਲੱਗਣ ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ। ਫਿਰ ਵੀ ਇਸ ਵਿੱਚ ਇਹ ਹੁੰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੌਣ ਹੋ, ਕਿਹੜੀ ਮਸ਼ੀਨ ਵਰਤੀ, ਕਿਹੜੇ ਅੰਦਰੂਨੀ ਪਤਿਆਂ ਤੱਕ ਅਤੇ ਕਦੋਂ ਪਹੁੰਚੇ, ਅਤੇ ਕਈ ਵਾਰ ਇੱਕ ਨਿੱਜੀ ਕੁੰਜੀ ਜੋ ਆਪਣਾ ਕਨਫਿਗਰੇਸ਼ਨ ਲੌਗ ਕਰਨ ਵਾਲੇ ਕਲਾਇੰਟ ਨੇ ਕਾਪੀ ਕੀਤੀ ਹੁੰਦੀ ਹੈ। ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਈਲ ਵਿੱਚੋਂ ਲੰਘਣ ਵਿੱਚ ਲਗਭਗ ਪੰਜ ਮਿੰਟ ਲੱਗਦੇ ਹਨ ਅਤੇ ਸਥਾਈ ਖੁਲਾਸਾ ਰੋਕਦਾ ਹੈ।
ਇਸਨੂੰ ਖੋਲ੍ਹੋ ਅਤੇ ਪਹਿਲੀਆਂ ਚਾਲੀ ਲਾਈਨਾਂ ਪੜ੍ਹੋ
ਸਭ ਤੋਂ ਉੱਪਰ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ, ਜਿੱਥੇ ਕਲਾਇੰਟ ਆਮ ਤੌਰ ’ਤੇ ਵਰਜ਼ਨ, ਪਲੇਟਫਾਰਮ ਅਤੇ ਕਨਫਿਗਰੇਸ਼ਨ ਕੱਢਦੇ ਹਨ। ਪਹਿਲੀਆਂ ਲਾਈਨਾਂ ਦੱਸਦੀਆਂ ਹਨ ਕਿ ਫਾਈਲ ਕਿੰਨੀ ਵਿਸਥਾਰਤ ਹੈ, ਅਤੇ ਇਹ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਬਾਕੀ ਦਾ ਕਿੰਨਾ ਧਿਆਨ ਦੇਣਾ ਹੈ। ਡਿਫਾਲਟ ਲੌਗ ਅਤੇ ਡੀਬੱਗ ਲੌਗ ਵੱਖਰੇ ਖੁਲਾਸੇ ਵਾਲੀਆਂ ਵੱਖਰੀਆਂ ਚੀਜ਼ਾਂ ਹਨ।
head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'
ਕੁਝ ਵੀ ਪੜ੍ਹਨ ਤੋਂ ਪਹਿਲਾਂ ਫਾਈਲ ਦਾ ਆਕਾਰ ਅਤੇ ਸ਼ਕਲ ਵੀ ਵੇਖੋ। ਇੱਕੋ ਘਟਨਾ ਦੁਹਰਾਉਣ ਵਾਲੀ ਦੋ ਮੈਗਾਬਾਈਟ ਦੀ ਟੈਕਸਟ ਫਾਈਲ ਛੋਟੀ ਕਰਨੀ ਸੌਖੀ ਹੈ। ਉਸੇ ਫੋਲਡਰ ਵਿੱਚ ਬਾਈਨਰੀ ਕੈਪਚਰ ਬਿਲਕੁਲ ਵੱਖਰੀ ਸਮੱਸਿਆ ਹੈ, ਅਤੇ ਇਸ ਲਈ ਐਕਸਪੋਰਟ ਮੰਗਣ ਵਾਲੇ ਨਾਲ ਵੱਖਰੀ ਗੱਲਬਾਤ ਚਾਹੀਦੀ ਹੈ।
Windows ’ਤੇ ਬਰਾਬਰ ਦੇ ਰੂਪ ਹਰ ਇੱਕ ਇੱਕ cmdlet ਹਨ, ਅਤੇ ਪਹਿਲੀ ਨੂੰ ਤੁਸੀਂ ਆਪ ਨਾ ਬਣਾਈ ਕਿਸੇ ਵੀ ਫਾਈਲ ’ਤੇ ਚਲਾਉਣਾ ਯੋਗ ਹੈ:
Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime
ਵਿਅਕਤੀ ਦੀ ਪਛਾਣ ਕਰਨ ਵਾਲੇ ਖੇਤਰ
ਵਰਤੋਂਕਾਰ ਨਾਮ ਉਹਨਾਂ ਥਾਵਾਂ ’ਤੇ ਦਿਖਦੇ ਹਨ ਜਿੱਥੇ ਲੋਕ ਉਮੀਦ ਨਹੀਂ ਕਰਦੇ: ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਵਰਤਿਆ ਖਾਤਾ, ਸਰਟੀਫਿਕੇਟ ਦਾ ਵਿਸ਼ਾ, ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਹੇਠ ਪ੍ਰੋਫਾਈਲ ਪਾਥ, ਅਤੇ ਮਸ਼ੀਨ ਦਾ ਨਾਮ ਜੋ ਅਕਸਰ ਅਸਲ ਨਾਮ ਨੂੰ ਕੋਡ ਕਰਦਾ ਹੈ। ਜੋ ਲੌਗ ਖਾਤਾ ਖੇਤਰ ਸੰਪਾਦਿਤ ਕਰਦਾ ਹੈ ਪਰ ਹੋਮ ਪਾਥ ਨੂੰ ਅਛੂਤ ਛੱਡਦਾ ਹੈ, ਉਸਨੇ ਕੁਝ ਵੀ ਸੰਪਾਦਿਤ ਨਹੀਂ ਕੀਤਾ।
| Field | What it identifies | Practical treatment |
|---|---|---|
| Account or username | A person, and often an employer | Replace consistently, keep the mapping |
| Certificate subject and CN | Device or user identity | Keep the structure, replace the value |
| Home directory path | A login name, sometimes a full name | Replace the segment, not the whole path |
| Machine or hostname | A person or a physical location | Replace with a stable pseudonym |
ਜਦੋਂ ਸਹਾਇਤਾ ਇੰਜੀਨੀਅਰ ਨੂੰ ਫਾਈਲ ਭਰ ਵਿੱਚ ਇੱਕ ਸੈਸ਼ਨ ਟਰੈਕ ਕਰਨਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਪੂਰਨਤਾ ਨਾਲੋਂ ਨਿਰੰਤਰਤਾ ਵੱਧ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਮੁੱਲ ਹਟਾਉਣ ਦੀ ਬਜਾਏ ਸਥਿਰ ਲੇਬਲਾਂ ਨਾਲ ਬਦਲੋ, ਤਾਂ ਜੋ ਇੱਕੋ ਵਰਤੋਂਕਾਰ ਦੀ ਹਰ ਦਿੱਖ ਅਜੇ ਵੀ ਉਹੀ ਵਰਤੋਂਕਾਰ ਵਜੋਂ ਪੜ੍ਹੀ ਜਾਵੇ। ਖੇਤਰ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਟਾਉਣ ਨਾਲ ਇੰਜੀਨੀਅਰ ਨੂੰ ਲੋੜੀਂਦਾ ਧਾਗਾ ਟੁੱਟ ਜਾਂਦਾ ਹੈ ਅਤੇ ਫਾਈਲ ਹੋਰ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੁੰਦੀ।
ਟਾਈਮਸਟੈਂਪ ਵੀ ਸਮੁੱਚੇ ਤੌਰ ’ਤੇ ਨਿੱਜੀ ਡੇਟਾ ਹੈ। ਖਾਤਾ ਕਦੋਂ ਜੁੜਿਆ, ਇੱਕ ਮਹੀਨੇ ਵਿੱਚ ਲਿਆ ਜਾਵੇ ਤਾਂ ਕੰਮ ਦੇ ਘੰਟੇ ਅਤੇ ਸਫ਼ਰ ਦੱਸਦਾ ਹੈ। ਜੇ ਸਵਾਲ ਨੂੰ ਪੂਰੀ ਰੇਂਜ ਦੀ ਲੋੜ ਨਹੀਂ, ਤਾਂ ਫਾਈਲ ਨੂੰ ਘਟਨਾ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਦੀ ਵਿੰਡੋ ਤੱਕ ਕੱਟੋ।
ਨੈੱਟਵਰਕ ਦੀ ਪਛਾਣ ਕਰਨ ਵਾਲੇ ਖੇਤਰ
ਐਂਡਪੌਇੰਟ ਪਤੇ, ਅੰਦਰੂਨੀ ਰੂਟ ਅਤੇ ਧੱਕੇ ਗਏ ਵਿਕਲਪ ਨਿੱਜੀ ਨੈੱਟਵਰਕ ਦੀ ਸ਼ਕਲ ਦੱਸਦੇ ਹਨ। ਇਹੀ ਜਾਣਕਾਰੀ ਹਮਲਾਵਰ ਨੂੰ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਇਹ ਆਮ ਤੌਰ ’ਤੇ ਟਿਕਟ ਦੀ ਲੋੜ ਨਾਲੋਂ ਬਹੁਤ ਵੱਧ ਵਿਸਥਾਰ ਵਿੱਚ ਮੌਜੂਦ ਹੁੰਦੀ ਹੈ।
ਵਰਤੋਂ ਵਿੱਚ ਆ ਰਿਹਾ ਪਤਾ ਪਰਿਵਾਰ ਲੱਭੋ, ਸਿਰਫ਼ ਉਹ ਨਹੀਂ ਜਿਸਦੀ ਤੁਸੀਂ ਉਮੀਦ ਕੀਤੀ ਸੀ। ਦੋਹਰੇ ਸਟੈਕ ਵਾਲਾ ਕਲਾਇੰਟ IPv6 ਐਂਡਪੌਇੰਟ ਅਤੇ IPv6 ਰੂਟਾਂ ਦਾ ਸਮੂਹ ਲੌਗ ਕਰ ਸਕਦਾ ਹੈ ਜਿਸਨੂੰ ਕਿਸੇ ਨੇ ਸੰਪਾਦਿਤ ਕਰਨ ਬਾਰੇ ਨਹੀਂ ਸੋਚਿਆ, ਕਿਉਂਕਿ ਸਮੀਖਿਆ ਸਿਰਫ਼ ਬਿੰਦੂ ਵਾਲੇ ਚੌਕਿਆਂ ਨੂੰ ਲੱਭ ਰਹੀ ਸੀ।
grep -nEo '([0-9]{1,3}\.){3}[0-9]{1,3}' vpn-support.log | sort -u | head -n 40
grep -nEo '([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}' vpn-support.log | sort -u | head -n 20
ਵਿਲੱਖਣ ਸੂਚੀ ਹੀ ਮੁੱਖ ਗੱਲ ਹੈ। ਇਹ ਦੱਸਦੀ ਹੈ ਕਿ ਫਾਈਲ ਕਿੰਨੇ ਵੱਖਰੇ ਪਤਿਆਂ ਦਾ ਜ਼ਿਕਰ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਹ ਆਮ ਤੌਰ ’ਤੇ ਸਕ੍ਰੋਲ ਕਰਦਿਆਂ ਲੱਗਣ ਨਾਲੋਂ ਬਹੁਤ ਘੱਟ ਹੁੰਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਸੰਪਾਦਨ ਲਈ ਜਾਂਚ-ਸੂਚੀ ਅਤੇ ਸਾਰੇ ਕਵਰ ਕਰਨ ਦਾ ਸਬੂਤ ਦੇਣ ਦਾ ਤਰੀਕਾ ਵੀ ਦਿੰਦੀ ਹੈ। ਦਸ ਪਤੇ ਪੰਜ ਮਿੰਟ ਦਾ ਕੰਮ ਹਨ, ਅਤੇ ਸੌ ਦੱਸਦੇ ਹਨ ਕਿ ਐਕਸਪੋਰਟ ਸਵਾਲ ਨਾਲੋਂ ਵਿਸ਼ਾਲ ਹੈ।
ਜੇ ਇੰਜੀਨੀਅਰ ਨੂੰ ਲੋੜ ਹੋਵੇ ਤਾਂ ਟੋਪੋਲੋਜੀ ਰੱਖੋ। ਸਬਨੈੱਟ ਸਬੰਧ ਬਚਾਉਂਦਿਆਂ ਦੂਜਾ ਅਤੇ ਤੀਜਾ ਆਕਟੇਟ ਬਦਲਣ ਨਾਲ ਰੇਂਜ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ ਸਵਾਲ ਦਾ ਜਵਾਬ ਮਿਲਦਾ ਹੈ। ਉਹੀ ਚਾਲ IPv6 ਪ੍ਰੀਫਿਕਸ ਲਈ ਵੀ ਕੰਮ ਕਰਦੀ ਹੈ। ਇੰਜੀਨੀਅਰ ਨੂੰ ਨਾਕਾਮੀ ਦੀ ਸ਼ਕਲ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਸ਼ਕਲ ਸਥਿਰ ਬਦਲੀ ਤੋਂ ਬਾਅਦ ਵੀ ਬਚੀ ਰਹਿੰਦੀ ਹੈ।
ਭੇਤ ਲੇਬਲਾਂ ਵਿੱਚ ਨਹੀਂ, ਆਕਾਰਾਂ ਵਿੱਚ ਲੁਕਦੇ ਹਨ
ਨਿੱਜੀ ਕੁੰਜੀ ਨੂੰ ਨੇੜੇ “password” ਸ਼ਬਦ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ। ਇਹ ਮਾਰਕਰ ਲਾਈਨਾਂ ਵਿਚਕਾਰ ਬਲਾਕ, ਲੰਬੀ base64 ਸਤਰ, ਜਾਂ ਇਨਲਾਈਨ ਕਨਫਿਗਰੇਸ਼ਨ ਡੰਪ ਵਜੋਂ ਦਿਖਦੀ ਹੈ। ਟੋਕਨ ਕਵੈਰੀ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਦਿਖਦੇ ਹਨ, ਅਤੇ ਪ੍ਰਮਾਣ ਉਹਨਾਂ URL ਅੰਦਰ ਦਿਖਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਕਲਾਇੰਟ ਨੇ ਸ਼ਬਦ-ਕੇ-ਸ਼ਬਦ ਲੌਗ ਕੀਤਾ।
grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log
ਦੂਜਾ ਪੈਟਰਨ ਉਹੀ ਹੈ ਜੋ ਲੋਕ ਭੁੱਲ ਜਾਂਦੇ ਹਨ। ਸਕੀਮ, ਵਰਤੋਂਕਾਰ, ਪਾਸਵਰਡ, ਹੋਸਟ ਦੇ ਰੂਪ ਵਾਲਾ URL ਪੂਰਾ ਪ੍ਰਮਾਣ ਹੈ, ਅਤੇ ਪ੍ਰੌਕਸੀ ਜਾਂ ਫੀਡ ਇਨਲਾਈਨ ਪ੍ਰਮਾਣਿਕਤਾ ਨਾਲ ਸੰਰਚਿਤ ਹੋਣ ਵੇਲੇ ਕਲਾਇੰਟ ਅਜਿਹੇ URL ਲੌਗ ਕਰਦੇ ਹਨ।
ਇਹ ਸਾਬਤ ਕਰਨ ਲਈ ਕਿ ਤੁਸੀਂ ਸੰਪਾਦਿਤ ਨਹੀਂ ਕੀਤਾ, ਮੂਲ ਫਾਈਲ ਕਦੇ ਨਾ ਭੇਜੋ। ਜੇ ਓਪਰੇਟਰ ਅਣਬਦਲੇ ਐਕਸਪੋਰਟ ’ਤੇ ਜ਼ੋਰ ਦੇਵੇ, ਤਾਂ ਪੁੱਛੋ ਕਿ ਇਹ ਕਿਸ ਲਈ ਚਾਹੀਦਾ ਹੈ, ਉਹਨਾਂ ਦੇ ਪ੍ਰਮਾਣਿਤ ਸਹਾਇਤਾ ਚੈਨਲ ਰਾਹੀਂ ਭੇਜੋ, ਅਤੇ ਫਿਰ ਆਪਣੀ ਸਥਾਨਕ ਨਕਲ ਮਿਟਾਓ। ਇਹ ਬੇਨਤੀ ਜਾਇਜ਼ ਹੈ; ਜਨਤਕ ਪੇਸਟ ਨਹੀਂ।
ਸੰਪਾਦਿਤ ਨਕਲ ਬਣਾਓ ਅਤੇ ਹਿੱਸਾ ਭੇਜੋ
ਨਕਲ ’ਤੇ ਕੰਮ ਕਰੋ, ਮੂਲ ਨੂੰ ਸੁਰੱਖਿਅਤ ਥਾਂ ’ਤੇ ਰੱਖੋ, ਅਤੇ ਹੱਥ ਨਾਲ ਨਹੀਂ ਬਲਕਿ ਦੁਹਰਾਉਣ ਯੋਗ ਕਮਾਂਡ ਨਾਲ ਸੰਪਾਦਿਤ ਕਰੋ। ਪਤਾ ਪੈਟਰਨਾਂ ’ਤੇ ਇੱਕ ਵਾਰ ਲੰਘਣ ਨਾਲ ਇਸਦਾ ਬਹੁਤਾ ਹਿੱਸਾ ਫੜਿਆ ਜਾਂਦਾ ਹੈ:
cp vpn-support.log vpn-support.original.log
sed -E 's/([0-9]{1,3}\.){3}[0-9]{1,3}/ADDR/g; s/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+/USER@DOMAIN/g' \
vpn-support.original.log > vpn-support.redacted.log
grep -cE 'PRIVATE KEY|password|token' vpn-support.redacted.log
ਅੰਤਿਮ ਗਿਣਤੀ ਜ਼ੀਰੋ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਜੇ ਨਹੀਂ, ਤਾਂ ਸੰਪਾਦਨ ਪਾਸ ਨੇ ਇੱਕ ਸ਼ਕਲ ਛੱਡ ਦਿੱਤੀ ਹੈ ਅਤੇ ਕੁਝ ਵੀ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹ ਲਾਈਨਾਂ ਵੇਖਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਸੰਪਾਦਿਤ ਫਾਈਲ ਆਪਣੀਆਂ ਅੱਖਾਂ ਨਾਲ ਵੀ ਇੱਕ ਵਾਰ ਪੜ੍ਹੋ; ਸਕ੍ਰਿਪਟ ਪੈਟਰਨ ਫੜਦੀ ਹੈ, ਸੰਦਰਭ ਨਹੀਂ।
ਨਾਕਾਮੀ ਅਜੇ ਵੀ ਦਿਖਾਉਣ ਵਾਲਾ ਸਭ ਤੋਂ ਛੋਟਾ ਹਿੱਸਾ ਭੇਜੋ। ਗਲਤੀ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਦਸ ਲਾਈਨਾਂ ਆਮ ਤੌਰ ’ਤੇ ਕਾਫ਼ੀ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ ਉਹ ਦੋ ਮੈਗਾਬਾਈਟ ਫਾਈਲ ਨਾਲੋਂ ਕਿਤੇ ਸੌਖੀਆਂ ਸਮੀਖਿਆ ਹੁੰਦੀਆਂ ਹਨ। ਫਿਰ ਆਪਣੇ ਲੇਬਲਾਂ ਅਤੇ ਅਸਲ ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਮੈਪਿੰਗ ਆਪਣੇ ਕੰਟਰੋਲ ਵਾਲੀ ਥਾਂ ’ਤੇ ਰੱਖੋ, ਕਿਉਂਕਿ ਅਗਲੇ ਸਵਾਲ ਨੂੰ ਇਸਦੀ ਲੋੜ ਪਵੇਗੀ।
OpenVPN ਦਾ ਲੌਗਿੰਗ ਦਸਤਾਵੇਜ਼ ਦੱਸਦਾ ਹੈ ਕਿ ਵਰਬੋਸਿਟੀ ਪੱਧਰ ਕੀ ਰਿਕਾਰਡ ਹੁੰਦਾ ਹੈ ਨੂੰ ਕਿਵੇਂ ਬਦਲਦੇ ਹਨ, ਜੋ ਸਮੱਸਿਆ ਨੂੰ ਫਾਈਲ ਦਾ ਕਿੰਨਾ ਹਿੱਸਾ ਸੱਚਮੁੱਚ ਚਾਹੀਦਾ ਹੈ ਇਹ ਤੈਅ ਕਰਨ ਲਈ ਲਾਹੇਵੰਦ ਸੰਦਰਭ ਹੈ।