Forældede krypteringslinjer i gamle VPN-profiler: læs før du kopierer
Direktiver overlever versionsskift med andre betydninger, eller slet ingen. Undersøg, hvilken klient der skrev profilen, og hvad tunnelen faktisk forhandlede sig frem til.
Denne profil blev skrevet i 2016 og kan stadig importeres og opretter stadig forbindelse. Det er netop derfor, ingen kigger på den. Den klient, der engang læste disse direktiver, er for længst væk, og den nuværende version kan fortolke flere af dem anderledes.
At en fil overlever, betyder ikke, at konfigurationen er aktuel. At skille de to ting ad er det meste af arbejdet.
Find ud af, hvilken klient der skrev profilen
Begynd med udgiveren og versionen. Betydningen af et direktiv defineres af den implementering, der læser det. En linje, der engang valgte en algoritme, kan blive en reserveliste, en advarsel eller en hård fejl. Det er den version, der fortolker den, som afgør resultatet.
OpenVPN er det tydeligste eksempel. Version 2.5 indførte data-ciphers og ændrede, hvordan det ældre direktiv cipher deltager i forhandlingen. En profil, der kun indeholder cipher AES-128-CBC, giver nu et meget snævrere tilbud, end forfatteren havde tænkt.
Læs udgivelsesnoterne for den indstilling, der nu advarer eller fejler. En advarsel i loggen er et faktum om den nuværende version, og den vejer tungere end nogens erindring om, hvorfor linjen blev tilføjet.
Se på, hvad der faktisk blev forhandlet
En vellykket import beviser parsing, ikke politik. Det forhandlede resultat vises i klientloggen, når forbindelsen er oppe. Det kan afvige fra begge ender af konfigurationsfilen.
# OpenVPN: what did this session agree on?
sudo journalctl -u openvpn-client@office --since '5 min ago' | grep -i 'cipher\|Data Channel'
# which directives does the profile actually carry?
grep -n -E 'cipher|auth|tls-|dh ' office.ovpnEn accepteret import, der stille dropper et direktiv, efterlader en profil, der læses på én måde og opfører sig på en anden. Det hul er, hvordan et dokument mærket som hærdet forhandler noget svagere, end dets egen tekst hævder. Loggen er det eneste sted, forskellen viser sig. Læs den, før du stoler på filen.
Opgrader arrangementet, ikke linjen
Hent den profil, operatøren vedligeholder, i stedet for at sammensætte algoritmenavne, indtil importen holder op med at klage. At tilføje linjer ved forsøg vender retningen af rettelsen. Det tilpasser klienten til en ukendt server i stedet for at fastslå, hvad serveren understøtter.
Serveren kan også have brug for den koordinerede opgradering. En aktuel klient kan ikke skabe støtte for et tilbud, som modparten aldrig giver. Ingen klientindstilling erstatter en gateway, der ikke er opdateret.
Det, der ikke må ofres, er verifikation. At fjerne certifikatkontroller, slå værtsnavnekontrollen fra eller slå opdateringer fra for at holde en gammel profil i live gør et kompatibilitetsproblem til et tillidsproblem. Det sker normalt med én lille ændring ad gangen.
Bekræft resultatet, og registrer undtagelsen
Efter ændringen skal du igen undersøge det forhandlede sæt og teste den ressource, som tunnelen findes for. En profil, der forhandler det, du havde tænkt, og stadig ikke når tjenesten, har et routing- eller identitetsproblem. Den har ikke et kryptografisk problem.
Opbevar den tidligere kendte gode konfiguration et beskyttet sted. En sammenligning er kun mulig, så længe den gamle fil stadig findes.
Dokumentér enhver kompatibilitetsundtagelse med en ejer og en gennemgangsdato. En midlertidig ordning uden ejer bliver permanent politik. Den næste, der læser filen, vil antage, at den blev valgt med vilje.