Hvernig breytir OpenConnect innskráningarköku í göng?
OpenConnect skiptir vefinnskráningarköku fyrir VPN-göng. Kakan er handhafi lotunnar, svo verndaðu afhendinguna, ekki bara innskráningarsíðuna.
OpenConnect tengir tvö aðskilin skipti með einu skammlífu gildi: vefinnskráninguna og VPN-göngin. Fyrri skiptin eru venjulegt HTTPS: auðkenni, SAML-ferð eða tákn fara til hliðsins, og svarið ber auðkenningarköku. Seinni skiptin sýna þeirri sömu hlið þessa köku sem sönnun þess að vefþátturinn hafi þegar átt sér stað, og aðeins þá rís göngin.
Ekkert um göngin er samið á meðan innskráning stendur. Það er sá hlutur sem er þess virði að skilja, því flestar skriftvillur gera ráð fyrir að kakan sé lykilorð til að geyma, eða lykill sem verndar umferð, þegar hún er í raun handhafamiði fyrir tiltekna lotu hliðsins.
Hvað biðlarinn og hliðið skiptast á, í réttri röð
Auðkenningarþátturinn lítur út eins og venjuleg varin vefsíða. OpenConnect sendir auðkenni notandans, eða fylgir enduropnun hliðsins til auðkennisveitanda, og hliðið svarar með skjali sem fellir auðkenningarkökuna inn. Í AnyConnect-samskiptareglunni fer þetta gildi í kökuhaus á næstu beiðnum, venjulega undir nafni eins og webvpn, og handbókin meðhöndlar það sem auðkennið sem ber lotuna áfram.
Seinni þátturinn er CONNECT-beiðni til VPN-endapunkts hliðsins með kökunni viðfanga. Hliðið athugar hana, úthlutar vistfangi, og biðlarinn ræsir CSTP yfir TLS, en DTLS er valfrjáls hraðari gagnaleið þegar lotan er til. Aðeins á þessum tímapunkti eru göngufæribreytur, leiðir, DNS-stillingar og umferðarlyklar lotunnar ákvarðaðir. Kakan kom biðlinum í gegnum hurðina; hún dulkóðaði ekkert.
Þessi röð útskýrir hvers vegna openconnect --authenticate er til. Keyrðu það og það framkvæmir vefþáttinn, prentar lítinn blokk skeljabreyta eins og COOKIE, HOST, CONNECT_URL og FINGERPRINT, og hættir svo áður en nokkur göng eru byggð. Umbúðarskrift getur þá ræst raunverulegu tenginguna með þessum gildum, og það er einmitt sú skipting sem þarf í uppsetningu án skjás eða í tveimur gámum.
Kakan er handhafi lotu, ekki lykill
Meðhöndlaðu gildið eins og þú myndir meðhöndla lotuauðkenni í vefforriti. Sá sem hefur það á líftíma sínum getur beðið hliðið um göngin sem sú lota á rétt á, svo leynd þess skiptir máli. En afritun opinberar ekki umferð, því trúnaður ganganna kemur frá TLS-handtaki og afleiddum lyklum, ekki frá kökustrengnum.
Hún er heldur ekki varanlegt leyfi. Hliðið og auðkennisveitandinn ákveða hversu lengi lotan lifir, og vafri sem enn sýnir innskráða síðu segir ekkert um hvort gongulotan sé enn gild. Að tengjast aftur eftir að hafa runnið út þýðir að endurtaka vefþáttinn og framleiða nýja köku, og það er einmitt tilgangur endurauðkenningar, ekki óþægindi sem á að sneiða fram hjá.
Ekki líta á köku sem algilda staðgöngu fyrir önnur auðkenni. SAML fullyrðing, vafralykilorð og kaka gefin út af annarri þjónustu eru ólíkir hlutir með ólíka áheyrendur, og að líma eitt í reit hins mistekst venjulega við hliðið eða, það sem verra er, tekst gegn röngum traustsmörkum.
Afhenda kökuna án þess að skilja eftir afrit
Öruggasta vélræna afhendingin á Linux er staðalatfóður. --cookie-on-stdin les gildið af stdin, svo kakan birtist aldrei í frumbreytulista ferilsins, þar sem hver staðbundinn notandi getur lesið hana með ps. Pípa sem auðkennir í einum ferli og fóðrar göngin í öðrum heldur gildinu í pípu í stað skráar eða umhverfisbreytu.
Frumbreytur og umhverfisbreytur eru veikari af mismunandi ástæðum. Frumbreyta er sýnileg í ferilatöflunni allan líftíma biðlarans og endar oft í skeljasögunni. Umhverfisbreyta er erfð til barnferla, og systemd-eining sem stillir hana í einingarskránni geymir leyndarmálið í læsilegri stillingu. Ef skrá er nauðsynleg, takmarkaðu hana við þjónustureikninginn og eyddu henni þegar lotunni lýkur.
Haltu líka réttindamörkunum viljandi. Ferillinn sem talar við auðkennisveitandann og opnar kannski vafra ætti að keyra sem sá notandi sem innskráningin tilheyrir. Ferillinn sem stillir leiðir, DNS og gongutækið gæti þurft meiri réttindi. Að keyra allan vafrann sem rót svo kakan hans sé aðgengileg göngum í eigu rótar er röng skipting, og nútíma OpenConnect-uppsetningar geta afhent gildið yfir þessi mörk á skýran hátt.
Atburðaskráning á skilið sömu tortryggni. Ítarlegt biðlarauttak, hjálparskriftir og greining hliðsins geta öll endurtekið beiðniefni, og ekki hvert skráningastig hylur kökuna. Skráðu minnstu villufærsluna sem þú þarft, haltu henni utan sameiginlegra rása og skoðaðu hyljað sýnishorn áður en þú hengir það við mál.
Sannprófun og útrunni í seinni þætti
Seinni þátturinn verður samt að sannprófa netþjóninn. FINGERPRINT sem --authenticate prentar er skírteinisnagli í forminu pin-sha256:, og að afhenda honum gongukallinu með --servercert heldur athuguninni festri við hliðið sem þú auðkenndist gagnvart. Að slökkva á skírteinisathugun til að einfalda skrift fjarlægir eina sönnunina fyrir því að kakan sé afhent þeim vefþjóni sem átti að fá hana.
Þegar hliðið hafnar kökunni er lausnin ný auðkenningarumferð, ekki lengri skyndiminni. Geymdu kökuna aðeins á líftíma tengingarinnar, eyddu tímabundnum skrám við útgöngu, og notaðu lotu- og eyðingarferli auðkennisveitandans eða hliðsins þegar lota verður opinber eða tæki glatast. Skyndiminnuð kaka er ekki undanþága frá MFA.
Áður en þú sjálfvirknir þetta skaltu sannprófa fjóra hluti: göngin keyra undir réttum reikningi, kakan berst um stdin, fingrafar skírteinisins er naglað, og lotunni er hent þegar göngunum er lokað. Ef eitthvað vantar hefur sjálfvirknin aukið traust á kökunni í stað þess að endurtaka handvirka ferlið.