Otvorite zahtjev za podršku, priložite dijagnostički izvoz koji je klijent napravio i čekate. Datoteka vjerojatno ne sadrži nikakvu historiju pregledavanja, i upravo to je čini sigurnom. Ipak sadrži ko ste, koje ste računalo koristili, koje ste interne adrese dosegnuli i kada, a povremeno i privatni ključ koji je kopirao klijent koji bilježi svoju konfiguraciju. Pregled datoteke prije slanja traje oko pet minuta i sprječava trajno otkrivanje.

Otvorite ga i pročitajte prvih četrdeset redova

Počnite od vrha, gdje klijenti obično izbacuju verziju, platformu i konfiguraciju. Prvi redovi govore koliko je datoteka opširna, što određuje koliko se morate brinuti o ostatku. Zadani zapis i zapis za otklanjanje grešaka različiti su artefakti s različitom izloženošću.

head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'

Također provjerite veličinu i oblik datoteke prije nego što bilo što pročitate. Tekstualna datoteka od dva megabajta s jednim događajem koji se ponavlja lako se skraćuje. Binarni snimak u istoj mapi posve je drugi problem i zahtijeva drugačiji razgovor s onim ko je zatražio izvoz.

Na Windowsu su ekvivalenti po jedna cmdlet naredba, a prvu vrijedi pokrenuti na svakoj datoteci koju niste sami napravili:

Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime

Polja koja identificiraju osobu

Korisnička imena pojavljuju se na mjestima koja ljudi ne očekuju: račun koji se koristi za autentifikaciju, subjekt certifikata, putanja profila ispod matične mape i naziv računala koji često kodira pravo ime. Zapis koji redigira polje računa, a ostavlja putanju do matične mape netaknutom, nije redigirao ništa.

FieldWhat it identifiesPractical treatment
Account or usernameA person, and often an employerReplace consistently, keep the mapping
Certificate subject and CNDevice or user identityKeep the structure, replace the value
Home directory pathA login name, sometimes a full nameReplace the segment, not the whole path
Machine or hostnameA person or a physical locationReplace with a stable pseudonym

Dosljednost je važnija od potpunosti kada inženjer podrške mora pratiti jednu sesiju kroz datoteku. Zamijenite vrijednosti stabilnim oznakama umjesto da ih brišete, tako da se svako pojavljivanje istog korisnika i dalje čita kao isti korisnik. Potpuno brisanje polja prekida nit koja inženjeru treba i ne čini datoteku sigurnijom.

Vremenska oznaka je također osobni podatak u zbiru. Vremena kada se račun povezivao, uzeta kroz mjesec dana, opisuju radno vrijeme i putovanja. Ako pitanje ne treba cijeli raspon, skratite datoteku na prozor oko događaja.

Polja koja identificiraju mrežu

Adrese krajnjih točaka, interni smjerovi i gurnute opcije opisuju oblik privatne mreže. To je upravo informacija koju bi napadač želio imati i obično je prisutna mnogo detaljnije nego što zahtjev treba.

Tražite porodicu adresa koja se koristi, ne samo onu koju ste očekivali. Klijent s dvostrukim stekom može zabilježiti IPv6 krajnju točku i skup IPv6 smjerova koje nitko nije pomislio redigirati jer je pregled tražio samo točkaste četvorke.

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

Jedinstveni popis je poanta. Govori koliko različitih adresa datoteka spominje, a to je obično mnogo manje nego što se čini dok listate. Također vam daje kontrolni popis za redigiranje i način da dokažete da ste pokrili sve. Deset adresa je posao od pet minuta, a stotinu vam kaže da je izvoz širi od pitanja.

Zadržite topologiju ako je inženjeru treba. Zamjena drugog i trećeg okteta uz čuvanje odnosa podmreže odgovara na pitanje bez objavljivanja raspona. Isti trik radi za IPv6 prefikse. Inženjeru treba oblik kvara, a oblik preživljava dosljednu zamjenu.

Tajne se skrivaju u oblicima, ne u oznakama

Privatnom ključu ne treba riječ “password” u blizini. Pojavljuje se kao blok između označenih redova, kao dugi niz base64 ili kao ugrađeni ispis konfiguracije. Tokeni se pojavljuju kao parametri upita, a akreditivi unutar URL-ova koje je klijent zabilježio doslovno.

grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log

Drugi uzorak je onaj koji ljudi zaboravljaju. URL oblika shema, korisnik, lozinka, host potpuni je akreditiv, a klijenti bilježe takve URL-ove kad god je proxy ili feed konfiguriran s ugrađenom autentifikacijom.

Nikada ne šaljite originalnu datoteku kao dokaz da je niste mijenjali. Ako operater insistira na nepromijenjenom izvozu, pitajte zašto mu treba, pošaljite ga kroz njihov provjereni kanal podrške i zatim izbrišite svoju lokalnu kopiju. Taj zahtjev je legitiman; javno lijepljenje nije.

Napravite redigiranu kopiju i pošaljite izvadak

Radite na kopiji, čuvajte original na zaštićenom mjestu i redigirajte ponovljivom naredbom, a ne ručno. Jedan prolaz kroz uzorke adresa hvata većinu toga:

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

Konačni broj treba biti nula. Ako nije, prolaz redigiranja je propustio oblik i trebate pogledati te redove prije nego što bilo što pošaljete. Pročitajte redigiranu datoteku i jednom vlastitim očima; skripta hvata uzorke, ne kontekst.

Pošaljite najmanji izvadak koji još pokazuje kvar. Deset redova oko greške obično je dovoljno i mnogo ih je lakše pregledati od datoteke od dva megabajta. Zatim čuvajte mapiranje između svojih oznaka i stvarnih vrijednosti na mjestu koje kontrolirate, jer će ga sljedeće pitanje trebati.

OpenVPN dokumentacija o zapisivanju opisuje kako razine opširnosti mijenjaju ono što se bilježi, što je koristan kontekst za odluku koliko datoteke problem zapravo zahtijeva.

Povezani članci