Perskaitykite VPN žurnalą prieš jį siųsdami: laukas po lauko
Palaikymo žurnaluose yra vartotojų vardai, sertifikatų vardai, vidiniai adresai ir kartais raktas. Peržiūrėkite laukus, ieškokite paslapčių, tada siųskite redaguotą ištrauką.
Atidarote palaikymo užklausą, pridedate kliento sugeneruotą diagnostikos eksportą ir laukiate. Faile greičiausiai visai nėra naršymo istorijos, ir būtent tai leidžia jam atrodyti saugiam. Vis dėlto jame yra, kas esate, kokią mašiną naudojote, kokius vidinius adresus ir kada pasiekėte, o kartais privatus raktas, kurį nukopijavo klientas, registruojantis savo konfigūraciją. Failo peržiūra prieš siunčiant trunka apie penkias minutes ir užkerta kelią visam laikui atskleisti duomenis.
Atidarykite jį ir perskaitykite pirmąsias keturiasdešimt eilučių
Pradėkite nuo viršaus, kur klientai paprastai išverčia versiją, platformą ir konfigūraciją. Pirmosios eilutės pasako, kiek failas išsamus, ir tai lemia, kiek likusios dalies turite paisyti. Numatytasis žurnalas ir derinimo žurnalas yra skirtingi artefaktai su skirtinga ekspozicija.
head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'
Taip pat patikrinkite failo dydį ir formą, prieš ką nors iš jo skaitydami. Dviejų megabaitų tekstinį failą su vienu pasikartojančiu įvykiu lengva apkirpti. Dvejetainis įrašas tame pačiame kataloge yra visiškai kita problema, ir jam reikia kito pokalbio su tuo, kas paprašė eksporto.
Windows sistemoje atitikmenys yra po vieną cmdlet, ir pirmąjį verta paleisti bet kuriame faile, kurio patys nesukūrėte:
Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime
Laukai, kurie identifikuoja asmenį
Vartotojų vardai pasirodo vietose, kurių žmonės nesitiki: autentifikavimui naudojama paskyra, sertifikato subjektas, profilio kelias po namų katalogu ir mašinos vardas, kuris dažnai užkoduoja tikrą vardą. Žurnalas, kuris redaguoja paskyros lauką ir palieka namų kelią nepaliestą, neatliko jokio redagavimo.
| 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 |
Nuoseklumas svarbesnis už išsamumą, kai palaikymo inžinieriui reikia sekti vieną sesiją per failą. Pakeiskite reikšmes stabiliomis etiketėmis, o ne ištrinkite jas, kad kiekvienas to paties vartotojo pasirodymas vis dar būtų skaitomas kaip tas pats vartotojas. Visiškas lauko ištrynimas nutraukia giją, kurios inžinieriui reikia, ir nepadaro failo saugesniu.
Laiko žyma taip pat yra asmens duomenys visumoje. Laikai, kada paskyra prisijungė, paimti per mėnesį, apibūdina darbo valandas ir keliones. Jei klausimui nereikia viso intervalo, apkirpkite failą iki lango aplink įvykį.
Laukai, kurie identifikuoja tinklą
Galinių taškų adresai, vidiniai maršrutai ir stumiami parametrai apibūdina privataus tinklo formą. Būtent šios informacijos norėtų užpuolikas, ir ji paprastai pateikiama daug išsamiau, nei reikia užklausai.
Ieškokite naudojamos adresų šeimos, o ne tik tos, kurios tikėjotės. Dvigubo kamino klientas gali įrašyti IPv6 galinį tašką ir IPv6 maršrutų rinkinį, apie kurių redagavimą niekas nepagalvojo, nes peržiūra ieškojo tik taškais atskirtų ketvertų.
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
Unikalus sąrašas yra esmė. Jis pasako, kiek skirtingų adresų failas mini, ir paprastai tai yra daug mažiau, nei atrodo slenkant. Jis taip pat duoda kontrolinį sąrašą redagavimui ir būdą įrodyti, kad apėmėte visus. Dešimt adresų yra penkių minučių darbas, o šimtas sako, kad eksportas platesnis už klausimą.
Išsaugokite topologiją, jei inžinieriui jos reikia. Antrojo ir trečiojo okteto pakeitimas išsaugant potinklio ryšius atsako į klausimą nepaskelbus diapazono. Tas pats triukas veikia IPv6 prefiksams. Inžinieriui reikia gedimo formos, ir forma išlieka po nuosekaus pakeitimo.
Paslaptys slepiasi formose, o ne etiketėse
Privačiam raktui nereikia žodžio “password” šalia. Jis pasirodo kaip blokas tarp žymeklių eilučių, kaip ilga base64 eilutė arba kaip įterptas konfigūracijos išrašas. Žetonai pasirodo kaip užklausos parametrai, o prisijungimo duomenys – URL viduje, kuriuos klientas užrašė pažodžiui.
grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log
Antrasis šablonas yra tas, kurį žmonės pamiršta. URL, kurio forma yra schema, vartotojas, slaptažodis, hostas, yra pilni prisijungimo duomenys, ir klientai tokius URL registruoja visada, kai tarpinė serveris ar srautas sukonfigūruotas su įterptu autentifikavimu.
Niekada nesiųskite originalaus failo kaip įrodymo, kad jo neredagavote. Jei operatorius reikalauja nepakeisto eksporto, paklauskite, kam jo reikia, nusiųskite jį jų patikrintu palaikymo kanalu ir po to ištrinkite savo vietinę kopiją. Šis prašymas yra teisėtas; viešas įklijavimas – ne.
Sukurkite redaguotą kopiją ir siųskite ištrauką
Dirbkite su kopija, originalą laikykite apsaugotoje vietoje ir redaguokite pakartojama komanda, o ne rankomis. Vienas praėjimas per adresų šablonus pagamina didžiąją dalį:
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
Galutinis skaičius turėtų būti nulis. Jei ne, redagavimo praėjimas praleido formą, ir prieš ką nors siųsdami turėtumėte pažvelgti į tas eilutes. Perskaitykite redaguotą failą dar kartą savo akimis; scenarijus pagauna šablonus, o ne kontekstą.
Siųskite mažiausią ištrauką, kuri vis dar rodo gedimą. Dešimt eilučių aplink klaidą paprastai pakanka, ir jas daug lengviau peržiūrėti nei dviejų megabaitų failą. Tada saugokite etikečių ir tikrųjų reikšmių atitikimą vietoje, kurią kontroliuojate, nes tolesniam klausimui jo prireiks.
OpenVPN žurnalų dokumentacija aprašo, kaip išsamumo lygiai keičia tai, kas įrašoma, o tai yra naudingas kontekstas sprendžiant, kiek failo problemai iš tikrųjų reikia.