Otevřete tiket podpory, přiložte diagnostický export, který klient vytvořil, a čekáte. Soubor pravděpodobně neobsahuje vůbec žádnou historii prohlížení, a právě proto působí bezpečně. Přesto obsahuje, kdo jste, který stroj jste použili, které interní adresy jste dosáhli a kdy, a občas soukromý klíč zkopírovaný klientem, který zaznamenává svou konfiguraci. Projití souboru před odesláním trvá asi pět minut a zabrání trvalému odhalení.

Otevřete ho a přečtěte prvních čtyřicet řádků

Začněte nahoře, kde klienti obvykle vysypou verzi, platformu a konfiguraci. První řádky říkají, jak je soubor podrobný, což určuje, kolik ze zbytku vás musí zajímat. Výchozí protokol a ladicí protokol jsou různé artefakty s různou expozicí.

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

Před čtením čehokoli si také zkontrolujte velikost a tvar souboru. Textový soubor o dvou megabajtech s jednou opakující se událostí se snadno ořízne. Binární záznam ve stejné složce je úplně jiný problém a vyžaduje jiný rozhovor s tím, kdo export požadoval.

Ve Windows jsou ekvivalenty po jednom cmdletu a první stojí za spuštění na každém souboru, který jste sami nevytvořili:

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

Pole, která identifikují osobu

Uživatelská jména se objevují na místech, která lidé nečekají: účet použitý k autentizaci, subjekt certifikátu, cesta profilu v domovském adresáři a název stroje, který často kóduje skutečné jméno. Protokol, který rediguje pole účtu a ponechá domovskou cestu nedotčenou, neredigoval nic.

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

Konzistence je důležitější než úplnost, když musí podpůrný technik sledovat jednu relaci napříč souborem. Nahraďte hodnoty stabilními štítky místo jejich mazání, aby se každý výskyt stejného uživatele stále četl jako stejný uživatel. Úplné smazání pole přeruší vlákno, které technik potřebuje, a soubor bezpečnější neudělá.

Časové razítko je také osobní údaj v souhrnu. Časy, kdy se účet připojoval, vzaté za měsíc, popisují pracovní dobu a cestování. Pokud otázka nepotřebuje celý rozsah, ořízněte soubor na okno kolem události.

Pole, která identifikují síť

Adresy koncových bodů, interní trasy a tlačené možnosti popisují tvar soukromé sítě. To je přesně informace, kterou by útočník chtěl mít, a obvykle je přítomna mnohem podrobněji, než tiket potřebuje.

Hledejte rodinu adres, která se používá, ne jen tu, kterou jste očekávali. Klient s duálním zásobníkem může zaznamenat koncový bod IPv6 a sadu tras IPv6, které nikoho nenapadlo redigovat, protože kontrola hledala jen tečkované čtveřice.

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

Jedinečný seznam je jádro věci. Řekne vám, kolik různých adres soubor zmiňuje, což je obvykle mnohem méně, než to při rolování působí. Také vám dá kontrolní seznam pro redigování a způsob, jak dokázat, že jste pokryli všechny. Deset adres je práce na pět minut a sto vám říká, že export je širší než otázka.

Zachovejte topologii, pokud ji technik potřebuje. Nahrazení druhého a třetího oktetu při zachování vztahů podsítě odpoví na otázku, aniž by zveřejnilo rozsah. Stejný trik funguje pro prefixy IPv6. Technik potřebuje tvar poruchy a tvar přežije konzistentní substituci.

Tajemství se skrývají ve tvarech, ne ve štítcích

Soukromý klíč nepotřebuje slovo “password” poblíž. Objevuje se jako blok mezi značkovacími řádky, jako dlouhý řetězec base64 nebo jako vložený výpis konfigurace. Tokeny se objevují jako parametry dotazu a přihlašovací údaje uvnitř URL, které klient zaznamenal doslova.

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

Druhý vzor je ten, na který lidé zapomínají. URL ve tvaru schéma, uživatel, heslo, hostitel je úplný přihlašovací údaj a klienti takové URL zaznamenávají vždy, když je proxy nebo kanál nakonfigurován s vloženou autentizací.

Nikdy neposílejte původní soubor jako důkaz, že jste ho neupravovali. Pokud operátor trvá na nezměněném exportu, zeptejte se, k čemu ho potřebuje, pošlete ho jejich ověřeným podpůrným kanálem a poté svou místní kopii smažte. Tato žádost je legitimní; veřejné vložení není.

Vytvořte redigovanou kopii a odešlete výňatek

Pracujte na kopii, originál uchovejte na chráněném místě a redigujte opakovatelným příkazem, ne ručně. Jediný průchod přes vzory adres zachytí většinu:

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

Konečný počet by měl být nula. Pokud není, průchod redigování minul nějaký tvar a před odesláním čehokoli byste se měli na ty řádky podívat. Přečtěte si redigovaný soubor jednou i vlastníma očima; skript zachytí vzory, ne kontext.

Odešlete nejmenší výňatek, který ještě ukazuje poruchu. Deset řádků kolem chyby obvykle stačí a hodnotí se mnohem snáze než soubor o dvou megabajtech. Poté uchovávejte mapování mezi svými štítky a skutečnými hodnotami na místě, které ovládáte, protože následná otázka ho bude potřebovat.

Dokumentace OpenVPN k protokolování popisuje, jak úrovně podrobnosti mění to, co se zaznamenává, což je užitečný kontext pro rozhodnutí, kolik souboru problém skutečně vyžaduje.

Související články