Vaheta VPN-i parooli ilma kõiki seadmeid välja lukustamata
Parooli muutmine ei uuenda salvestatud koopiaid. Loetle iga klient, asenda salvestatud väärtus selle omaniku juures ja peata korduskatsete tsükkel.
Kolm telefoni, ruuter ja üks monitooringukontroll hoiavad endiselt vana parooli, ja üks neist taasühendub iga üheksakümne sekundi järel. Kontoparool muudeti kümme minutit tagasi, seega esitab igaüks neist klientidest nüüd väärtuse, mille server tagasi lükkab. See on hetk, mil müüt murtakse: paroolimuudatus puudutab kontot, mitte iga seadme vana väärtuse koopiaid. Järgnev on töö, mida muudatus ei teinud.
Müüt: üks muudatus, korraga kõikjal
Arvatakse, et paroolimuudatus logib kõik välja ja sunnib puhta uue sisselogimise. See ei ole nii, sest server jälgib ainult seda, millise mandaadi ta viimati vastu võttis, samal ajal kui kliendid hoiavad seda, mille nad salvestasid. Salvestatud parooliga seade proovib seda uuesti oma ajakava järgi ja ebaõnnestub vaikselt, kuni keegi märkab, et konto on lukustatud. Kui möönda, et koopiad elavad väljaspool kontot, ei tundu rotatsioon enam ühe toiminguna.
Miski sellest ei räägi rotatsiooni vastu. See räägib selle poolt, et salvestatud koopiaid tuleks käsitleda muudatuse osana, mitte järelmõttena. Lukustus tuleneb tavaliselt paralleelsetest korduskatsetest: iga seade esitab vana väärtust oma ajakava järgi, kuni loendur vallandub. Siis tundub konto rünnatud, kuigi talle pakutakse vaid mandaate, mida keegi ei asendanud. See vahe on oluline, sest lahendus on seadmete nimekiri, mitte rangem lukustuspoliitika.
Loetle koopiad enne rotatsiooni
Kirjuta loend enne paroolivormi avamist. Loetle iga klient, skript, automatiseerimine ja hallatud profiil, mis autendib selle kontona: telefon, mis ühendub ise, kaks aastat tagasi seadistatud ruuter, sülearvuti, mis ärkab ainult esmaspäeviti, ja monitooringukontroll, mis proovib iga minut. Igaühe puhul märgi, kus mandaat on salvestatud, kas seadmele pääseb muudatuse ajal juurde ja milline taastetee on olemas, kui see ei saa uuesti ühenduda. Just see nimekiri muudab riskantse muudatuse plaaniliseks ja see peab olemas olema enne, kui vana parool lakkab töötamast.
Võrguühenduseta seadmed on klassikaline möödalask. Sahtlis olev sülearvuti naaseb kolm nädalat hiljem ja esitab aegunud väärtuse halvimal võimalikul hetkel. Märgi ka selle asukoht ja ajakava, sest pead sellele järele minema, mitte ootama.
Linuxi laevastikus on otsing mehaaniline, mitte nutikas. Otsi profiile, mis viitavad mandaadifailile, seejärel mandaadifaile endid, sest teine nimekiri on see, mis tuleb üle kirjutada. Korda harjutust töölauaklientide ja telefonide puhul, kus hoidla on profiil või võtmehoidla kirje, mitte tee. Eesmärk on nimekiri, millega saab töötada, mitte skaneering, mis väidab, et leiab iga koopia.
grep -rl auth-user-pass /etc/openvpn /etc/NetworkManager
grep -rl auth-user-pass ~/.config 2>/dev/null
Võrdle koopiaid inimestega, kellele need kuuluvad. Seade, mida keegi ei nõua, on seade, mida keegi ei uuenda, ja see on ka kõige tõenäolisemalt see, mis jätkab korduskatseid.
Millist saladust sa tegelikult roteerid
Kontoparool on VPN-i juurutuses vaid üks mandaat. Võtmefraas, sertifikaadi identiteet ja valikuline partneri saladus on igaühel oma asendustee ja oma omanik. Kontoparooli muutmine ei tee midagi seadmele, mis autendib sertifikaadiga, ja sertifikaadi uuesti väljaandmine ei tee midagi kliendile, kellel on salvestatud parool. Nimeta saladus enne, kui nimetad lahenduse.
Kui rotatsiooni ajendab kahtlus, mitte poliitika, on intsidendi protsess mugavusplaanist tähtsam. Tühista see, mida tõendid nõuavad, ja lepi seadmete nimekirja lisatööga. See otsus kuulub intsidendi omanikule, mitte sellele, kelle käes parasjagu parooli lähtestamise vorm on.
Asenda salvestatud väärtus seal, kus see elab
Muuda mandaati mehhanismi kaudu, mida teenus dokumenteerib, seejärel uuenda salvestatud koopia või käivita sisselogimisvoog igal seadmel, mille kavatsed alles jätta. Ära muuda genereeritud konfiguratsiooni halduri taga, mis selle üle kirjutab, sest haldur taastab järgmisel käivitusel vanema väärtuse ja muudatusest saab edasilükatud rike. Uuenda allikat, mida haldur loeb, või kasuta kliendi enda mandaadihoidlat. Mõlemal juhul peab seadmele jääma uus väärtus sinna, kust klient tegelikult loeb.
Klient, mis salvestab paroolifaili, vajab faili ülekirjutamist, samal ajal kui klient, mis küsib, vajab lõpetatud sisselogimist. NetworkManager hoiab saladust ühenduse profiili sees, seega käib muudatus nmcli kaudu, mitte tekstiredaktori kaudu:
nmcli connection modify work vpn.secrets "password=NEW"
nmcli connection up work
Profiil, mis loeb mandaadifaili, on kolmas juhtum. Asenda selle faili sisu, hoia selle õigused suletuna ja laadi klient uuesti, selle asemel et muuta profiili, mis sellele osutab. Profiil ei muutunud; muutus ainult saladus, mida see loeb.
Ühenda iga kavandatud seade üks kord taas, teadlikult, ja vaata, millised ebaõnnestuvad. Kui seade ebaõnnestub jätkuvalt, vaata kontot, millele see osutab, ja hoidlat, mida see loeb, enne kui parooli uuesti muudad, sest teine muudatus korrutab koopiad, mida tuleb uuendada. Seade, mis ebaõnnestub kaks korda, osutab tavaliselt valele kontole või loeb hoidlat, mida sa veel ei leidnud. Paranda see ja ühenda siis uuesti.
Seansid ja tokenid elavad paroolist kauem
Parooli muutmine ei tõesta, et olemasolevad seansid või eraldi sertifikaadid tühistati. Mõned teenused hoiavad seanssi elus, kuni see aegub või lõpetatakse selgesõnaliselt, ja välja antud tokenitel on oma eluiga. Kontrolli, mida teenus tegelikult teeb, selle asemel et eeldada, et muudatus oli globaalne. Kui muudatust ajendas kahtlus, lõpeta seansid selgesõnaliselt ja kinnita tulemus.
Mandaatide elutsükli juhis standardis NIST SP 800-63B hoiab autentijad ja seansid eraldi kategooriates, mistõttu paroolimuudatus ja globaalne väljalogimine on erinevad toimingud. Käsitle neid kahe ülesandena kahe lõpetamiskriteeriumiga. Esimene on valmis, kui uus väärtus töötab, ja teine, kui vanad seansid on kadunud.
Märgi lõpetamine ilma uut parooli kirjesse kirjutamata. Rotatsioonilog, mis sisaldab mandaati, on uus intsident, mis ootab jagatud kettal. Märgi kuupäev, uuendatud seadmed ja veel lahtised seadmed.