Je plakt de hostnaam van de gateway in AnyConnect, het venster wordt rood of wit, en een dialoog vraagt of je een server vertrouwt waarvan de client het certificaat niet kan verifiëren. De natuurlijke beweging is doorklikken en aan het werk gaan, en dat is precies de verkeerde reflex. Het antwoord wordt in de voorkeuren van de client op die machine geschreven en geldt voor latere verbindingen, dus de dialoog is een configuratiebeslissing in het kostuum van een eenmalige waarschuwing. Dit is de route die ik neem, in de volgorde waarin de client hem toont.

Begin bij de waarschuwing die je daadwerkelijk ziet

Rood en wit zijn geen cosmetische varianten. De rode waarschuwing betekent dat het profiel of de voorkeur is ingesteld om niet-vertrouwde servers te blokkeren, dus de client weigert door te gaan tot die instelling verandert; de witte waarschuwing betekent dat hij je laat doorgaan zodra je expliciet antwoordt. Er is een derde geval dat er hetzelfde uitziet en zich anders gedraagt: een verlopen certificaat, dat de client helemaal niet aanbiedt om te importeren, omdat importeren het niet geldig zou maken. Deze drie onderscheiden kost een seconde en bepaalt alles wat volgt.

Achter alle drie staat een korte lijst oorzaken: een zelfondertekend gateway-certificaat, een particuliere CA die het eindpunt niet vertrouwt, of een hostnaam die ontbreekt in de subject alternative names van het certificaat. Elk van de drie levert dezelfde dialoog op en vraagt om een andere oplossing.

Lees het certificaat voordat je de dialoog beantwoordt

Open de certificaatdetails vanuit de waarschuwing en kijk naar drie velden voordat je een knop aanraakt. Subject en SAN moeten de gateway noemen die je echt wilde bereiken, de uitgever moet de CA zijn die jouw organisatie beheert, en de geldigheidsdatums moeten vandaag dekken. Vergelijk daarna de SHA-256-vingerafdruk met een kopie die je ergens anders hebt verkregen dan via deze verbinding, een interne documentatiepagina of een ticket, want een vingerafdruk die uit dezelfde dialoog wordt gelezen bewijst helemaal niets. Kun je geen onafhankelijke kopie vinden, dan heb je geen grond om de uitzondering te accepteren.

Dit is de stap die een lab van een productiegateway scheidt. Op een testmachine met een zelfondertekend certificaat dat je gisteren hebt gemaakt, is doorklikken redelijk. Op een bedrijfsgateway waar gebruikers daarna inloggegevens typen, is een certificaat dat je niet kunt verifiëren een plausibele onderscheppingsopstelling, en de client is het enige onderdeel dat de vraag nog stelt.

Weet wat elk antwoord in het vertrouwensarchief schrijft

Ja antwoorden op de importvraag voegt het certificaat van de gateway toe aan het vertrouwde archief van de client op die machine. Het is geen uitzondering per sessie: latere verbindingen kunnen zonder dezelfde vraag verlopen, wat het doel en ook het risico is, omdat niets op het scherm iemand eraan herinnert dat de uitzondering bestaat. Nee antwoorden zet de aanmelding alleen voor deze sessie voort. Beide wegen verbinden je, en slechts één ervan verandert de machine.

Sta je op de rode weg, dan is de eerste poging helemaal geen aanmelding. De gedocumenteerde invoervolgorde is een connect-regel gevolgd door twee bevestigingen, die de voorkeur wijzigt en afsluit; een script dat dat als succes ziet, heeft een instelling opgeslagen en zich nooit geauthenticeerd. De vraag over certificaatimport verschijnt pas bij de volgende poging, daarom concluderen mensen dat de vraag onregelmatig is.

Die volgorde is belangrijk voor automatisering, niet alleen voor vingers. Een gescript antwoord dat altijd ja zegt, blijft werken nadat de gateway verandert, en blijft elk certificaat vertrouwen dat daarna verschijnt.

Script de antwoorden in de volgorde waarin de client ze vraagt

Als de client waarschuwt maar de verbinding toestaat, komen de antwoorden in een vaste volgorde: connect, ja om door te gaan, dan de importvraag, dan de groep, de gebruikersnaam en het wachtwoord. Schrijf ze als afzonderlijke regels in het invoerbestand in plaats van de timing van de vragen te raden. Het importeren weigeren is een wijziging van één teken in hetzelfde bestand, en het is de veiligere standaard voor alles wat zonder toezicht draait.

connect vpn2.example.net
y
n
GROUP
LOGIN
PASSWORD

Verdeel liever de CA van de organisatie naar de eindpunten dan elk script te leren een bladcertificaat te accepteren. Een correct uitgegeven certificaat met de juiste SAN haalt de vraag voor iedereen weg, houdt de validatie betekenisvol en is niet afhankelijk van de herinnering van één eindpunt aan een beslissing. Een root-CA installeren is een zwaardere wijziging dan een blad importeren, dus behandel het als een beheerde uitrol en niet als een snelkoppeling van de helpdesk.

Verwijder de uitzonderingen die hun gateway overleven

AnyConnect bewaart deze voorkeuren per machine, dus oude antwoorden hopen zich op op laptops die tussen kantoren zijn verhuisd. Loop de opgeslagen voorkeuren en de geïmporteerde certificaten op beheerde eindpunten na, en controleer of een uitzondering nog een hostnaam noemt die van eigenaar is veranderd. Een voorkeur die elke niet-vertrouwde server accepteert, is breder dan het certificaat waarvoor hij is gemaakt.

Het patroon dat het waard is te bewaren is smal: een vertrouwd certificaat voor normaal gebruik, een gedocumenteerde vingerafdrukcontrole buiten de band voor een tijdelijke uitzondering, en een genoemde eigenaar die hem verwijdert wanneer de migratie eindigt. Vind je op een machine die je beheert een instelling die elke server accepteert, behandel die dan als een bevinding en niet als een gemak.

Gerelateerde artikelen