Домены
Интересные статьи
Домены

Как установить Fail2ban в CentOS 8 и Fedora 29/30

Эта инструкция покажет вам, как установить и настроить fail2ban в вашей CentOS/RHEL 8 и Fedora системах.

Шаг 1 — Установка Fail2ban в CentOS 8

Прежде всего, установим пакет epel-release, тем самым добавив Yum репозиторий EPEL в систему. После этого вы сможете установить fail2ban. Выполним две команды:

dnf install epel-release
dnf install fail2ban

Шаг 2 — Настройка fail2ban

Fail2ban хранит файлы конфигурации в директории /etc/fail2ban. Не нужно править имеющиеся файлы конфигурации, а вместо этого создайте файл jail.local

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vi /etc/fail2ban/jail.local 

Теперь вы можете сделать необходимые изменения в файле jail.local и настроить fail2ban под ваши нужды. Сперва настроим секцию [DEFAUT], которая отвечает за общие правила, если не указано иное.

[DEFAULT]
# "ignoreip" может быть список IP адресов, масок или DNS имен. Если IP адрес попадет под фильтры fail2ban, но при этом находится в этом списке, то он не будет забанен. Адреса задаются через пробел и/или запятую.
ignoreip = 127.0.0.1/8 192.168.1.0/24
 
# "bantime" время , на сколько адрес будет забанен. В данном случае 60 минут
bantime = 60m
 
# Адрес будет забанен если он сделает "maxretry" неудачных авторизации в течение "findtime". В данном случае 5 минут.
findtime = 5m
 
# "maxretry" количество неудачных попыток авторизации, после чего адрес будет забанен.
maxretry = 5

Шаг 3 — Защита SSH/SFTP

После настройки конфигурации по умолчанию, спуститесь ниже и найдите секцию [ssh-iptables].

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=22, protocol=tcp]
           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com, sendername="Fail2Ban"]
logpath  = /var/log/secure
maxretry = 3

Правилом выше мы установили, что будет прослушиваться лог /var/log/secure, для блокировки достаточно 3 неудачных попыток, а информация о блокировке будет отправлена на адрес fail2ban@example.com

Шаг 4 — Защита FTP

В нашем примере мы будем защищать FTP сервер vsftpd. Найдите секцию [vsftpd-iptables].

[vsftpd-iptables]

enabled  = true
filter   = vsftpd
action   = iptables[name=VSFTPD, port=21, protocol=tcp]
           sendmail-whois[name=VSFTPD, dest=fail2ban@example.com]
logpath  = /var/log/vsftpd.log
maxretry = 5
bantime  = 1800

Шаг 5 — Перезапуск сервиса и проверка

После всех изменения нужно сохранить файл и запустить сервис fail2ban.

systemctl start fail2ban.service
systemctl enable fail2ban.service

Если сервис был запущен, то сделаем перезапуск

systemctl restart fail2ban.service

В целях тестирования я попытался авторизоваться по SSH с неверными реквизитами. Через 3 попытки мой IP был заблокирован и я даже не смог сделать ping до сервера. Не тестируйте авторизацию с той машины, с которой проводите настройку.

Обо мне cyber01

Прочитайте также

Как установить Python 3.6 в CentOS 6

В CentOS 6 по умолчанию используется Python 2, но бывает даже для такой старой системы …

Как установить RabbitMQ в CentOS 7

RabbitMQ это широко используемый брокер сообщений с открытым исходным кодом, написан на языке программирования Erlang. …

Как установить последний NodeJS в Amazon Linux 7/Centos 7

NodeJS (Node.js) это один из вариантов Chrome V8 Javascript runtime engine. Он позволяет программистам выполнять …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *