Cisco Secure Client giver dig to måder at svare på de samme loginforespørgsler: en person, der taster i vpnui.exe, eller et script, der sender svar til vpncli.exe via standardinput med -s. Den anden gør planlagte forbindelser mulige uden at skrabe GUI’ens skærm, og den gør også et login til en fil, der skal beskyttes som en legitimationsoplysning. Hvilken du vil have, afhænger af, om der sidder et menneske ved maskinen, og hvor ofte adgangskoden roterer. Ingen af mulighederne ændrer, hvad gatewayen spørger om, kun hvem der svarer.

Begge veje ender i samme tunnel, så sammenligningen handler om drift, ikke protokol.

To måder at svare på de samme forespørgsler

GUI-vejen er interaktiv af design: klienten spørger, nogen svarer, og sessionen lever, så længe den person lader den være. Det er det rigtige valg på en bærbar computer, som et menneske bruger, fordi forespørgslerne tilpasser sig gatewayens godkendelsesmetode, og ingen behøver at have en adgangskode i klartekst på disken.

Scriptvejen er rigtig til en kiosk, en labmaskine eller en planlagt opgave, hvor der ikke er nogen til at taste. Byttehandelen er tydelig: du accepterer en legitimationsfil på disken til gengæld for uovervåget forbindelse. Hvis gatewayen tilbyder certifikat- eller SAML-godkendelse, er den handel normalt ikke værd at gøre, fordi filen kun findes for at svare på forespørgsler, som en stærkere metode ville undgå.

Bland ikke de to på samme maskine samtidig. Kommandolinjen og den grafiske klient konkurrerer om den samme sessionstilstand, og det er næste afsnits problem.

Hvad svarfilen skal indeholde

Klienten spørger i rækkefølge — gateway, nogle gange et gruppevalg, brugernavn, adgangskode og enhver bannerbekræftelse. En fil, der svarer på dem alle, ser sådan ud, med rigtige værdier indsat:

connect vpn.example.com
MyGroup
alice
correct-horse-battery
y

Den pålidelige måde at bygge den fil på er at forbinde én gang manuelt, skrive hver linje ned, du taster, og hvert Enter, du trykker på, og derefter gengive præcis den sekvens. Installationer, der gemmer gruppen og brugernavnet i profilen, kan have brug for tomme linjer, hvor de forespørgsler ikke længere vises, og den sidste linje har stadig brug for sin egen linjeskift. En fil, der mangler én linje, hænger normalt ved den sidste forespørgsel i stedet for at fejle med en klar fejl, og det er derfor, det bliver skudt på netværket. Sammenlign filen med din udskrift to gange, én gang for rækkefølgen og én gang for de tomme linjer.

Hold filen uden for enhver synkroniseret mappe og læsbar kun af den konto, der kører opgaven. Den adgangskode er klartekst, så filen er en legitimationsoplysning: intet repository, ingen delt drev, ingen vedhæftet fil i en sag. Klienten advarer dig ikke om noget af dette.

Hvorfor GUI’en skal væk først

Start scriptet med at afslutte GUI-processen, og kør derefter CLI’en fra sin egen installationsmappe, fordi både arbejdsmappen og klientversionen betyder noget. En illustrativ indpakning:

@echo off
taskkill /IM vpnui.exe /F >nul 2>&1
cd /d "%PROGRAMFILES(x86)%\Cisco\Cisco Secure Client"
vpncli.exe -s < C:\secure\login.txt

Exitkoder er ikke et pålideligt succesignal her. Klienten udskriver sin fremdrift og holder tunnelen i en separat proces, så læs outputtet for forbindelsestilstanden, og start først derefter det arbejde, der afhænger af VPN’en.

Hvis du springer drabet på GUI’en over, kan scriptet se ud til at køre, mens den eksisterende session bliver i den tilstand, brugeren efterlod den i. Den fejl ser periodisk ud, og det er netop den slags fejl, der overlever en uges gætteri.

Bekræft en session, antag den ikke

Når scriptet vender tilbage, så tjek noget, der kun findes inde i tunnelen — en intern vært eller et DNS-suffiks, som kun den interne resolver svarer på. Læs også klientens output for dens linje om forbindelsestilstand, og behandl alt andet som en fejl i stedet for en langsom succes. At køre filen igen, mens en session allerede er oppe, kan efterlade klienten halvkonfigureret, så enten afbryd først, eller spring login over, når sessionen er der.

Beslut derefter, hvem der ejer genopkoblingen. En løkke, der pinger en intern adresse og kører login igen, kan holde en kiosk online i måneder, og den kan også låse en konto første gang, adgangskoden roterer. Begræns antallet af forsøg, alarmér når det overskrides, og lad identitetsteamet rotere filen i stedet for at lade en forældet adgangskode prøve igen indtil en låsning.

Ældre vpnclient.exe er ikke det samme værktøj

Den samme automatisering findes under et ældre navn, og de to kan ikke udskiftes. Den udfasede Cisco IPsec-klient brugte vpnclient.exe med inline-argumenter som et connect-verbum, et profilnavn, en bruger og en adgangskode på én kommandolinje; vpncli.exe forventer en sekvens af forespørgsler på standardinput med -s. Derfor giver det en kommando, der kører, intet synligt gør, og får skylden på gatewayen, når man kopierer et gammelt forumscript til en nutidig maskine.

Før du redigerer nogen argumenter, så tjek hvilken klient der er installeret, og hvilken scriptet faktisk kalder. Navneforskellen er lille nok til at overse i en planlagt opgave, og det er det første, der skal verificeres, når et nedarvet script er holdt op med at virke efter en opgradering.

Relaterede artikler