Заклучување сметка наспроти забрана на адреса: каде OpenVPN навистина брои
Забраната на извор и заклучувањето сметка бројат различни работи. Најдете го складиштето што го има бројачот на неуспеси пред да изберете праг за VPN заснован на PAM.
Блокирање адреса и заклучување сметка се два различни механизми и тие пропаѓаат во спротивни насоки. Забраната на адреса запира еден извор и целната сметка останува достапна од друго место; заклучувањето ја запира таа идентичност насекаде, вклучително и на сопствениот преносен компјутер на корисникот.
За VPN што го делегира автентикацијата на PAM, бројачот е она до што стигнува PAM стекот, а не она што го запишал слушателот.
Два бројачи, две различни жртви
Ограничувачот на брзина гледа извор и прашува колку обиди неодамна дошле од него. Заклучувањето гледа идентичност и прашува колку неуспеси собрала сметката. Првото ја штити достапноста, второто акредитивите; ниту едно не го заменува другото.
Затоа реченицата блокираме IP по пет неуспеси не е одговор на извештај за полнење акредитиви. Напаѓачот ги менува изворите, секој добива малку обиди, а сметката никогаш не се брои. Обратно, заклучување без контрола на изворот му дозволува на напаѓачот намерно да пропаѓа и да ја држи сметката заклучена неограничено.
Двете контроли имаат и различни приказни за обновување. Забраната на адреса истекува со тајмер за кој никој не мора да размислува; заклучувањето може да бара администратор, документиран период на чекање или самоуслужно ресетирање.
Најдете го складиштето што веќе го има бројот
Пред да додадете нешто, утврдете дали веќе постои складиште на неуспеси. Локалната Linux сметка, услугата за директориум и надворешниот давател на идентитет секој води свој број, а PAM модулот поставен пред нив создава втор наместо да го прошири првиот.
grep -rnE 'faillock|pam_tally|pam_unix' /etc/pam.d/
ls -l /etc/pam.d/ | head -20
Прочитајте ја услужната датотека што VPN-от навистина ја наведува и следете ги нејзините линии за вметнување. Во многу дистрибуции VPN услугата вметнува заедничка датотека, што значи дека бројот што го нагодувате важи и за SSH и за локалните најави.
Ако директориумот веќе наметнува заклучување, корисното прашање е како PAM разговорот стигнува до таа одлука и како VPN-от известува за неа. Локалниот број додаден одозгора не станува бројач на директориумот, и двете политики може да не се согласат кога сметката се отклучува.
pam_faillock има три позиции на повик, не една
Модулот раздвојува три операции што една копирана линија обично ги замаглува: проверка дали сметката е веќе заклучена, запишување неуспех и чистење на историјата по успех.
Тука миграцијата од постар модул за броење обично греши. Копирањето линија од работен пример pam_tally2 во стек pam_faillock не е преименување; документираното поставување е различно, а погрешно поставен повик може да запишува неуспеси без некогаш да ги провери.
faillock --user alice
faillock --user alice --reset
Алатката за проверка е најбрзиот начин да се види дали бројачот е вистински: ги прикажува запишаните неуспеси за сметка и може да ги избрише. Ако контролиран неуспех не го менува тој излез, позицијата на повикот е погрешна.
Посебно име на услуга не е изолација
Давањето на VPN-от сопствена PAM услужна датотека ја прави предвидената политика видлива, но не го ограничува ефектот. Секое вметнување на заедничка датотека го носи она што таа датотека го прави, вклучително и броеви за целиот систем.
Одлучете јасно дали заклучувањето покрива само VPN пристап или секоја услуга што ја автентицира истата сметка. Двата одговора се одбранливи; грешката е да верувате дека сте избрале едно додека стекот го спроведува другото.
Потоа земете ја предвид цената. Заклучувањето може да го предизвика напаѓач, а корисникот што страда е сопственик на сметката. Прагот, периодот на чекање и административниот пат за обновување се дел од политиката, а обновувањето не смее да зависи од преконфигурирање на VPN-от за време на инцидент.
Прифатете го редоследот, не едно одбивање
Тестирајте со определени идентитети според одобрен план и тестирајте синџир, а не еден настан: валидната сметка се автентицира, намерно погрешна лозинка го поместува бројачот, поставеното заклучување стапува на сила и документираното обновување го враќа пристапот.
faillock --user test-vpn-01
journalctl -u openvpn-server@lab -n 30 --no-pager | grep -i 'auth\|pam'
Набљудувајте го однесувањето при успех исто толку внимателно како при неуспех. Ако успешната најава не ја чисти историјата, сметката ќе се заклучи по бавно собирање на обични грешки. Ако чисти сè од секоја услуга, бројачот е послаб отколку што тврди политиката.
На крајот запрете ги ненагледуваните клиенти пред да прогласите победа. Зачуваните акредитиви што повторно се обидуваат во позадина ќе ги создадат неуспесите повторно неколку минути по обновувањето и повторно ќе ја заклучат сметката. Ограничувањето на брзина по извор може да остане како дополнителна контрола, но тоа не е политиката на сметката.