Почему 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
это на самом деле дает некоторые советы о том, как и почему. - Не запирайся.
- Ваши пароли должны быть достаточно надежными, чтобы вам было легко, зная, что пара человек пробует пару паролей в час, не найдя ничего за миллион лет.