Jak zablokować użytkowników po 5 nieudanych próbach logowania?
Zebrałem kilka dystrybucji / wersji, jak to zrobić, ale nie mogę tego przetestować.
RHEL4 : dodając:
auth required /lib/security/$ISA/pam_tally.so no_magic_root
account required /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root
do:
/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd
RHEL4 : ???
SLES9 : dodając:
auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root
do:
/etc/pam.d/login
/etc/pam.d/sshd
SLES11 lub SLES10 : dodając:
auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time
do:
/etc/pam.d/common-auth
I dodając:
account required pam_tally.so
do:
/etc/pam.d/common-account
PYTANIE : Czy ktoś może potwierdzić, że jest to dobry / dobry sposób na zablokowanie użytkowników po 5 nieudanych próbach logowania? LUB JAK TO ZROBIĆ?
ps:
/sbin/pam_tally --user USERNAME --reset
czy warto to zrobić przed zrobieniem tego? Czy mogę zablokować roota za pomocą tych? Edycja PAM jest bardzo delikatną rzeczą, ponieważ Ludzie mogą się zablokować przed serwerem (mam na myśli np .: użytkownika root). Czy masz jakieś wskazówki?
no_magic_root
Odpowiedzi:
Możesz rzucić okiem na fail2ban. Można go skonfigurować tak, aby blokował konto po określonej liczbie nieudanych prób, a następnie odblokowywał po określonym czasie.
http://www.fail2ban.org/wiki/index.php/Downloads
Jeśli naprawdę poważnie podchodzisz do korzystania
pam_tally
, prawdopodobnie chcesz go użyćpam_tally2
. Powinny być instalowane z każdym bieżącym pakietem PAM. Możesz zrobić mężczyznę pam_tally2, aby zobaczyć, jak go używać.Oto przykład na początek. Dodaj następujący tekst na początku sekcji uwierzytelniania w pliku pam
/etc/pam.d/password-auth
:W tym samym pliku dodaj to do sekcji konta:
Powyższe parametry są następujące:
file=/var/log/tallylog
- Domyślny plik dziennika służy do przechowywania danych logowania.deny=3
- Odmów dostępu po 3 próbach i zablokuj użytkownika.even_deny_root
- Polityka dotyczy również użytkownika root.unlock_time=1200
- 20 min. (60 sek. * 20 min. = 1200 sek.)Jeśli nie chcesz blokować rootowania, zmień even_deny_root na magic_root .
To jest wątpliwe, jeśli chcesz zablokować konto root. Możesz zamiast tego zrobić coś takiego, w którym konto root może zostać zablokowane, ale tylko na krótszy czas niż inne konta:
Spowoduje to zablokowanie konta root tylko na minutę, wszyscy pozostali będą normalnie 1200 sekund.
Przykładowy plik dziennika wyglądałby następująco:
Możesz zapytać o zablokowane konta za pomocą polecenia pam_tally2:
Możesz odblokować ograniczenie w następujący sposób:
Teraz konto pojawia się w pam_tally2 w następujący sposób:
Bibliografia
źródło
pam_tally2
początkowo mnie zdezorientowałem, ale wymyśliłem to po następującychman pam_tally2
-powyższe sformułowanie jest nieco mylące, ponieważ w rzeczywistości dodajesz tylko
pam_tally2.so
wiersz.dzięki czemu możesz go edytować
/etc/pam.d/login
i dodać poniżej wszystkich innychauth
wierszy:lub jeśli masz
/etc/pam.d/system-auth
, możesz go tam dodać.nie jest wymagane ponowne uruchomienie ani przeładowanie żadnej usługi - staje się ona natychmiast aktywna dla nowych lokalnych loginów.
Uwaga: jeśli chcesz
pam_tally2
również złożyć wniosek osshd
inne usługi zdalne, musisz również dodać linię do/etc/pam.d/sshd
i / lub/etc/pam.d/password-auth
aby sprawdzić, czy działa, wykonaj nieudaną próbę logowania z prawidłowym użytkownikiem, a następnie uruchom
pam_tally2
na przykład dla użytkownika o nazwie
jacob
run:i wyświetli coś takiego:
jeśli zbyt wiele prób logowania się nie powiedzie, a konto zostanie zablokowane, możesz ręcznie odblokować konto:
źródło