ProtectHome kontra żerriegħa TOTP: għaliex il-login tal-VPN jonqos
Kodiċi korrett ma jgħinx modulu PAM li ma jistax jiftaħ iż-żerriegħa. Agħżel bejn drop-in u mogħdija tal-istat li tista’ tinkiteb, imbagħad iċċekkja l-unit.
L-awtentikatur juri kodiċi ġdid ta’ sitt ċifri, il-VPN jirrifjutah, u l-istess kodiċi jiġi vverifikat tajjeb meta ttestjah mix-shell tiegħek stess. Dan id-distakk huwa l-istorja kollha. Modulu PAM li ma jistax jiftaħ is-sigriet tar-reġistrazzjoni jirritorna falliment li jidher identiku għal kodiċi żbaljat, u l-ambjent tas-servizz li jaħbi d-direttorji tad-dar huwa raġuni komuni. Qabel ma ttaffi kwalunkwe permess, iddeċiedi f’liema minn tliet sitwazzjonijiet int.
Liema minn tliet fallimenti huwa dan?
L-ewwel huwa sigriet li l-modulu ma jistax jaqra xejn. It-tieni huwa sigriet li jista’ jaqra iżda ma jistax jaġġorna. It-tielet huwa kodiċi li verament huwa żbaljat, normalment minħabba drift tal-arloġġ jew valur milgħub mill-ġdid.
Firrahom billi taqra l-ġurnal tas-servizz u l-log tal-awtentikazzjoni tas-sistema għal tentattiv fallut wieħed, imbagħad ikkonferma liema servizz PAM jgħabbi l-plugin u liema linja tal-modulu juża dak is-servizz. Messaġġ ġeneriku ta’ falliment tal-awtentikazzjoni ma jiddistingwihomx, u lanqas test manwali b’suċċess, għax is-shell tiegħek mhuwiex l-ambjent tas-servizz.
Il-veduta tas-sistema tal-fajls tal-unit hija l-ħati tas-soltu meta jonqos biss is-servizz.
systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20Għażla A: neħħi s-sigriet mid-dar
Meta s-servizz jaħbi /home u int tippreferi żżomm dik il-protezzjoni, aħżen is-sigriet f’post fejn jista’ jarah. Il-modulu jaċċetta mogħdija secret= u kont user= li jwettaq l-operazzjonijiet tal-fajls, li jippermetti maħżen ċentrali jaqdi ħafna identitajiet.
Din hija l-għażla nadifa, u hija dik li teħtieġ l-aktar attenzjoni, għax maħżen maqsum jagħmel direttorju wieħed il-fruntiera tas-sigurtà għal kull kont.
auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otpIċċekkja tliet affarijiet qabel ma tafdah: il-kont jeżisti, il-proċess tax-xogħol tal-modulu jista’ jaqleb għalih, u l-fajls huma tiegħu b’modi restrittivi. Tużax ~ jew mogħdija b’varjabbli tad-dar flimkien ma’ user=, u tiddiżattivax il-kontrolli tas-sjieda tal-modulu biex tagħmel mogħdija taħdem. Żomm il-fażi tal-password u l-bqija tal-munzell intatti.
Għażla B: ħalli l-fajl u iftaħ mogħdija
Jekk is-sigriet irid jibqa’ fid-direttorju tad-dar tal-utent, l-unit teħtieġ veduta li tinkludi dik id-direttorju waħedha mingħajr ma tesponi kull dar fuq il-host. Drop-in jista’ jżid mount bind ristrett ħafna taħt dar fis-sandbox.
Dan iżomm is-sjieda għal kull utent bħala mudell, bi prezz ta’ bidla fl-unit li trid tiġi riveduta kull darba li jinbidel is-sandbox.
Żewġ limiti huma faċli li jinqabdu. Mogħdija biss għall-qari miżjuda taħt direttorju li s-sandbox jaħbi ma tesponihx, għax il-ġenitur sempliċement mhuwiex hemm. U l-mount irid ikun jista’ jinkiteb jekk il-modulu jrid jaġġorna l-istat, li jdaħħal l-għażla li jmiss fil-logħba. Ikteb id-drop-in bħala fajl separat minflok ma teditja l-unit ippakkjata taħt /usr/lib, sabiex aġġornament tal-pakkett ma jreġġax lura bil-kwiet.
Għażla C: żomm is-sandbox u sewwi l-kitbiet tal-istat
Il-qari tas-sigriet huwa biss nofs l-awtentikazzjoni. Il-modulu jista’ jerġa’ jikteb informazzjoni dwar id-differenza fil-ħin, protezzjoni mill-milgħub mill-ġdid jew counter, u fajl li jgħaddi mill-verifika tal-qari xorta jista’ jonqos fil-kitba.
Dak il-falliment jidher bħal kodiċi ħażin fit-tentattiv li jmiss u mhux f’dan, u għalhekk jiġi konfuż mad-drift tal-arloġġ.
Agħtih direttorju tiegħu li jista’ jinkiteb u indika l-mogħdija tas-sigriet hemmhekk, minflok ma tagħmel id-dar kollha tista’ tinkiteb. Ikkonferma s-sid tad-direttorju, l-ispazju liberu tas-sistema tal-fajls u jekk l-unit tirrestrinġix kitbiet band’oħra. Imbagħad ipprova żewġ logins konsekuttivi, għax it-tieni jipprova l-mogħdija tal-kitba u l-ewwel biss il-qari.
Ivverifika bħas-servizz, mhux bħalek innifsek
Kull verifika li timporta trid taħdem ġewwa s-sandbox tal-unit bl-identità tal-unit.
Kmand li jirnexxi bħala root jgħidlek li l-fajl jeżisti u xejn aktar. Login permezz tas-servizz reali jgħidlek jekk il-modulu jistax jaqra s-sigriet, jużah u jerġa’ jikteb dak li jeħtieġ.
Fl-aħħar, żomm ir-rekwiżit intatt. Iż-żieda ta’ għażla ta’ password nulla, l-aċċettazzjoni ta’ fallimenti tal-qari biss jew it-tneħħija tas-sandbox kollha jneħħu s-sintomu billi tinbidel il-politika. Utent li jrid jippreżenta kodiċi xorta għandu jiġi rrifjutat meta s-sigriet ma jkunx jista’ jintlaħaq.