AnyConnect á Linux: skrifta innskráningarferlið á öruggan hátt
vpn-tvíkvikjan frá Cisco AnyConnect les svör frá stdin, og það nægir fyrir endurtakanlega innskráningu. Byggðu ferlið, verndaðu skrána, staðfestu og stoppaðu.
vpn-biðlarinn sem fylgir Cisco AnyConnect hegðar sér eins og samtal: hann prentar kvaðningu, bíður eftir línu og prentar síðan þá næstu. Veittu því samtali inn frá skrá eða pípu og sama tvíkvikjan keyrir án eftirlits. Tæknin er ein tilvísun auk raðaðs lista yfir svör, og listinn, ekki tilvísunin, ræður því hvort skriftan er áreiðanleg.
Tvennt brýtur þetta í reynd. Röð kvaðninganna færist til þegar gátt biður um eitthvað aukalega, og geymt lykilorð breytir einni innsláttarvillu í læsingu á reikningi. Líttu á ferlið sem útgáfustýrð gögn sem þú getur borið saman eftir hverja breytingu á gáttinni. Brestu hátt í stað þess að reyna aftur, því lykkjan er einmitt leiðin sem rangt innslegið lykilorð verður að læstum reikningi.
Eitt ferli, í þeirri röð sem biðlarinn spyr
Keyrðu biðlarann gagnvirkt einu sinni og skrifaðu niður hverja kvaðningu í þeirri röð sem hún birtist. Þessi uppskrift verður svaraskráin. Þegar þú beinir skránni inn í tvíkvikjuna verður fyrsta línan að vera tengiskipunin sjálf, þess vegna byrjar ferlið á hýslisnæfni í stað notandanafns.
connect vpn.example.com
0
<username>
<password>
y
exit
Beri 0 velur fyrsta tengisniðið þegar gáttin býður lista; notaðu það númer sem gáttin þín prentar. y samþykkir innskráningarborða, svo eyddu þeirri línu ef enginn borði er og settu eina inn þar sem gáttin þín spyr aukaspurningar. exit í lokin er það sem leyfir biðlaranum að ljúka hreint þegar síðasta svarið hefur verið notað.
/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt
Gagnvirka stillingin er ekki valfrjáls hér. Án -s getur biðlarinn tekið yfir flugstöðina og hunsað tilbeint inntak; með henni eru svörin lesin úr straumnum og ferlið skilar sér. Þar sem tvíkvikjan þarf aukin réttindi skaltu vefja kallið í sudo -n svo skriftan bresti samstundis í stað þess að stíflast á lykilorðskvaðningu.
Hvar svaraskráin lekur
Skrá sem inniheldur lykilorð er auðkenni, svo gefðu henni heimildir eins og slíku: stilling 600, í eigu reikningsins sem keyrir verkið, og aldrei inni í sameiginlegri eða samstilltri möppu. Búðu hana til með stillingunni þegar virkri í stað þess að laga hana eftir á, því skrá er skamma stund læsileg öllum milli skrifta og chmod.
install -m 600 /dev/null ~/.config/anyconnect.txt
chmod 700 ~/.config
Hinn helmingurinn er argv. Lykilorð sem er sent sem rök er sýnilegt hverjum staðbundnum notanda sem listar ferli, og það lendir líka í sögu skeljarinnar. Lestu það úr skráarlysingu eða umhverfisbreytu í staðinn, og settu farminn í gæsalappir svo skelin geti ekki stækkað neitt inni í honum.
printf '%s\n' 'connect vpn.example.com' '0' "$VPN_USER" "$VPN_PASS" 'y' 'exit' \
| sudo -n /opt/cisco/anyconnect/bin/vpn -s
Fylgstu með gæsalöppunum. Inni í tvöföldum gæsalöppum getur gagnvirk skel stækkað lykilorð sem inniheldur ! áður en biðlarinn sér það, og bilunin kemur sem almenn event-not-found villa sem lítur út eins og samskiptavandamál.
Sannaðu göngin og lokaðu þeim svo
Tengd staða sannar aðeins að biðlarinn telji sig hafa lotu. Veldu hýsil sem svarar aðeins innan frá fyrirtækjanetinu og prófaðu hann einu sinni áður en þú gerir nokkuð annað. Bilun þar er vandamál í leiðingu eða stefnu, og að keyra innskráninguna aftur breytir því ekki.
/opt/cisco/anyconnect/bin/vpn state
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 10 https://<internal-host>/
/opt/cisco/anyconnect/bin/vpn disconnect
Athugaðu stöðuúttakið fyrir og eftir aftengingu. Biðlari sem er skilinn eftir með úrelta lotu getur neitað næstu tengingu á meðan skriftan segir enn frá árangri, og sá bilanaháttur er ósýnilegur ef þú lítur bara á útgangskóða. Berðu saman báðar lestrarnar í stað þess að treysta þeirri seinni einni. Samheiti í skeljarprófíli duga fyrir daglega notkun, en allt sem er áætlað á skilið sömu auðkennis- og sjálfsmyndaryfirferð og hvert annað verk án eftirlits.
Þegar fastur listi hættir að vera öruggur
Svaraskrá kóðar röð kvaðninga dagsins. Breyttur borði, þvinguð lykilorðsbreyting eða áskorun um annan þátt gera hana að lykkju sem getur læst reikningnum, og þess vegna verður skriftan að hætta við fyrsta óvænta svar í stað þess að endurræsa.
Gríptu það sem biðlarinn prentaði, skilaðu stöðu sem er ekki núll og láttu kæranda ákveða. Þar sem gáttin krefst annars þáttar, er heiðarlegt svar að innskráning án eftirlits sé ekki í boði fyrir það snið, ekki að ferlið þurfi eina línu í viðbót.
Snúningur tilheyrir sömu yfirferð. Ef auðkennið er geymt skaltu ákveða hver má lesa það, hvenær það breytist og hvað fjarlægir það þegar hýsilinn er endurbyggður. Skrifta sem virkar í eitt ár vegna þess að enginn snerti lykilorðið er ekki hönnun heldur slys sem bíður snúningsstefnu.
Snið sem eru ekki AnyConnect
Tveimur eldri Cisco-auðkennistílum er ruglað saman við þennan. Snið vpnc biður um IPSec ID, sem er í raun heiti hópsins, svo hóplykil, svo þín eigin auðkenni, og öll þrjú koma frá þeim sem rekur gáttina. Eldri Cisco IPsec er önnur samskiptaregla en AnyConnect, svo vpnc nær ekki þjónustu sem er aðeins AnyConnect; openconnect --protocol=anyconnect er opni biðlarinn fyrir það verk.
Skrá .pcf lýsir eldra biðlarasniðinu. Hýsilinn, hópheitið og hóplykilorðið í henni má slá aftur inn handvirkt í biðlara sem talar Cisco IPsec, þótt skráin sé ekki algild innflutningur og hver ósjálfgefin höfn eða göngustilling hverfi venjulega í flutningnum.
Byrjaðu á því sem gáttin býður í raun og veldu svo biðlarann sem talar þá samskiptareglu. Að afrita snið frá öðrum stað er leiðin sem fólk endar á að kemba auðkenni sem voru aldrei vandamálið.