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.

Relaterede artikler