В зависимости от вашего дистрибутива, отредактируйте /etc/fail2ban/jail.conf
Обновить [ssh]
раздел, чтобы показать что-то вроде этого
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
bantime = 3600
maxretry = 3
Измените параметры как требуется. Он не будет специально блокировать root, но каждая попытка не удалась. Будьте осторожны с maxretry
и bantime
. Если вы потерпите неудачу с вашим собственным паролем, в то время как maxtretry
установлен низкий, вы блокируете себя для bantime
. Перезапустите fail2ban.
Я не буду пытаться заблокировать IP-адрес навсегда, так как множество попыток исходит от динамических IP-адресов, которые могут блокировать некоторых законных пользователей в более поздний момент времени.
(Некоторые дистрибутивы предлагают файл jail.options для ваших модификаций. Это предпочтительное место для внесения ваших изменений, поскольку на него не должны влиять обновления, перезаписывающие файл conf.)
Скопируйте этот код в новый файл /etc/fail2ban/filter.d/sshd-root.conf:
ПОЖАЛУЙСТА, СОЗНАЙТЕ, что вам, возможно, придется отредактировать failregex, чтобы точно определить неудачные попытки входа в систему root - используйте:
чтобы проверить, что он определяет правильные записи журнала.
Затем вам нужно отредактировать свой jail.local, чтобы использовать новый фильтр - добавьте что-то вроде:
Очевидно, вы должны настроить эти значения в соответствии с вашими потребностями. Приведенные выше настройки отбросят все входящие пакеты с нарушающего IP-адреса после трех попыток войти в систему как пользователь root и снова освободят IP-адрес через одну неделю.
источник
Поскольку по умолчанию
/etc/fail2ban/filter.d/sshd.conf
уже есть регулярное выражение для AllowUsers и DenyUsers ...Следующее будет:
exampleusername
с внешних IP-адресовroot
или любые соединения в локальной сети (192.168.0. *)Строка `/ etc / ssh / sshd_config ':
И в
/etc/fail2ban/jail.conf
:источник
Как вы заблокировали ssh логины? / bin / false или опция syd_config DenyUsers?
Я не могу придумать ответ из моей головы, но IIRC denyhosts анализирует файл журнала, так что просто посмотрите, не получена ли запись в файле журнала после того, как кто-то попытается войти в систему с отключенным root
источник
/etc/ssh/sshd_config
и изменилPermitRootLogin
с да на нет. Я не знаю, относится ли это к делу, но у меня установлен rssh, который позволяет только определенным пользователям входить в систему с использованием sftp, но не разрешает ssh.