Föråldrade krypteringsrader i gamla VPN-profiler: läs innan du kopierar
Direktiv överlever versionsbyten med andra betydelser, eller ingen alls. Kontrollera vilken klient som skrev profilen och vad tunneln faktiskt förhandlade fram.
Den här profilen skrevs 2016, och den importeras fortfarande och den ansluter fortfarande. Det är precis därför ingen tittar på den. Klienten som en gång läste dessa direktiv är sedan länge borta, och den nuvarande versionen kan tolka flera av dem annorlunda.
Att en fil överlever betyder inte att en konfiguration är aktuell. Att skilja de två idéerna åt är det mesta av arbetet.
Ta reda på vilken klient som skrev profilen
Börja med utgivaren och versionen. Betydelsen av ett direktiv definieras av den implementation som läser det. En rad som en gång valde en algoritm kan bli en reservlista, en varning eller ett hårt fel. Vilken utgåva som tolkar den avgör resultatet.
OpenVPN är det tydligaste exemplet. Version 2.5 införde data-ciphers och ändrade hur det äldre direktivet cipher deltar i förhandlingen. En profil som bara innehåller cipher AES-128-CBC ger nu ett mycket snävare förslag än författaren hade tänkt.
Läs versionsanteckningarna för inställningen som nu varnar eller misslyckas. En varning i loggen är ett faktum om den nuvarande versionen, och den väger tyngre än någons minne av varför raden lades till.
Titta på vad som faktiskt förhandlades
En lyckad import bevisar parsning, inte policy. Det förhandlade resultatet visas i klientloggen efter att anslutningen är uppe. Det kan skilja sig från båda ändarna av 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 accepterad import som tyst tappar ett direktiv lämnar en profil som läses på ett sätt och beter sig på ett annat. Det gapet är hur ett dokument märkt som härdat förhandlar fram något svagare än dess egen text hävdar. Loggen är den enda platsen där skillnaden syns. Läs den innan du litar på filen.
Uppgradera arrangemanget, inte raden
Skaffa profilen som operatören underhåller i stället för att sätta ihop algoritmnamn tills importen slutar klaga. Att lägga till rader genom att prova vänder korrigeringens riktning. Det anpassar klienten till en okänd server i stället för att fastställa vad servern stöder.
Servern kan också behöva den samordnade uppgraderingen. En nuvarande klient kan inte skapa stöd för ett förslag som motparten aldrig erbjuder. Ingen klientinställning ersätter en gateway som inte har uppdaterats.
Det som inte får offras är verifieringen. Att ta bort certifikatkontroller, stänga av värdnamnskontrollen eller stänga av uppdateringar för att hålla en gammal profil vid liv gör ett kompatibilitetsproblem till ett tillitsproblem. Det sker oftast med en liten ändring i taget.
Bekräfta resultatet och registrera undantaget
Efter ändringen, granska den förhandlade sviten igen och testa resursen som tunneln finns för. En profil som förhandlar det du avsåg och ändå inte når tjänsten har ett routing- eller identitetsproblem. Den har inte ett kryptografiskt problem.
Förvara den tidigare kända goda konfigurationen på en skyddad plats. En jämförelse är bara möjlig så länge den gamla filen fortfarande finns.
Dokumentera varje kompatibilitetsundantag med en ägare och ett granskningsdatum. En tillfällig lösning utan ägare blir permanent policy. Nästa person som läser filen kommer att anta att den valdes medvetet.