Mteja wa vpn anayekuja na Cisco AnyConnect hufanya kama mazungumzo: huchapisha ombi, husubiri mstari, kisha huchapisha unaofuata. Ikiwa utaingiza mazungumzo hayo kutoka faili au bomba, binary hiyo hiyo hufanya kazi bila uangalizi. Mbinu ni uelekezaji mmoja pamoja na orodha iliyopangwa ya majibu, na orodha, sio uelekezaji, ndiyo huamua ikiwa script ni ya kuaminika.

Kwa vitendo mambo mawili huvunja hii. Mpangilio wa maombi hubadilika wakati lango linauliza kitu cha ziada, na nenosiri lililohifadhiwa hugeuza kosa moja la kuandika kuwa kufungwa kwa akaunti. Chukulia mfululizo kama data yenye matoleo ambayo unaweza kulinganisha baada ya kila mabadiliko ya lango. Shindwa kwa sauti badala ya kujaribu tena, kwa sababu mzunguko ndio hasa njia ambayo nenosiri lililoandikwa vibaya huwa akaunti iliyofungwa.

Mfululizo mmoja, kwa mpangilio ambao mteja anauliza

Endesha mteja kwa mwingiliano mara moja na uandike kila ombi kwa mpangilio linavyoonekana. Nakala hiyo huwa faili ya majibu. Unapoelekeza faili kwenye binary, mstari wa kwanza lazima uwe amri ya kuunganisha yenyewe, ndiyo sababu mfululizo huanza na jina la mwenyeji badala ya jina la mtumiaji.

connect vpn.example.com
0
<username>
<password>
y
exit

0 tupu huchagua profaili ya kwanza ya muunganisho wakati lango linatoa orodha; tumia kielekezi ambacho lango lako huchapisha. y hukubali bango la kuingia, kwa hiyo futa mstari huo ikiwa hakuna bango na uingize mmoja mahali lango lako linapouliza swali la ziada. exit ya mwisho ndiyo inayomruhusu mteja kumaliza kwa usafi wakati jibu la mwisho limetumika.

/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt

Hali isiyo ya mwingiliano hapa si ya hiari. Bila -s mteja anaweza kuchukua terminal na kupuuza ingizo lililoelekezwa; pamoja nayo majibu husomwa kutoka mkondo na mchakato hurudi. Pale binary inahitaji ruhusa za juu, funga wito ndani ya sudo -n ili script ishindwe mara moja badala ya kukwama kwenye ombi la nenosiri.

Mahali faili ya majibu inavuja

Faili iliyo na nenosiri ni kitambulisho, kwa hiyo ipe ruhusa za kitambulisho: hali 600, inamilikiwa na akaunti inayoendesha kazi, na kamwe si ndani ya folda inayoshirikiwa au iliyosawazishwa. Iunde ikiwa na hali tayari imetumika badala ya kuirekebisha baadaye, kwa sababu faili husomeka na kila mtu kwa muda mfupi kati ya kuandika na chmod.

install -m 600 /dev/null ~/.config/anyconnect.txt
chmod 700 ~/.config

Nusu nyingine ni argv. Nenosiri linalopitishwa kama hoja linaonekana kwa kila mtumiaji wa ndani anayeorodhesha michakato, na pia huishia kwenye historia ya shell. Lisome kutoka kwa kielekezi cha faili au kigezo cha mazingira badala yake, na weka mzigo kwenye alama za nukuu ili shell isiweze kupanua chochote ndani yake.

printf '%s\n' 'connect vpn.example.com' '0' "$VPN_USER" "$VPN_PASS" 'y' 'exit' \
  | sudo -n /opt/cisco/anyconnect/bin/vpn -s

Angalia alama za nukuu. Ndani ya alama mbili za nukuu nenosiri lenye ! linaweza kupanuliwa na shell ya mwingiliano kabla mteja kuona, na kushindwa huja kama hitilafu ya jumla ya event-not-found inayoonekana kama tatizo la itifaki.

Thibitisha handaki, kisha lifunge

Hali ya kuunganishwa inathibitisha tu kwamba mteja anaamini ana kipindi. Chagua mwenyeji anayejibu tu kutoka ndani ya mtandao wa kampuni na ujaribu mara moja kabla ya kufanya kitu kingine. Kushindwa hapo ni hitilafu ya uelekezaji au sera, na kuendesha tena kuingia hakutabadilisha hilo.

/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

Angalia matokeo ya hali kabla na baada ya kukatisha. Mteja aliyebakiwa na kipindi cha zamani anaweza kukataa muunganisho unaofuata wakati script bado inaripoti mafanikio, na hali hiyo ya kushindwa haionekani ikiwa unaangalia tu misimbo ya kutoka. Linganisha usomaji wote wawili badala ya kuamini wa pili peke yake. Majina mbadala kwenye profaili ya shell yanatosha kwa matumizi ya kila siku, ilhali kila kitu kilichopangwa kinastahili mapitio sawa ya kitambulisho na utambulisho kama kazi nyingine yoyote isiyo na uangalizi.

Wakati orodha isiyobadilika inaacha kuwa salama

Faili ya majibu husimba mpangilio wa maombi ya leo. Bango lililobadilika, mabadiliko ya lazima ya nenosiri au changamoto ya kipengele cha pili huigeuza kuwa mzunguko unaoweza kufunga akaunti, ndiyo sababu script lazima itoke kwenye jibu la kwanza lisilotarajiwa badala ya kuanza upya.

Nasa kile mteja alichochapisha, rudisha hali isiyo sifuri na uache uamuzi kwa anayeita. Pale lango linadai kipengele cha pili, jibu la uaminifu ni kwamba kuingia bila uangalizi hakupatikani kwa profaili hiyo, sio kwamba mfululizo unahitaji mstari mmoja zaidi.

Mzunguko wa kubadilisha ni sehemu ya mapitio hayo hayo. Ikiwa kitambulisho kimehifadhiwa, amua nani anaweza kukisoma, kinabadilika lini na nini hukiondoa wakati mwenyeji anajengwa upya. Script inayofanya kazi mwaka mzima kwa sababu hakuna aliyegusa nenosiri sio muundo, ni ajali inayosubiri sera ya mzunguko.

Profaili ambazo si AnyConnect

Mitindo miwili ya zamani ya vitambulisho vya Cisco huchanganywa na hii. Profaili ya vpnc huomba IPSec ID, ambayo kwa kweli ni jina la kikundi, kisha siri ya kikundi, kisha vitambulisho vyako mwenyewe, na vyote vitatu hutoka kwa anayeendesha lango. Cisco IPsec ya zamani ni itifaki tofauti na AnyConnect, kwa hiyo vpnc haiwezi kufikia huduma ya AnyConnect pekee; openconnect --protocol=anyconnect ni mteja wazi kwa kazi hiyo.

Faili ya .pcf inaelezea profaili ya mteja wa zamani. Mwenyeji, jina la kikundi na nenosiri la kikundi ndani yake vinaweza kuingizwa tena kwa mkono kwenye mteja anayezungumza Cisco IPsec, ingawa faili sio uingizaji wa jumla na bandari au hali ya handaki isiyo chaguo-msingi kwa kawaida hupotea kwenye uhamishaji.

Anza na kile lango linatoa kwa kweli, kisha chagua mteja anayezungumza itifaki hiyo. Kunakili profaili kutoka tovuti nyingine ndiyo njia ambayo watu huishia kutatua vitambulisho ambavyo havikuwa tatizo kamwe.

Makala zinazohusiana