Как настроить Fail2ban для защиты SSH от перебора пароля

StopFail2ban — это локальный сервис, позволяющий брать под свой контроль файловые логи, запущенные на компьютере. Также во время использования этого простого программного обеспечения можно автоматически отправлять в блокировку нарушителей по адресу.

Программное обеспечение будет защищать от разнообразных атак на подавляющее большинство популярных NIP-серверов. Сюда можно отнести Apache. Named, Nginx, Postfix, ProFTPD, Exim, VSFTD и многие другие.

Также стоит отметить, что программное обеспечение столь популярно из-за своего функционала защищать SSH-сервера. То есть атаки bruteforce не пройдут, а также сервера защищаются от подбора паролей.

Установка

Найти готовую конфигурацию со всем необходимым можно на официальном ресурсах программного обеспечения для операционной системы Linux.

Установить Fail2ban на Debian/Ubuntu можно так:

  • apt-get install fail2ban

Установить Fail2ban для CentOS/Fedora/RHEL устанавливается следующим образом:

  • yum install fail2ban

Или

  • dnf install fail2ban

Настройка

После установки программное обеспечение уже готово к работе. Автоматически устанавливает защитные механизмы SSH-серверов от подбора паролей. Однако все-таки для удобства следует изменить конфигурацию.

Вот что нужно иметь ввиду:

  • /etc/fail2ban/fail2ban.conf — позволяет запускать процесс Fail2ban
  • /etc/fail2ban/jail.conf — уже готовая конфигурация, которая защищает сервера. Сюда же относится и SSHD.

Нужно отметить, что jail.conf разделяется на различные секции, которые носят название изоляторов. Каждый из них будет отвечать за конкретные сервисы, а также типажи атак:

[DEFAULT]

ignoreip = 127.0.0.1/8

bantime = 600

maxretry = 3

banaction = iptables-multiport

[ssh]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 6

Настройки из изолятора [DEFAULT] будут применяться к остальным изоляторам, если это не исправить своими руками.

Изолятор [SSH] будет отвечать за защитные механизмы от периодических попыток авторизоваться на SSH-серверах.

Вот основные параметры в файле jail.conf:

  • ignoreip — адреса. не попавшие под блок.
  • bantime — длительность блокировки, измеряемая в секундах. После этого адрес автоматически удаляется из перечня бана.
  • maxretry — подозрительные совпадения к которым было применено правило. Там же там будет будет указано количество неудачных попыток авторизоваться.
  • enabled — активность и отключения функций секции.
  • port — порт с запущенными целевыми сервисами.
  • filter — подозрительные совпадения, которые будут находиться в журнале.

Таким образом пользователь сможет настроить программное обеспечение Fail2ban. Оно действительно удобное в использовании.