Fail2ban — это локальный сервис, позволяющий брать под свой контроль файловые логи, запущенные на компьютере. Также во время использования этого простого программного обеспечения можно автоматически отправлять в блокировку нарушителей по адресу.
Программное обеспечение будет защищать от разнообразных атак на подавляющее большинство популярных 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. Оно действительно удобное в использовании.