Kõigepealt EAP-meetod: millist parooli räsi saab VPN kasutada
VPN kontrollib saladust, mitte veebiräsi. Lugege meetodit ja seejärel kontrollige, mida hoidla sisaldab, enne kui lubate, et samad paroolid jäävad toimima.
Paljudel meeskondadel on veebisisselogimine, mis töötab, ja VPN, mis keeldub igast samast tabelist pärit paroolist. Veebirakendus võrdleb räsi, mille ta ise arvutas, samal ajal kui tunnel palub kliendil tõestada saladuse valdamist viisil, mida server peab suutma kontrollida. Need on erinevad nõuded salvestatud materjalile. Just nendevahelises lõhes jäävad enamik selliseid projekte toppama.
Kõigepealt meetod, siis skeem
Kirjutage üles, millist tõendit valitud meetod nõuab, enne kui vaatate ükskõik millist skeemi. Väljakutse-vastuse meetod vajab materjali, millest server saab oodatava vastuse arvutada, mis tähendab praktikas parooli või ühilduvat tuletatud kuju. Meetod, mis kannab parooli kaitstud tunneli sees, vajab parooli ennast kontrollija juures. Lugege meetodi dokumentatsiooni kontrollija nõude pärast, mitte kliendi seadistuse pärast, sest kliendinõuded on tavaliselt lihtne osa.
Kaasaegse veebiraamistiku loodud soolatud räsi ei anna kumbagi. See kontrollib üht konkreetset võrdlust ja seda ei saa tagasi pöörata saladuseks, millest see tekkis.
Väljakutse-vastus ei saa kasutada soolatud räsi
MSCHAPv2 on väljakutse-vastuse vahetus, seega ei saa server kunagi parooli ja ei saa salvestatud stringi võrrelda. Ta peab oodatava vastuse tuletama materjalist, mis tal juba on, ja seetõttu on ühilduvad salvestusvormid nii kitsad. Bcrypti või Argon2 väärtus kasutajapõhise soolaga on ühesuunaline viisil, mis välistab vahetuse täielikult. Allolev tabel lähtub salvestusvormist, mitte meetodi nimest, sest salvestusvorm otsustab vastuse.
| What the store holds | What that material can verify | What has to change |
|---|---|---|
| A bcrypt or Argon2 value with a per-user salt | nothing challenge-response can use, and not the password either | re-enrol the users, or place a verifying service in front |
| An unsalted NT-hash | MSCHAPv2, and inner PAP through a TLS tunnel | nothing, as long as that store is the verifier |
| A client certificate with a revocation list | EAP-TLS only | move enrolment and revocation to the PKI owner |
SQL-i pistikprogrammi dokumentatsioon strongSwanile määratleb oma skeemi seadistuse ja volituste jaoks ning projekt märgib selle pistikprogrammi endiselt eksperimentaalseks. Miski selles ei kohandu rakenduse kasutajate tabeliga ega arva, milline räsifunktsiooni skeem salvestatud väärtuse tekitas. Realistlikud valikud on seega migreerimine hoidlasse, mida lüüs saab kasutada, või autentimisteenus olemasoleva hoidla ees, mis suudab vahetuse teha. Kõik muu on pistik, mille sees on peidetud eeldus.
RADIUS liigutab tööd, mitte nõuet
EAP-i delegeerimine RADIUS-serverile muudab kohta, kus kontroll toimub, ja parandab tavaliselt auditijälge. See ei taasta parooli ühesuunalisest räsist, seega vajab autentimisteenus endiselt materjali, mis ühildub meetodiga, mille ta lõpetab. Meeskonnad avastavad selle pärast RADIUS-tee ehitamist, kui kohtavad teises otsas sama seina.
Kus RADIUS-server saab lugeda kataloogi, mis sisaldab ühilduvat volitust, töötab lahendus ja VPN-i lüüs jääb lihtsaks. Kus ei saa, on aus vastus registreerimise muutmine, mitte veel üks pistik. Varustamine ja tühistamine kuuluvad sellele, kes identiteeti valdab, seega on kopeeritud tabel ilma toetatud sünkroonimisprotsessita teine volituste elutsükkel, mitte üksik sisselogimine. See lahkneb esimesel korral, kui keegi lähtestab parooli ainult ühes kohas, ja lahknevus on vaikne seni, kuni mõlemas süsteemis olemas olev konto käitub kummaski erinevalt.
Piirake kataloogi lugev konto täpselt selle lugemisega ja hoidke seda eraldi kontost, mida lüüs kasutab oma seadistuse jaoks. Jagatud halduskonto muudab ainult lugemiseks mõeldud lahenduse palju laiemaks mõjuraadiuseks.
Kus peaks konto asuma
Kui materjali küsimus on lahendatud, jääb kaks arhitektuuri. Lüüs võib omada väikest volituste hoidlat, mida loeb ainult tema, või delegeerida autentimisteenusele, mis seisab ettevõtte kataloogi ees.
Esimest on lihtsam mõista ja see on kasutajale halvem, sest tal jääb hooldada teine parool. Teine hoiab ühte identiteeti ja lisab sõltuvuse teenusest, mis peab nüüd töötama enne, kui keegi saab ühenduda. Kumbki ei ole vale, kuid valik tuleks kirja panna lüüsi seadistuse kõrvale, sest muidu eeldab järgmine insener, et valiti teine. Mida iganes te valite, kaks allolevat käsku näitavad praegust olekut enne, kui seda muudate.
mysql -N -e "SELECT id, username FROM vpn_users WHERE active = 1 LIMIT 5" vpn
swanctl --list-connsKonto autentimine ei lahenda ka autoriseerimist. Grupiliikmelisus, seadme olek ja võrgu luba vajavad endiselt selgesõnalist vastendamist pärast seda, kui kasutaja on tõestanud nõutud identiteedi. Ühendus, mis autendib laitmatult ja ei autoriseeri midagi, on poliitika tulemus, mitte meetodi viga.