Назад | Перейти на главную страницу

Почему 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

x.x.x.x - это один и тот же 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

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

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

Обратите внимание, что вам не нужно изменять этот файл (и не следует, чтобы иметь возможность полностью обновить его). Вы можете поместить блок [ПО УМОЛЧАНИЮ] в свой /etc/fail2ban/jail.d/myjails.local, также:

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