pam_tally2 не рассчитывает, заменяет ssh

У меня есть добавленная строка

auth required pam_tally2.so deny=3 unlock_time=180

к моему /etc/pam.d/login файл, и это великолепно в tty после 3 попыток testuser приостановлен.

Однако то, что точно та же строка в /etc/pam.d/sshd не производит эффекта.

xieerqi:$ ssh testuser@localhost
Password: 
Password: 
Password: 
Permission denied (publickey,keyboard-interactive).

xieerqi:$ ssh testuser@localhost                                                                                           
Password: 
Password: 
Password: 
Permission denied (publickey,keyboard-interactive).

Как Вы видите после того, как 3 неудачных попытки, пользователь все еще сможет делать попытку пароля ввода.

Как я делаю ssh запретить пользователя после 3 забастовок?

5
задан 29 September 2015 в 12:23

2 ответа

Для SSH могло бы быть лучше использовать что-то другое, чем pam существует отличное решение, сделанное через iptables и sshd_config файл. Это - только один способ получить то, что Вы хотите, также на основе документации обычно рекомендуется использовать Ключи SSH вместо проверки метода аутентификации пароля https://help.ubuntu.com/community/SSH/OpenSSH/Configuring.

  1. необходимо было бы измениться /etc/ssh/sshd_config добавление строки

    MaxAuthTries 1
    
  2. , необходимо создать следующие правила брандмауэра

    • , Создают новую цепочку

      iptables -N SSHATTACK   
      iptables -A SSHATTACK -j LOG --log-prefix "Possible SSH attack! " --log-level 7  
      iptables -A SSHATACK -j DROP  
      
    • Блок каждый IP-адрес в течение 120 секунд который establishe больше чем три соединения в течение 120 секунд. В случае дальше попытки подключения запрос делегирован к цепочке SSHATTACK, которая ответственна за вход возможного нападения ssh и наконец отбрасывает запрос.

      iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --set     
      iptables -A INPUT -i eth0 -p tcp -m state --dport 22 --state NEW -m recent --update --seconds 120 --hitcount 4 -j SSHATTACK    
      
  3. можно проверить попытки, предпринятые на файле /var/log/syslog.

2
ответ дан 23 November 2019 в 10:27

Обычная практика должна использовать fail2ban, который работает над сетевым уровнем вместо pam уровня и который сохраняет Ваши ресурсы для всего этого crypto, сделанный sshd.

Так или иначе, Вы пытались после той неудачной аутентификации вставить правильный пароль? Это принято? Что зарегистрировано /var/log/auth.log?

sshd сервер всегда выполняет всю стопку pam, даже если пользователь не существует, временно отстранен или заблокирован для устранения нападений с помощью каналов стороны (идентификация существующих пользователей, например). Это - проблема Вы, кажется, совершает нападки. Это может работать, но Вы не видите его более чем ssh из-за безопасности.

1
ответ дан 23 November 2019 в 10:27

Другие вопросы по тегам:

Похожие вопросы: