Si ta vendosësh OpenConnect në sfond pas një hyrjeje interaktive
Përfundo hyrjen në plan të parë dhe pastaj ia dorëzo tunelin mënyrës së sfondit të vetë klientit. Kontrollet që e mbajnë të gjetshëm dhe të ndalshëm.
Përfundon kërkesën MFA, tuneli ngrihet dhe mbyllja e terminalit e merr lidhjen me vete. Ky është problem mbikëqyrjeje, jo autentikimi, dhe OpenConnect e ka tashmë çelësin që e zgjidh. Zgjidhja është ta lësh klientin të degëzohet në sfond pasi mbaron nisja, kur pjesa interaktive ka mbaruar vërtet. Më poshtë vjen një varg kontrollesh: kaloji me radhë dhe ndalo te i pari që nuk vlen për portalin tënd.
Konfirmo çfarë kërkon portali në hyrje
Përpara se të shkruash një komandë, shkruaj rrugën e kredencialeve që imponon vendosja. Vetëm certifikatë, fjalëkalim plus token dhe një xhiro në shfletues përmes një ofruesi SAML sillen ndryshe, dhe mënyra e sfondit nuk mund të kalojë asnjërën. Opsioni ndryshon atë që ndodh pas nisjes, kurrë atë që ndodh gjatë saj.
Karremi është të automatizosh kërkesën. Një mbështjellës që shkruan një përgjigje fikse kur njeh një kërkesë fjalëkalimi prishet në momentin që portali kërkon një kod njëpërdorimsh, dhe lë një kredencial në një skedar që llogari të tjera mund të lexojnë. Nëse një person duhet të miratojë sesionin, mbaje personin në proces.
Ekzekuto sesionin e parë në plan të parë dhe lexo rezultatin
Lidhu një herë normalisht dhe lëri të gjithë shtrëngimin e duarve të printohet. Shëno protokollin e përdorur, rrugën e certifikatës ose tokenit, adresën e tunelit që jep serveri dhe çdo paralajmërim përpara se lidhja të pranohet. Ai transkript është vija bazë dhe mënyra e vetme e lirë për të dalluar më vonë një problem klienti nga një ndryshim në portal. Ruaje jashtë tamponit të terminalit.
Pastaj përsërit të njëjtin thirrje me mënyrën e sfondit dhe një skedar PID të shtuar, për shembull openconnect --background --pid-file /run/openconnect.pid vpn.example.net, duke mbajtur protokollin dhe opsionet e autentikimit që kërkon portali në të njëjtin rresht. Manuali i OpenConnect e përshkruan këtë opsion si vazhdim në sfond pas përfundimit të nisjes, dhe pikërisht për këtë faza interaktive duhet të mbarojë e para.
Bëje procesin që po ecën të gjetshëm dhe të ndalshëm
Një skedar PID është provë vetëm sa kohë përputhet me një proces të gjallë. Vendose në një drejtori që zotërohet nga llogaria e shërbimit dhe krahaso numrin e regjistruar me tabelën e proceseve përpara se të dërgosh ndonjë sinjal. Rinisjet dhe rrëzimet e lënë skedarin, dhe një skedar i vjetruar është arsyeja e zakonshme që një skript ndalimi raporton sukses ndërsa tuneli është ende lart. Trajto kontrollin si pjesë të procedurës së ndalimit, jo si hap opsional.
Dërgo sinjalin te PID-i i verifikuar, pastaj konfirmo që ndërfaqja e tunelit është zhdukur vërtet në vend që të besosh statusin e daljes. Nëse klienti ka nevojë për privilegje të larta për të konfiguruar ndërfaqen, sinjali duhet të vijë nga një llogari që lejohet ta dërgojë.
Mos e vendos mënyrën e sfondit nën një mbikëqyrës
systemd dhe mbikëqyrës të ngjashëm presin të zotërojnë procesin që nisën, prandaj një klient që degëzohet i ngatërron. Mbikëqyrësi sheh nisësin të dalë ndërsa lidhja e vërtetë vazhdon, kështu që logjika e rinisjes, raportimi i statusit dhe afatet e ndalimit përshkruajnë diçka që nuk është më e vërtetë. Shkruaj njësinë në rregullimin e planit të parë të mbështetur dhe lëri mbikëqyrësit punën e demonit.
Ruaj --background për sesionet që një person nis dhe pastaj largohet. Nëse kërkesa është një tunel që ekziston përpara se dikush të hyjë, mungon një identitet jointeraktiv i miratuar plus një plan për përtëritjen e tij, dhe asnjë flamur i rreshtit të komandës nuk jep ndonjërin. Shtimi i flamurit në një skript nisjeje prodhon një tunel që dështon në heshtje në kredencialin e parë të skaduar.
Trajto cookie-n e sesionit si kredencial
OpenConnect dokumenton një fazë autentikimi të veçantë përmes --authenticate, dhe materiali që rezulton mund të kthehet me --cookie-on-stdin. Ai çift ekziston për punë integrimi, dhe ajo që prodhon është po aq e ndjeshme sa fjalëkalimi që e krijoi.
Mbaje vlerën jashtë historisë së shell-it, jashtë regjistrave dhe jashtë çdo tiketi që hap. Një skript dorëzimi duhet gjithashtu të ruajë informacionin e verifikuar të pikës fundore që klienti mori me cookie-n; nëse e humbet, një ekzekutim i mëvonshëm mund të lidhet me një host që nuk e ke autentikuar kurrë, gjë që është më keq se një lidhje që thjesht dështon.
Kaloje listën përpara se të mbyllësh terminalin
Katër gjëra duhet të jenë të vërteta: hyrja interaktive mbaroi në plan të parë, skedari PID tregon një proces që e ke verifikuar, çështja e mbikëqyrësit është zgjidhur në njërin ose tjetrin drejtim dhe cookie ka një plan ruajtjeje që nuk është skedar teksti i thjeshtë. Kur të katërt vlejnë, largimi nga terminali është i sigurt dhe tuneli vazhdon.
Nëse njëra dështon, rregullo atë zë përpara se të prekësh të tjerat, sepse kontrollet e mbetura nuk mund ta kompensojnë. Ruaj edhe transkriptin e planit të parë të ekzekutimit të parë: herën tjetër që tuneli bie pa paralajmërim, pikërisht ajo vijë bazë ndan një ndryshim në anën e portalit nga një në anën e klientit.