Llegeix el registre VPN abans d’enviar-lo: camp per camp
Els registres d’assistència porten noms d’usuari, noms de certificat, adreces internes i de vegades una clau. Recorre els camps, cerca secrets i després envia un extracte redactat.
Obriu un tiquet d’assistència, adjunteu l’exportació de diagnòstic que ha produït el client i espereu. El fitxer probablement no conté cap historial de navegació, i això és el que el fa semblar segur. Encara conté qui sou, quina màquina heu fet servir, quines adreces internes heu assolit i quan, i de vegades una clau privada que ha copiat un client que registra la seva configuració. Recórrer el fitxer abans d’enviar-lo triga uns cinc minuts i evita una revelació permanent.
Obriu-lo i llegiu les primeres quaranta línies
Comenceu per dalt, on els clients solen abocar la versió, la plataforma i la configuració. Les primeres línies us diuen com de detallat és el fitxer, cosa que determina quant de la resta us ha d’importar. Un registre per defecte i un registre de depuració són artefactes diferents amb exposicions diferents.
head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'
Comproveu també la mida i la forma del fitxer abans de llegir-ne res. Un fitxer de text de dos megabytes amb un esdeveniment repetit és fàcil de retallar. Una captura binària a la mateixa carpeta és un problema completament diferent i necessita una conversa diferent amb qui va demanar l’exportació.
A Windows els equivalents són una cmdlet cadascun, i val la pena executar la primera sobre qualsevol fitxer que no hàgiu creat vosaltres:
Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime
Els camps que identifiquen una persona
Els noms d’usuari apareixen en llocs que la gent no espera: el compte utilitzat per autenticar-se, el subjecte del certificat, el camí del perfil sota un directori d’inici i el nom de la màquina que sovint codifica un nom real. Un registre que redacta el camp del compte i deixa intacte el camí d’inici no ha redactat res.
| 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 |
La consistència importa més que la completesa quan un enginyer d’assistència ha de seguir una sessió pel fitxer. Substituïu els valors per etiquetes estables en lloc d’eliminar-los, perquè cada aparició del mateix usuari encara es llegeixi com el mateix usuari. Eliminar el camp del tot trenca el fil que l’enginyer necessita i no fa el fitxer més segur.
Una marca de temps també és dada personal en conjunt. Les hores en què un compte s’ha connectat, preses al llarg d’un mes, descriuen horaris laborals i viatges. Si la pregunta no necessita tot el rang, retalleu el fitxer a la finestra al voltant de l’esdeveniment.
Els camps que identifiquen una xarxa
Les adreces dels punts finals, les rutes internes i les opcions empenyades descriuen la forma d’una xarxa privada. Aquesta és exactament la informació que un atacant voldria tenir, i normalment hi és amb molt més detall del que necessita el tiquet.
Cerqueu la família d’adreces en ús, no només la que esperàveu. Un client de doble pila pot registrar un punt final IPv6 i un conjunt de rutes IPv6 que ningú no va pensar a redactar perquè la revisió només buscava quàdruples amb punts.
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
La llista única és el punt. Us diu quantes adreces diferents esmenta el fitxer, que normalment és molt menys del que sembla mentre feu scroll. També us dona una llista de comprovació per redactar-hi i una manera de demostrar que les heu cobertes totes. Deu adreces són una feina de cinc minuts, i cent us diuen que l’exportació és més àmplia que la pregunta.
Conserveu la topologia si l’enginyer la necessita. Substituir el segon i el tercer octet tot conservant les relacions de subxarxa respon la pregunta sense publicar el rang. El mateix truc funciona per als prefixos IPv6. El que l’enginyer necessita és la forma de la fallada, i la forma sobreviu a una substitució consistent.
Els secrets s’amaguen en formes, no en etiquetes
Una clau privada no necessita la paraula “password” a prop. Apareix com un bloc entre línies marcadores, com una cadena base64 llarga o com un bolcat de configuració en línia. Els tokens apareixen com a paràmetres de consulta, i les credencials apareixen dins d’URL que un client ha registrat textualment.
grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log
El segon patró és el que la gent oblida. Una URL de la forma esquema, usuari, contrasenya, amfitrió és una credencial completa, i els clients registren aquestes URL sempre que un proxy o un feed es configura amb autenticació en línia.
No envieu mai el fitxer original com a manera de demostrar que no l’heu editat. Si un operador insisteix en una exportació sense modificar, pregunteu per a què la necessita, envieu-la pel seu canal d’assistència verificat i després esborreu la vostra còpia local. Aquesta petició és legítima; un enganxat públic no ho és.
Construeix la còpia redactada i envia l’extracte
Treballa sobre una còpia, guarda l’original en un lloc protegit i redacta amb una ordre repetible en lloc de fer-ho a mà. Una sola passada pels patrons d’adreces captura la major part:
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
El recompte final hauria de ser zero. Si no ho és, la passada de redacció s’ha deixat una forma i hauríeu de mirar aquelles línies abans d’enviar res. Llegiu també el fitxer redactat una vegada amb els vostres propis ulls; un script captura patrons, no context.
Envieu l’extracte més petit que encara mostri la fallada. Deu línies al voltant de l’error solen ser suficients, i són molt més fàcils de revisar que un fitxer de dos megabytes. Després guardeu la correspondència entre les vostres etiquetes i els valors reals en un lloc que controleu, perquè la pregunta de seguiment la necessitarà.
La documentació de registre d’OpenVPN descriu com els nivells de verbositat canvien què es registra, cosa que és un context útil per decidir quant del fitxer requereix realment el problema.