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

Что такое Fail2Ban

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

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

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

apt update
apt install fail2ban
Защита SSH с помощью Fail2Ban

После установки, не забудьте запустить и активировать службу.

systemctl enable fail2ban && systemctl start fail2ban

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

systemctl status fail2ban

Вам должен показаться следующий результат:

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

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

Файлы настройки Fail2ban находятся в папке /etc/fail2ban/ на вашем сервере.

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

Все настройки конфигурации хранятся в файле jail.conf, но редактировать его напрямую не рекомендуется. Вместо этого, вы можете указать настройки в файле jail.local или в отдельных файлах .conf в папке jail.d/. Изменение jail.conf может привести к перезаписи значений при обновлении системы. Мы собираемся сделать копию исходного файла 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 минут, то его IP-адрес будет заблокирован.

Другие полезные параметры — это настройки для отправки электронных писем. Они позволяют нам получать уведомления по электронной почте, когда fail2ban принимает меры и блокирует пользователей. Эти параметры включают destemail (адрес получателя), sender (адрес отправителя) и mta (агент передачи почты).

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

Когда кто-то блокируется, уведомления о блокировке отправляются на адрес, указанный в 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 минут. Если вы попытаетесь повторно войти в систему в течение этого времени, ваша попытка будет отклонена.

Заключение

Готово! Теперь ваш SSH-сервер успешно защищен с помощью Fail2Ban в Ubuntu. Но также вы можете применить этот метод для защиты всех остальных служб на вашем сервере.

Цены

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

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

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