Поиск по сайту:

Установите и настройте Fail2ban на CentOS 8 | РЭЛ 8 |


В этом руководстве мы обсудим, как установить и настроить Fail2ban на Centos 8 | RHEL 8. Fail2ban — это инструмент обнаружения и предотвращения вторжений с открытым исходным кодом, который сканирует вредоносные IP-адреса в журналах доступа, которые показывают признаки нескольких неудачных попыток входа в систему с паролем. Затем инструмент блокирует IP-адреса, обновляя правила брандмауэра, чтобы отклонять IP-адреса.

Fail2ban можно использовать для защиты различных служб в системе Linux, включая sshd, доступ к WordPress, Postfix и т. д.

Установите Fail2ban на CentOS 8 | РЭЛ 8

Вам необходимо установить репозиторий EPEL в вашей системе CentOS/RHEL 8, чтобы получить пакет Fail2ban.

sudo dnf -y install epel-release

Установите пакет Fail2ban:

sudo dnf -y install fail2ban

Запустите и включите Fail2ban.

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Настройте Fail2ban в CentOS 8 | РЭЛ 8

После успешной установки следующим шагом будет настройка Fail2ban.

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

Основной файл конфигурации — /etc/fail2ban/jail.conf. Фильтры хранятся в каталоге /etc/fail2ban/filter.d/.

Не рекомендуется вносить какие-либо изменения в файл jail.conf, так как конфигурация будет перезаписана настройками в файлах *.local.

Поэтому лучше всего создать отдельный файл jail.local, который будет содержать наши конфигурации.

Давайте настроим некоторые значения по умолчанию в файле /etc/fail2ban/jail.local.

sudo vi /etc/fail2ban/jail.local

Добавьте следующие параметры:

[DEFAULT]
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd
banaction_allports = iptables-allports

Краткое описание вышеуказанных параметров:

  • Bantime – время, на которое IP-адрес будет заблокирован в секундах.
  • maxretry – количество повторных попыток, прежде чем хост будет заблокирован.
  • Findtime – Fail2ban блокирует хост, если он сгенерировал «maxretry» за последние «findtime» секунды.
  • banaction – тип действия по бану, который будет реализован.
  • ignoreip – вы можете указать IP-адреса, которые будут игнорироваться Fail2ban.
  • backend – сервер, используемый для получения изменений в файле журнала.
  • Banaction_allports – Fail2ban блокирует удаленный IP-адрес на каждом порту.

Настройка джейлов для защиты SSH, Postfix и Dovecot

В этом разделе мы рассмотрим, как настроить тюрьмы Fail2ban для SSH, Postfix и dovecot.

В файле /etc/fail2ban/jail.local добавьте параметры служб, которые вы хотите включить.

Для SSH:

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log

Для Postfix:

[postfix]
enabled  = true
port     = smtp,465,submission

Голубь:

[dovecot]
enabled = true
port    = pop3,pop3s,imap,imaps,submission,465,sieve

Постфикс-SASL

[postfix-sasl]
enabled  = true
port     = smtp,465,submission,imap,imaps,pop3,pop3s

В приведенной выше конфигурации использовались следующие атрибуты:

  • Включено – можно установить значение true или false, чтобы включить/отключить фильтр.
  • Порт – порт, на котором работает служба. Вы можете использовать имена сервиса, если используемые порты являются портами по умолчанию, в противном случае вам необходимо явно указать номер порта.
  • Фильтр – имя файла фильтра, расположенного в каталоге /etc/fail2ban/filter.d/, который содержит информацию о регулярном выражении файла, используемую для анализа журналов.
  • Logpath – путь к журналам службы.

Использование клиента Fail2ban

Fail2ban-client — это инструмент командной строки, который используется для запуска Fail2ban из оболочки.

Обычно используется fail2ban-client .

Ниже приведен список команд Fail2ban-клиента:

  • start: используется для запуска сервера Fail2ban и джейлов.
  • reload: используется для перезагрузки конфигурации Fail2ban.
  • stop: останавливает сервер.
  • status: используется для проверки статуса сервера и включения джейлов.
  • status JAIL: показывает статус тюрем и запрещенных в данный момент IP-адресов.

Примеры:

  1. Статус Fail2ban-клиента
$ sudo fail2ban-client status
Status
|- Number of jail:	6
`- Jail list:	dovecot, postfix, postfix-sasl, proftpd, sshd, webmin-auth

2. Fail2ban-статус клиента sshd

$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed:	0
|  |- Total failed:	22
|  `- Journal matches:	_SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned:	0
   |- Total banned:	4
   `- Banned IP list:	

3. Запрещенные IP-адреса:

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

$ sudo fail2ban-client set <jailname> unbanip <IP>

Пример :

$ sudo fail2ban-client set sshd unbanip 192.168.100.12

В приведенном выше примере мы удалили IP 192.168.100.12 из тюрьмы sshd.

Заключение

Мы ознакомились с руководством по настройке Fail2ban в CentOS/RHEL 8. Этот инструмент полезен для обнаружения вторжений и предотвращения атак, таких как перебор, в системе RHEL/CentOS 8.

Ознакомьтесь с другими статьями по теме на нашем сайте;

  • Автоматизируйте операции по тестированию на проникновение с помощью Infection Monkey
  • Faraday — IDE для тестирования на проникновение и платформа управления уязвимостями