Id-dħul fil-Cisco Secure Client minn qoxra Linux mingħajr il-GUI
Dokument here mhuwiex protokoll ta’ dħul. Irreġistra l-ordni reali tal-mistoqsijiet, uża expect meta tinbidel, u żomm il-password barra minn argv u l-istorja.
It-twemmin huwa li dokument here b’erba’ linji huwa dħul sħiħ mhux interattiv, u jiflaħ sakemm il-gateway joffri żewġ gruppi, jipprintja banner, jew jitlob token wara l-password. Imbagħad l-istess skript jikteb il-password f’menu li kien qed jistenna numru. Il-klijent tal-command line fuq Linux jista’ jiġi skriptjat, iżda biss jekk tagħtih dak li qed jistenna tassew, mhux dak li assuma t-tutorial.
Id-dokument here fiss huwa mit
Il-klijent Linux ta’ Cisco jinstalla programm żgħir f’/opt/cisco/anyconnect/bin/vpn, u Secure Client 5 għadu jfornih. Meta s-servizz vpnagentd ikun qed jaħdem, il-bandiera -s taqra t-tweġibiet mill-input standard bl-ordni li bih il-klijent jitlobhom. Dik l-ordni mhix fissa bejn is-servers.
Menu tal-gruppi jżid linja waħda. Banner tad-dħul iżid oħra. Talba għal token wara l-password tkisser skript ta’ erba’ linji għal kollox, għax il-ħames linja qatt ma kienet se tkun it-token. Il-falliment huwa sieket: il-klijent jirċievi string żbaljat, l-attentat ta’ konnessjoni jintemm, u l-iskript ma jirrapporta xejn utli.
Mexxi l-klijent bl-idejn darba kontra l-istess gateway u verżjoni, u ikteb il-mistoqsijiet fl-ordni li jidhru fiha. Dak it-transcript huwa l-ispeċifikazzjoni li l-iskript tiegħek irid jissodisfa.
X’qed jistenna l-klijent
Fil-każ komuni ta’ grupp wieħed l-ordni hija isem l-utent, password, u kultant konferma tal-banner. L-ewwel linja ta’ dokument here issir indiċi tal-menu biss meta s-server tassew jippreżenta menu, u għalhekk l-istess skript jaħdem f’sit u jonqos fl-ieħor.
/opt/cisco/anyconnect/bin/vpn -s connect vpn.example.net <<EOF
0
alice
$VPN_PASSWORD
y
EOF
Aqra dan bħala erba’ tweġibiet għal erba’ mistoqsijiet possibbli, mhux bħala protokoll fiss. Iż-żero huwa għażla tal-menu, mhux password, u l-y finali jaċċetta banner li ħafna gateways qatt ma jibagħtu.
Uża expect meta l-ordni ma tkunx prevedibbli
Meta l-ordni tal-mistoqsijiet tinbidel, waqaf milli tgħodd il-linji u minflok stenna l-mistoqsija. Skript expect iniedi l-kmand connect, jistenna l-mistoqsija tal-isem tal-utent, jibgħat, jistenna l-mistoqsija tal-password, jibgħat, u mbagħad jistenna l-istat konness. Kull stennija għandha t-timeout tagħha.
Qis it-timeout bħala falliment u oħroġ. Skript li jkompli jibgħat input wara mistoqsija mhux mistennija se jikteb il-password bil-pjaċir f’qoxra, menu jew kull ma jkun qed jaqra. Hekk skript tad-dħul isir inċident.
Expect jagħtik ukoll transcript li tista’ tiddokumenta bis-secret imneħħi, u dan jiswa aktar mill-exit code meta l-gateway ibiddel il-mistoqsijiet tiegħu wara aġġornament.
Is-secret irid jgħix xi mkien
Kull verżjoni ta’ dan il-problema taqsam dgħjufija waħda: il-password trid teżisti f’forma li l-klijent jista’ jaqra. Li tgħaddiha bħala argument tesponiha fit-tabella tal-proċessi. Li tekkowha minn pajp spiss tqegħdha fl-istorja tal-qoxra. It-tnejn jinqraw minn utenti lokali oħra fuq jump host maqsum.
install -m 600 /dev/null ~/.vpn-secret
umask 077; VPN_PASSWORD=$(cat ~/.vpn-secret) /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.net
File b’mod 600 li jkun proprjetà tal-kont huwa l-minimu, u xorta huwa secret f’plaintext fuq id-diska. secret-tool lookup jaqra mill-keyring ta’ Linux, u fuq macOS l-istess xogħol jagħmlu security find-generic-password -w. Fejn l-organizzazzjoni tappoġġja awtentikazzjoni b’ċertifikat jew SAML, ippreferiha, għax password maħżuna flimkien ma’ MFA xorta ma tistax tlesti dħul mingħajr bniedem.
Ikkonferma t-tunnel, imbagħad ħu l-qsim tiegħek
Tafdax in-nuqqas ta’ test tal-iżball. Staqsi lill-klijent għall-istat tiegħu u ċċekkja l-interface b’mod indipendenti:
/opt/cisco/anyconnect/bin/vpn state
ip -brief address
L-istat għandu jaqra Connected, u interface tat-tunnel għandu jkollu indirizz. Imbagħad itlob riżors wieħed li t-tunnel suppost jilħaq, għax stat konness mingħajr rotta huwa riżultat reali u faċli li taqbad.
Aqta’ b’vpn disconnect, u ħalli l-iskript li beda t-tunnel jieħu l-qsim. Xogħol fallut li jħalli sessjoni miftuħa jiekol siġġu tal-liċenzja u jidher bħala problema ta’ awtentikazzjoni għall-persuna li jmiss li tipprova.
L-ordni tax-xogħol: ikkonferma vpnagentd, irreġistra l-ordni reali tal-mistoqsijiet, agħżel dokument here jew expect, żomm is-secret barra minn argv u l-istorja, ivverifika l-istat u riżors wieħed, imbagħad aqta’ fl-istess skript.