Я установил fail2ban
на сервере Ubuntu 20.04. Я следил за некоторыми статьями о том, как его настроить, но это не работает. Я сделал 10 неправильных попыток входа, но меня не забанили.
/etc/fail2ban/jail.local
:
[sshd]
enabled = true
port = 27485
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 4w
findtime = 1d
/var/log/auth.log
:
sudo: user : TTY=pts/3 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/auth.log
sudo: pam_unix(sudo:session): session opened for user root by user(uid=0)
sshd[23907]: Connection closed by authenticating user user 111.1.1.1 port 8825 [preauth]
sshd[23909]: Connection closed by authenticating user user 111.1.1.1 port 8827 [preauth]
sshd[23911]: Connection closed by authenticating user user 111.1.1.1 port 8828 [preauth]
sshd[23913]: Connection closed by authenticating user user 111.1.1.1 port 8829 [preauth]
sshd[23915]: Connection closed by authenticating user user 111.1.1.1 port 8830 [preauth]
Что я сделал здесь неправильно? Я запустил systemctl status fail2ban
, и он работает. Я также перезапустил
его после сохранения конфигурации.
Можете ли вы предоставить дополнительную информацию из вашего /var/log/auth.log
.
Я попробовал локальный тест с несуществующим пользователем, и это то, что я вижу в журнале (на экземпляре Ubuntu 20.04)
Oct 23 16:23:48 vps-34 sshd[35253]: Invalid user adminxxx from 123.123.123.123 port 35382
Oct 23 16:23:50 vps-34 sshd[35253]: pam_unix(sshd:auth): check pass; user unknown
Oct 23 16:23:50 vps-34 sshd[35253]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=123.123.123.123
Oct 23 16:23:52 vps-34 sshd[35253]: Failed password for invalid user adminxxx from 54.38.78.234 port 35382 ssh2
Oct 23 16:23:55 vps-34 sshd[35253]: Connection closed by invalid user adminxxx 54.38.78.234 port 35382 [preauth]
Очевидно, что если sshd не регистрирует сбои, fail2ban не может их обнаружить..
Возможно, у вас есть ssh-agent или какой-либо другой метод, который автоматически регистрирует вас на сервере...
можете попробовать что-то вроде:
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no -o ControlPath=none example.com
(Чтобы заставить его использовать аутентификацию по паролю) и заодно хвост журнала:
# tail -f /var/log/auth.log