Zaklep računa proti prepovedi naslova: kje OpenVPN v resnici šteje
Prepoved vira in zaklep računa štejeta različne stvari. Poiščite shrambo, ki ima števec neuspehov, preden izberete prag za VPN, ki temelji na PAM.
Blokiranje naslova in zaklep računa sta dva različna mehanizma in spodletita v nasprotnih smereh. Prepoved naslova ustavi en vir, ciljni račun pa ostane dosegljiv od drugod; zaklep računa ustavi to identiteto povsod, tudi na prenosniku uporabnika samega.
Pri VPN, ki preverjanje pristnosti prepusti PAM, je števec tisto, do česar pride sklad PAM, ne tisto, kar je zabeležil poslušalec.
Dva števca, dve različni žrtvi
Omejevalnik hitrosti gleda vir in sprašuje, koliko poskusov je pred kratkim prišlo z njega. Zaklep gleda identiteto in sprašuje, koliko neuspehov je račun nabral. Prvi varuje razpoložljivost, drugi poverilnice; nobeden ne nadomesti drugega.
Zato stavek blokiramo IP po petih neuspehih ni odgovor na poročilo o polnjenju poverilnic. Napadalec menjava vire, vsak dobi malo poskusov in račun se nikoli ne šteje. Nasprotno zaklep brez nadzora virov napadalcu omogoči, da z namernim spodletavanjem drži račun zaklenjen neomejeno.
Oba nadzora imata tudi različni zgodbi obnovitve. Prepoved naslova poteče po časovniku, o katerem ni treba nikomur razmišljati; zaklep računa lahko zahteva skrbnika, dokumentirano čakalno dobo ali samopostrežno ponastavitev.
Poiščite shrambo, ki že ima štetje
Preden kar koli dodate, ugotovite, ali shramba neuspehov že obstaja. Krajevni račun Linuxa, imeniška storitev in zunanji ponudnik identitete vodijo vsak svoje štetje, modul PAM pred njimi pa ustvari drugega, namesto da bi razširil prvega.
grep -rnE 'faillock|pam_tally|pam_unix' /etc/pam.d/
ls -l /etc/pam.d/ | head -20
Preberite storitveno datoteko, ki jo VPN resnično navaja, in sledite njenim vrsticam vključevanja. V mnogih distribucijah storitev VPN vključi skupno datoteko, kar pomeni, da štetje, ki ga nastavljate, velja tudi za SSH in krajevne prijave.
Če imenik že vsiljuje zaklep, je koristno vprašanje, kako pogovor PAM pride do te odločitve in kako ga VPN poroča. Krajevno štetje na vrhu ne postane števec imenika in obe politiki se lahko razhajata glede tega, kdaj se račun odklene.
pam_faillock ima tri mesta klica, ne enega
Modul loči tri operacije, ki jih ena kopirana vrstica običajno zamegli: preverjanje, ali je račun že zaklenjen, zapis neuspeha in brisanje zgodovine po uspehu.
Tu se selitev s starejšega modula štetja običajno zmoti. Kopiranje vrstice iz delujočega primera pam_tally2 v sklad pam_faillock ni preimenovanje; dokumentirana nastavitev je drugačna in klic na napačnem mestu lahko zapisuje neuspehe, ne da bi jih kdaj preveril.
faillock --user alice
faillock --user alice --reset
Pregledno orodje je najhitrejši način, da vidite, ali je števec resničen: prikaže zabeležene neuspehe računa in jih lahko izbriše. Če nadzorovani neuspeh tega izhoda ne spremeni, je mesto klica napačno.
Lastno ime storitve ni izolacija
Lastna storitvena datoteka PAM za VPN naredi predvideno politiko vidno, ne omeji pa učinka. Vsako vključevanje skupne datoteke prinese, kar ta datoteka počne, vključno s štetji za celoten sistem.
Jasno odločite, ali zaklep pokriva samo dostop VPN ali vsako storitev, ki preverja isti račun. Oba odgovora sta zagovorljiva; napaka je verjeti, da ste izbrali enega, medtem ko sklad izvaja drugega.
Nato upoštevajte stroške. Zaklep lahko sproži napadalec in trpi uporabnik, ki mu račun pripada. Prag, čakalna doba in administrativna pot obnovitve so del politike, obnovitev pa ne sme biti odvisna od ponovnega nastavljanja VPN med dogodkom.
Sprejmite zaporedje, ne ene zavrnitve
Preizkusite z določenimi identitetami po odobrenem načrtu in preizkusite verigo, ne enega dogodka: veljaven račun se preveri, namerno napačno geslo premakne števec, nastavljeni zaklep stopi v veljavo in dokumentirana obnovitev vrne dostop.
faillock --user test-vpn-01
journalctl -u openvpn-server@lab -n 30 --no-pager | grep -i 'auth\|pam'
Vedenje ob uspehu opazujte enako skrbno kot ob neuspehu. Če uspešna prijava ne izbriše zgodovine, se bo račun zaklenil po počasnem kopičenju običajnih napak. Če izbriše vse iz vsake storitve, je števec šibkejši, kot trdi politika.
Na koncu ustavite nenadzorovane odjemalce, preden razglasite zmago. Shranjene poverilnice, ki v ozadju poskušajo znova, bodo nekaj minut po obnovitvi znova ustvarile neuspehe in račun znova zaklenile. Omejevanje hitrosti po viru lahko ostane kot dodatni nadzor, vendar to ni politika računa.