Мой fail2ban не работает для sshd, за исключением порта по умолчанию 22/tcp.
Мой старый рабочий конфиг в jail.local:
[sshd]
enabled = true
port = ssh
Проверено fail2ban, забанил меня после 3-х неудачных попыток, как и предполагалось.
Позже я явно указал другой порт в jail.local; Туннель ssh работает на новом порту, но когда я сознательно ошибаюсь с неверным паролем ssh, я не получаю бан после любого количества попыток.
sshd.service, fail2ban.service уже перезапущен, также пробовал перезагружаться.
Я ДЕЙСТВИТЕЛЬНО получаю сообщение электронной почты о том, что меня забанили, однако я все еще могу (успешно)попытаться войти в систему.
Редактировать:Это pastebin клиента fail2ban--д | grep 'ssh'
Возможно, что-то не так в вашей конфигурации.
Например, раздел тюрьмы fail2ban по умолчанию для sshd — [sshd]
, тогда как в вашем примере показано [ssh]
. У вас есть 2 тюрьмы? Или вы сделали какую-то настройку с собственным джейлом или по умолчанию? (например, action
по умолчанию перезаписывается ).
Чтобы изучить его глубже, вы можете показать дамп конфигурации fail2ban (merged):
fail2ban-client -d | grep 'ssh'
Интересны значения actionstart (и actionban)и интерполируется ли порт в определения действий.
Небольшая подсказка:для настройки (если вам нужно перезаписать action
по какой-то причине), либо установите banaction
только (он будет интерполирован в объявлении по умолчанию action
):
[jail]
banaction = iptables-ipset-proto6
или используйте все параметры, ожидаемые действием :
[jail]
action = iptables-ipset-proto6[port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
. В противном случае действие может использовать порт по умолчанию (, который действительно может быть 22).