Иногда мой сервер пытаются взломать перебором паролей, выглядит это примерно так
cat /var/log/auth.log | grep Failed
Failed password for root from 88.150.210.88 port 56632 ssh2
Failed password for root from 88.150.210.88 port 56967 ssh2
Failed password for root from 88.150.210.88 port 57262 ssh2
Failed password for root from 88.150.210.88 port 57581 ssh2
Failed password for root from 88.150.210.88 port 57876 ssh2
Failed password for root from 88.150.210.88 port 58212 ssh2
Failed password for root from 88.150.210.88 port 58541 ssh2
Failed password for root from 88.150.210.88 port 58916 ssh2
Программа представляет собой python-скрипт, как и fail2ban, однако потребляет гораздо меньше памяти. В результате анализа файла
/var/log/auth.log
denyhosts находит адреса любопытствующих и добавляет их в конец файла/etc/hosts.deny
.
Denyhosts имеет массу настроек в файле
/etc/denyhosts.conf
. Уже после установки все готово к работе. Однако стоит обратить внимание на следующие параметры программы:PURGE_DENY = 10m
По умолчанию
PURGE_DENY
ничему не присвоен, и соответственно, все занесенные ip-адреса остаются в файле /etc/hosts.deny
навсегда. Установив данный параметр в 10m
, мы указываем программе сбрасывать список ip-адресов каждые 10 минут.BLOCK_SERVICE = sshd
Параметр
BLOCK_SERVICE
по умолчанию имеет значение sshd
, что говорит о том, что программа будет отслеживать попытки входа только по ssh-протоколу. Если же нужно отслеживать и другие типы соединений, достаточно значение данного параметра изменить на ALL
:BLOCK_SERVICE = ALL
Если собираетесь получать по электронной почте уведомления о заблокированных ip-адресах, достаточно изменить параметр
ADMIN_EMAIL
, установив ему значение вашей электронной почты:ADMIN_EMAIL = admin@mail.com
После изменения настроек программы перезапускаем ее:
$ sudo service denyhosts restart
Результат: cat /etc/hosts.deny
sshd: 217.31.180.190
sshd: 88.150.210.88
Комментариев нет:
Отправить комментарий