Главная » Инструкции » Защита SSH с помощью Fail2Ban

Защита SSH с помощью Fail2Ban

Что такое Fail2Ban

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

Как установить Fail2Ban

Чтобы установить Fail2Ban на сервер, мы сначала войдем на сервер и выполним команду для обновлении ПО на нашем сервере, а затем и саму команду установки Fail2Ban:

apt update
apt install fail2ban

После установки запустите и включите службу:

systemctl enable fail2ban && systemctl start fail2ban

Чтобы проверить, запущена ли служба, выполните следующую команду:

systemctl status fail2ban

Вы должны получить следующий вывод:

Как настроить Fail2Ban

Файлы конфигурации Fail2ban хранятся в папке /etc/fail2ban/ на сервере.

Все настройки конфигурации хранятся в файле jail.conf, но в большинстве случаев вам не следует редактировать этот файл, а просто необходимо указать настройки в файле jail.local или в отдельных файлах .conf в папке jail.d/. Изменение этого файла может привести к перезаписи значений при следующем обновлении системы. Мы собираемся сделать копию исходного файла jail.conf с новым именем jail.local:

cp jail.conf jail.local

Теперь мы готовы внести некоторые изменения для защиты SSH.

Если вы хотите применить какое-либо правило ко всем службам, поддерживаемым Fail2Ban, вам необходимо внести изменения в разделе [DEFAULT] в верхней части файла. Например, время бана по умолчанию установлено на 10 минут, но вы можете увеличить это значение, например, до 60 минут.

bantime  = 60m

Другими важными параметрами являются findtime и maxretry, которые всегда работают вместе. Мы сделаем maxretry на 3 и findtime на 5 минут:

findtime = 5m
maxretry = 3

Это означает, что клиент будет забанен, если будет 3 неудачных попытки входа на сервер в течении 5 минут.

Следующие параметры, которые часто используются, — это параметры электронной почты. Эти параметры помогут нам получать оповещения по электронной почте, когда fail2ban примет меры и забанит пользователей. Это объяснение destemail, отправителя и mta:

Сообщения о бане отправляются на destemail, отправителем является поле FROM в письме, а mta — почтовая служба. По умолчанию почтовая служба для fail2ban — sendmail, но вы можете настроить любую почтовую службу по своему усмотрению. Это будет работать.

Теперь проверим конфигурацию Fail2Ban на предмет предыдущих изменении, забанит ли он нас или нет:

Сначала перезагружаем fail2ban с помощью команды ниже и проверяем вход на сервер:

service fail2ban restart
root@IP’s password:
Permission denied, please try again.
root@IP’s password:
Permission denied, please try again.
root@IP’s password:
root@IP: Permission denied (publickey,password).
ssh: connect to host IP port 22: Connection refused

Как видите, после трех неудачных попыток входа Fail2Ban закрыл SSH-соединение. Пользователь будет забанен на 5 минут. Если вы попытаетесь войти в систему в течение этих 5 минут, соединение будет отклонено.

Заключение

Вот и все! Вы успешно защитили SSH сервер с помощью Fail2Ban в Ubuntu, но вы также можете защитить таким способом все остальные службы на вашем серв

Цены

▪ Стабильные.
▪ В рублях.
▪ Не зависят от $ и €.
▪ Мы  !
▪ Скидка при оплате за год!

Юридическим лицам

Договор и полный комплект бухгалтерских документов по почте.

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