Les VPN-loggen din før du sender han: felt for felt
Støtteloggar inneheld brukarnamn, sertifikatnamn, interne adresser og stundom ein nøkkel. Gå gjennom felta, søk etter hemmelegheiter, og send deretter eit redigert utdrag.
Du opnar ein støttebillett, legg ved diagnostikkutdraget klienten har laga, og ventar. Fila inneheld truleg ingen nettlesarhistorikk i det heile, og det er nettopp derfor ho kjennest trygg. Ho inneheld likevel kven du er, kva maskin du brukte, kva interne adresser du nådde og når, og stundom ein privat nøkkel kopiert inn av ein klient som loggar konfigurasjonen sin. Å gå gjennom fila før du sender ho tek omtrent fem minutt og hindrar ei varig avsløring.
Opne han og les dei første førti linjene
Start øvst, der klientane vanlegvis dumpar versjon, plattform og konfigurasjon. Dei første linjene fortel kor ordrik fila er, og det avgjer kor mykje av resten du må bry deg om. Ein standardlogg og ein feilsøkingslogg er ulike artefakt med ulik eksponering.
head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'
Sjekk òg storleiken og forma på fila før du les noko av ho. Ei tekstfil på to megabyte med éi hending som går att er lett å skjere ned. Eit binært opptak i same mappa er eit heilt anna problem, og det krev ein annan samtale med den som bad om utdraget.
På Windows er ekvivalentane éin cmdlet kvar, og den første er verd å køyre på kva fil du ikkje har laga sjølv:
Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime
Felta som identifiserer ein person
Brukarnamn dukkar opp på stader folk ikkje ventar: kontoen som vert brukt til autentisering, subjektet til sertifikatet, profilbanen under ei heimemappe og maskinnamnet som ofte kodar eit verkeleg namn. Ein logg som redigerer kontofeltet og lèt heimebanen vere intakt, har ikkje redigert noko.
| 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 |
Konsistens tyder meir enn fullstendigheit når ein støtteingeniør skal følgje éi økt gjennom fila. Erstatt verdiar med stabile etikettar i staden for å slette dei, slik at kvar førekomst av same brukar framleis vert lesen som same brukar. Å slette feltet heilt bryt tråden ingeniøren treng, og gjer ikkje fila tryggare.
Eit tidsstempel er òg personopplysningar samla. Tidspunkta ein konto kopla til, tekne over ein månad, skildrar arbeidstid og reiser. Viss spørsmålet ikkje treng heile området, klipp fila til vindauget rundt hendinga.
Felta som identifiserer eit nettverk
Endepunktadresser, interne ruter og push-konfigurerte val skildrar forma til eit privat nettverk. Det er nøyaktig informasjonen ein åtakar ville hatt, og han finst vanlegvis i langt større detalj enn billetten treng.
Sjå etter adressefamilien som er i bruk, ikkje berre den du venta. Ein dual-stack-klient kan logge eit IPv6-endepunkt og eit sett IPv6-ruter som ingen tenkte på å redigere, fordi gjennomgangen berre leita etter punktseparerte kvadruplar.
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
Den unike lista er poenget. Ho fortel kor mange ulike adresser fila nemner, og det er vanlegvis langt færre enn det kjennest når ein rullar. Ho gjev deg òg ei sjekkliste å redigere etter og ein måte å prova at du dekte alle. Ti adresser er eit arbeid på fem minutt, og hundre fortel deg at utdraget er breiare enn spørsmålet.
Behald topologien viss ingeniøren treng han. Å erstatte andre og tredje oktett medan subnettrelasjonane vert haldne svarer på spørsmålet utan å publisere området. Same trikset fungerer for IPv6-prefiks. Det ingeniøren treng er forma på feilen, og forma overlever ei konsistent erstatning.
Hemmelegheiter gøymer seg i former, ikkje i etikettar
Ein privat nøkkel treng ikkje ordet “password” i nærleiken. Han viser seg som ein blokk mellom markørlinjer, som ein lang base64-streng eller som ein innebygd konfigurasjonsdump. Token viser seg som spørjeparametrar, og legitimasjon viser seg inne i URL-ar som ein klient logga ordrett.
grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log
Det andre mønsteret er det folk gløymer. Ein URL av forma skjema, brukar, passord, vert er ein fullstendig legitimasjon, og klientar loggar slike URL-ar kvar gong ein proxy eller ein feed er konfigurert med innebygd autentisering.
Send aldri den originale fila som prov på at du ikkje har redigert ho. Viss ein operatør insisterer på eit uendra utdrag, spør kva dei treng det til, send det gjennom den verifiserte støttekanalen deira, og slett din lokale kopi etterpå. Den førespurnaden er legitim; ei offentleg kopiering er det ikkje.
Bygg den redigerte kopien og send utdraget
Arbeid på ein kopi, oppbevar originalen på ein verna stad, og rediger med ein kommando som kan gjerast om att i staden for for hand. Éin gjennomgang av adressemønstera fangar det meste av det:
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
Det endelege talet skal vere null. Viss det ikkje er det, har redigeringsgjennomgangen oversett ei form, og du bør sjå på dei linjene før du sender noko. Les òg den redigerte fila éin gong med eigne auge; eit skript fangar mønster, ikkje kontekst.
Send det minste utdraget som framleis viser feilen. Ti linjer rundt feilen er vanlegvis nok, og dei er langt lettare å gå gjennom enn ei fil på to megabyte. Oppbevar deretter koplinga mellom etikettane dine og dei ekte verdiane på ein stad du kontrollerer, fordi oppfølgingsspørsmålet vil trenge ho.
OpenVPN-dokumentasjonen om logging skildrar korleis detaljnivå endrar kva som vert registrert, noko som er nyttig kontekst for å avgjere kor mykje av fila problemet faktisk krev.