Fail2Ban, или о том как боротся с брутфорсом
Недавно появился Samba сервер, и вскоре появилась нужда в том чтобы он был доступен из сети, но, что делать с брутфорсерами? Тогда я стал лазить по форумам и нашел такую прекрасную утилиту как Fail2Ban.
И так, что-же она делает? Проще говоря, Fail2Ban - это программа для повышения безопасности сервера, которая следит за логами (В моем случае логи Samba сервера) и блокирует IP-адреса, которые пытаются выполнить подозрительные действия, такие как перебор пароля, перебор юзернеймов, и прочее. В общем, она "отсеивает" зловредных пользователей, чтобы защитить наш сервер.
И как же его настроить?
Для начала надо его установить:
sudo apt-get update
sudo apt-get install fail2ban
Потом создаем конфигурационный файл для службы, которую нужно защитить(В нашем случае samba)
sudo nano /etc/fail2ban/filter.d/samba.conf
А в него запихиваем следущее:
[Definition]
#Создаем контекст на что будет реагировать File2Ban, а так-же указываем NT_STATUS_NO_SUCH_USER, т.е если пользователь не существует
#то клиента который пытался под ним войти будут банить по IP
failregex = NT_STATUS_NO_SUCH_USER.*remoteAddress": "ipv4:<HOST>:
#<HOST> В данном случае означает то где искать IP клиента
Затем создаем второй конфиг файл:
sudo nano /etc/fail2ban/jail.local
И впихиваем в него следущее:
[DEFAULT]
# Каждые 120 сек проверяем лог файлы
findtime = 120
[samba]
# Собственно включаем правило
enabled = true
# Действие которое нужно выполнить
# В данном случае баним по IP на всех существующих портах, от 1 до 65535
# И протокол TCP
action = iptables-multiport[name=samba, port="1:65535", protocol=tcp]
# Здесь устанавливаем фильтр(Честно не знаю что он делает, но надо.)
filter = samba
# А здесь сам путь до лог файла самба, у вас он может отличатся!
logpath = /var/log/samba/logs.log
# Макс кол-во попыток
maxretry = 1
# Время через которое истекает бан в секундах (1 неделя)
bantime = 604800
Почти готово! Перезапускаем Fail2Ban:
sudo systemctl restart fail2ban
Все! Теперь сервер защищен! Кстати проверить забаненых можно так:
# Через логи (Кстати если утилита не работает, то можно проверить логи на наличие ошибок)
sudo nano /var/log/fail2ban.log
# Через специальную команду
sudo fail2ban-client status samba
Собственно вот что мы увидим если кто-то уже пытался вас взломать:
Спасибо за просмотр этой статьи!