Din VPN-profil indeholder en privat nøgle, ikke kun indstillinger
Serveradresser står ved siden af private nøgler, indlejrede hemmeligheder og tokens. Før du indsætter en profil i en supporttråd, skal du vide, hvilke linjer der er identiteten.
Alle, der indsætter en VPN-profil i en forumtråd, tager udgangspunkt i den samme tro. Filen indeholder kun en serveradresse og et par indstillinger, så det føles som at dele et telefonnummer. Så læser nogen den og finder en ukrypteret privat nøgle på fjerde linje.
Profilen er ikke dokumentation om tunnelen. Det er tunnelens identitet, skrevet ud.
Objekterne i filen har ikke samme fortrolighedsniveau
Et offentligt CA-certifikat er beregnet til at rejse. En klients private nøgle er ikke. Når begge optræder i samme fil, får den harmløse hele vedhæftningen til at se sikker ud. Det er fælden.
OpenVPN gør det værre af design. Det tillader certifikater, nøgler og autentificeringsmateriale at blive indlejret direkte. Det er bekvemt til udrulning og katastrofalt til deling. Filen, der begynder med en læsbar certifikatblok, fortsætter ind i den private halvdel.
WireGuard er mere ligefrem. Interface-sektionen bærer en privat nøgle, og hver peer kan oveni bære en forud delt nøgle. Der er ingen tvivl om, hvilke linjer der betyder noget. Næsten hver linje gør.
Et skærmbillede er den samme lækage i et andet format
At kode en konfiguration som en QR-kode gør den ikke til en forhåndsvisning. Koden bærer de samme bytes, og ethvert telefonkamera i lokalet kan afkode den. Det samme gælder et skærmbillede af en klients konfigurationsvindue, hvor nøglen er læsbar i hjørnet.
Autentificeringsfiler og refererede nøglestier hører til samme revision. En profil, der peger på en ekstern fil, er ikke automatisk sikrere, fordi stien kan føre et sted hen, som en læser kan nå. Et token i en autentificeringsfil er lige så brugbart som en adgangskode, og det ligner sjældent en.
Send fejlteksten, ikke nøglen
Diagnosen har brug for fejlteksten, klientversionen og navnene på de indstillinger, der blev prøvet. Den har ikke brug for nøglen. Skriv spørgsmålet med de tre ting, og erstat hver hemmelighed og hver unødvendig netværksidentifikator, før filen forlader din maskine.
Afsnittet i OpenVPN-manualen om indlejrede filer er et nyttigt kort over, hvor de objekter ligger. Det er også en påmindelse om, hvor mange en enkelt profil kan rumme.
# which lines in this profile look like secrets?
grep -n -E 'PrivateKey|PresharedKey|password|auth-user-pass|BEGIN .*PRIVATE KEY' wg0.conf
# OpenVPN: show the structure without printing key material
awk '/BEGIN/{print NR": "$0} /^[a-z-]+ /{print NR": "$1}' office.ovpn
Læs derefter den endelige vedhæftning i stedet for at stole på din hukommelse om redigeringen. Nøgler gemmer sig i senere blokke, i en uredigeret kommentar og i en linje, du besluttede var strukturel.
Efter eksponering er rotation den eneste reparation
At slette opslaget tilbagekalder intet. Den, der modtog filen, har stadig en fungerende legitimationsoplysning, og derfor skal udstederen tilbagekalde eller erstatte den gennem tjenestens egen proces. Fjernelse af en lokal kopi ændrer intet i den fjerne ende.
Opbevar arbejdsprofiler med en beskyttet metode, og fjern forældede importerede poster med vilje i stedet for at efterlade tre kopier i en downloadmappe. En profil, du ikke længere bruger, er stadig en legitimationsoplysning, indtil den tilbagekaldes.
Vanen, der er værd at opbygge, er lille. Før nogen profil forlader maskinen, spørg, hvad der ellers er i den ud over adressen, og svar ved at læse filen i stedet for at huske den.