Почему fail2ban находит, а не банит

Я заметил что-то странное на моем сервере Ubuntu Xenial.
У него есть SSH на порту по умолчанию, и у него есть fail2ban.
Fail2ban обнаруживает попытки перебора на сервере и регистрируется соответствующим образом:

2017-01-12 10:58:19,927 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:03:27,808 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:08:37,936 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:13:51,538 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:18:57,939 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:24:10,399 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:29:23,161 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:34:34,064 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:39:44,540 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x

xxxx - это один и тот же IP во всех случаях, и этот парень просто фишинг случайных имен пользователей, как видно из auth.log:

Jan 12 12:05:46 MYSERVER sshd[23579]: Invalid user journalist from x.x.x.x
Jan 12 12:05:46 MYSERVER sshd[23579]: input_userauth_request: invalid user journalist [preauth]
Jan 12 12:05:46 MYSERVER sshd[23579]: Received disconnect from x.x.x.x port 47995:11: Normal Shutdown, Thank you for playing [preauth]
Jan 12 12:05:46 MYSERVER sshd[23579]: Disconnected from x.x.x.x port 47995 [preauth]

Fail2ban видит их, он перечисляет их как "Найдено", но не бан. Есть идеи?

Редактировать:

cat /etc/fail2ban/jail.d/myjails.local
[apache-auth]
enabled = true

[sshd-ddos]
enabled = true

[recidive]
enabled = true

[dovecot]
enabled = true

[postfix]
enabled=true

Остальные файлы конфигурации остаются как есть в соответствии со стандартными настройками Ubuntu, а именно /etc/fail2ban/jail.conf имеет:

[sshd]

port    = ssh
logpath = %(sshd_log)s


[sshd-ddos]
# This jail corresponds to the standard configuration in Fail2ban.
# The mail-whois action send a notification e-mail with a whois request
# in the body.
port    = ssh
logpath = %(sshd_log)s

и у нас есть:

cat /etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true

1 ответ

Решение

Похоже, что Fail2ban по праву никого не запрещает - в предоставленном вами журнале не показано никого, кто превышает ограничения по умолчанию, которые Ubuntu xenial поставляет с fail2ban.

Посмотри в свой /etc/fail2ban/jail.conf, в [DEFAULT] раздел есть параметры findtime (по умолчанию 600 секунд, поэтому 10 минут) и maxretry (по умолчанию 5 раз, в этом окне поиска). Это означает, что тот, кто пробует всего несколько паролей в час, просто не сработает.

Обратите внимание, что вам не нужно изменять этот файл (и не нужно, чтобы иметь возможность его чистого обновления). Вы можете поместить блок [DEFAULT] в свой /etc/fail2ban/jail.d/myjails.local, также:

[DEFAULT]
findtime = 3600
bantime = 3600
maxretry = 4
  • Посмотри в начало файла jail.conf это на самом деле дает некоторые советы о том, как и почему.
  • Не запирайся.
  • Ваши пароли должны быть достаточно надежными, чтобы вам было легко, зная, что пара человек пробует пару паролей в час, не найдя ничего за миллион лет.
Другие вопросы по тегам