Настройка fail2ban

Инструкция по установке и настройке клиента fail2ban.

Данный инструмент предназначен для противодействия брутфорсу на сервере. Примерно круглосуточно каждый узел интернета атакуется тысячами ботов, которые брутят SSH, порты баз данных и подобное. Буквально нет ни минуты, когда какой-то бот не производит попытку залогиниться на ваш сервер.

Для чего это делается? Как правило так собирается ботнет, ищут слабые узлы, в большинстве своем под удар попадают Redis и Docker серверы, так как те по умолчанию не имеют какого-либо контроля доступа в случае открытия их в публичный доступ.

Fail2ban же предназначен для отражения подобного рода постоянных атак.

Установка

Мы рассмотрим установку инструмента на примере Debian & Ubuntu.

Для начала можно обновить пакеты, если вы этого не сделали ранее.

sudo apt update && sudo apt upgrade -y

После чего установить и поставить в автозагрузку fail2ban.

sudo apt install fail2ban
sudo systemctl enable fail2ban

Настройка

Основным конфигурационным файлов является /etc/fail2ban/jail.conf, но мы можем создать свой /etc/fail2ban/jail.local для удобства, его F2B будет обрабатывать в первую очередь.

nano /etc/fail2ban/jail.local

Формально данный софт умеет защищать по большому множеству протоколов, но как правило используют только защиту SSHD, пример конфигурации:

[sshd]
port      = 22
enabled   = true
maxretry  = 3
findtime  = 1h
bantime   = 1d
ignoreip  = 127.0.0.1/8 1.1.1.1

Данный конфиг означает, что IP с которого будет произведено 3 неудачные попытки войти по SSH (на порту 22) за последний час попадет в бан на 1 сутки. Игнорируется IP 1.1.1.1 и адреса из подсети 127.0.0.1/8

Запуск и проверка

Команда для запуска.

sudo systemctl start fail2ban

И также команда для проверки количества блокировок по SSH-протоколу.

sudo fail2ban-client status sshd

Last updated