Linux Forum Казахстан

Общий => Администрирование => Тема начата: zhum от 31 Декабря 2009, 11:14

Название: SSH и PAM (блокировка учетной записи после неудачного входа через SSH)
Отправлено: zhum от 31 Декабря 2009, 11:14
Доброе утро!
Имеется сервер RHEL 5.4:
# uname -a
Linux siebeltest 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux


Подключение идет через ssh:
# rpm -qa openssh
openssh-4.3p2-36.el5


Есть необходимость настроит блокировку учетной записи после 4 неудачных попыток входа через ssh.

1. Поискал в /etc/ssh/sshd_config, там не нашел нужного параметра. Видимо ssh в чистом виде не поддерживает блокировку.
2. В /etc/login.defs тоже отсутствует такой параметр блокировки.
3. Пытаюсь настроит через PAM(Pluggable Authentication Modules)
содержимое файла /etc/pam.d/sshd:
# more /etc/pam.d/sshd
#%PAM-1.0
auth    include    system-auth
auth   required    pam_tally.so   deny=4 lock_time=1800
account   required    pam_nologin.so
account   include    system-auth
password include    system-auth
session   optional    pam_keyinit.so force revoke
session   include    system-auth
session   required    pam_loginuid.so


Вторую строку я сам добавлял. Перезапустил ssh сервис /etc/init.d/sshd restart.

После чего пробовал 4 раза ввести неправильно пароль через PuTTY. В логах выдал сообщение:
# tail /var/log/secure
Dec 31 10:55:58 siebeltest sshd[5708]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Dec 31 10:56:13 siebeltest sshd[5710]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.3.7 user=test
Dec 31 10:56:13 siebeltest sshd[5710]: pam_tally(sshd:auth): user test (500) tally 11, deny 4
Dec 31 10:56:17 siebeltest sshd[5710]: Failed password for test from 10.0.3.7 port 13393 ssh2
Dec 31 10:56:44 siebeltest sshd[5710]: pam_tally(sshd:auth): user test (500) has time limit [1769s left] since last failure.
Dec 31 10:56:48 siebeltest sshd[5710]: Failed password for test from 10.0.3.7 port 13393 ssh2
Dec 31 10:56:50 siebeltest sshd[5710]: pam_tally(sshd:auth): user test (500) has time limit [1794s left] since last failure.
Dec 31 10:56:55 siebeltest sshd[5710]: Failed password for test from 10.0.3.7 port 13393 ssh2
Dec 31 10:56:58 siebeltest sshd[5710]: pam_tally(sshd:auth): user test (500) has time limit [1792s left] since last failure.
Dec 31 10:57:02 siebeltest sshd[5710]: Failed password for test from 10.0.3.7 port 13393 ssh2


И после ввел правильный пароль и зашел в систему. Аккаунт не блокировался.

Подскажите пожалуйста как это настроит правильно. Может у кого то уже работает это.
Название: SSH и PAM (блокировка учетной записи после неудачного входа через SSH)
Отправлено: Vicpo от 31 Декабря 2009, 12:46
Ну для таких вещей желательно использовать pam_abl (http://pam-abl.deksai.com) или denyhost
Название: SSH и PAM (блокировка учетной записи после неудачного входа через SSH)
Отправлено: log от 31 Декабря 2009, 14:24
Цитата: zhum от 31 Декабря 2009, 11:14Есть необходимость настроит блокировку учетной записи после 4 неудачных попыток входа через ssh.

Fail2ban в помощь. Следит не только за SSH, но и за многими другими серверами.
Позволяет предотвратить брутфорс на ssh, а так же ssh-ddos.
Банит после N-неудачных попыток логина (настраиваемый параметр) на заданное время.
Название: SSH и PAM (блокировка учетной записи после неудачного входа через SSH)
Отправлено: sotrud_nik от 01 Января 2010, 23:07
http://www.puschitz.com/SecuringLinux.shtml#LockingUserAccountsAfterTooManyLoginFailures

Ссылка вам в помощь
Название: SSH и PAM (блокировка учетной записи после неудачного входа через SSH)
Отправлено: Zhan от 11 Мая 2010, 21:56
на FreeBSD использую denyhost
правда он банит ip-адрес с которого некорректно логинились.