VPN-profilen din inneholder en privat nøkkel, ikke bare innstillinger
Serveradresser står ved siden av private nøkler, innebygde hemmeligheter og tokens. Før du limer inn en profil i en støttetråd, bør du vite hvilke linjer som er identiteten.
Alle som limer inn en VPN-profil i en forumtråd, starter fra den samme overbevisningen. Filen inneholder bare en serveradresse og noen få innstillinger, så det føles som å dele et telefonnummer. Så leser noen den og finner en ukryptert privat nøkkel på fjerde linje.
Profilen er ikke dokumentasjon om tunnelen. Den er tunnelens identitet, skrevet ut.
Objektene i filen har ikke samme hemmelighetsnivå
Et offentlig CA-sertifikat er ment å reise. En klients private nøkkel er ikke det. Når begge vises i samme fil, får den harmløse hele vedlegget til å se trygt ut. Det er fellen.
OpenVPN gjør dette verre av design. Det tillater sertifikater, nøkler og autentiseringsmateriale å bli bygget inn direkte. Det er praktisk for utrulling og katastrofalt for deling. Filen som begynner med en lesbar sertifikatblokk, fortsetter inn i den private halvdelen.
WireGuard er mer direkte. Grensesnittsdelen bærer en privat nøkkel, og hver peer kan i tillegg bære en forhåndsdelt nøkkel. Det er ingen uklarhet om hvilke linjer som betyr noe. Nesten hver linje gjør det.
Et skjermbilde er den samme lekkasjen i et annet format
Å kode en konfigurasjon som en QR-kode gjør den ikke til en forhåndsvisning. Koden bærer de samme bytene, og ethvert telefonkamera i rommet kan dekode den. Det samme gjelder et skjermbilde av et klients konfigurasjonsvindu, der nøkkelen er lesbar i hjørnet.
Autentiseringsfiler og refererte nøkkelstier hører til samme revisjon. En profil som peker på en ekstern fil, er ikke automatisk tryggere, fordi stien kan føre et sted hen som en leser kan nå. Et token i en autentiseringsfil er like brukbart som et passord, og det ligner sjelden på et.
Send feilteksten, ikke nøkkelen
Diagnosen trenger feilteksten, klientversjonen og navnene på innstillingene som ble prøvd. Den trenger ikke nøkkelen. Skriv spørsmålet med disse tre tingene, og erstatt hver hemmelighet og hver unødvendig nettverksidentifikator før filen forlater maskinen din.
Avsnittet i OpenVPN-håndboken om innebygde filer er et nyttig kart over hvor disse objektene ligger. Det minner også om hvor mange en enkelt profil kan inneholde.
# 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
Les deretter det endelige vedlegget i stedet for å stole på hukommelsen din om redigeringen. Nøkler gjemmer seg i senere blokker, i en uredigert kommentar og i en linje du bestemte var strukturell.
Etter eksponering er rotasjon den eneste reparasjonen
Å slette innlegget tilbakekaller ingenting. Den som mottok filen, har fortsatt en fungerende legitimasjon, og derfor må utstederen tilbakekalle eller erstatte den gjennom tjenestens egen prosess. Å fjerne en lokal kopi endrer ingenting i den andre enden.
Oppbevar arbeidsprofiler med en beskyttet metode, og fjern utdaterte importerte oppføringer med vilje i stedet for å legge igjen tre kopier i en nedlastingsmappe. En profil du ikke lenger bruker, er fortsatt en legitimasjon til den tilbakekalles.
Vanen som er verdt å bygge, er liten. Før noen profil forlater maskinen, spør hva annet som er i den utenom adressen, og svar ved å lese filen i stedet for å huske den.