opened image

Как установить и настроить fail2ban в Centos 7

Fail2ban — это широко известная система обнаружения вторжений для ОС Linux. Она анализирует лог-файлы для выявления автоматических атак и неудачных попыток входа. Определив IP-адрес, от которого исходит атака, Fail2ban мгновенно блокирует его, что делает эту систему незаменимой в борьбе с атаками перебора. Установка и настройка Fail2ban являются простыми процессами. Вот как установить Fail2ban на CentOS 7.

 

  • Обновите CentOS

Запустите терминал и обновите вашу систему CentOS, выполнив следующие команды.

yum update -y
yum upgrade -y

 

  • Установите Fail2ban

Для установки fail2ban выполните следующую команду.

yum install epel-release
yum install -y fail2ban

 

 

  • Запустите и активируйте Fail2ban

Включите и запустите fail2ban, воспользовавшись следующими командами.

systemctl start fail2ban
systemctl enable fail2ban

 

 

Статус fail2ban можно проверить с помощью этой команды:

systemctl status fail2ban

 

 

  • Настройка Fail2ban

Fail2ban использует 4 конфигурационных файла. Они читаются в следующем порядке:

/etc/fail2ban/jail.conf 
/etc/fail2ban/jail.d/.conf 
/etc/fail2ban/jail.local 
/etc/fail2ban/jail.d/.local

 

Чаще всего пользователи копируют стандартный файл jail.conf в jail.local и изменяют его. Давайте сделаем это:

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

 

Откройте файл jail.local с помощью текстового редактора:

vim /etc/fail2ban/jail.local

 

 

В этом файле вы найдете разные разделы, каждый из которых содержит подробные комментарии о своем назначении.

 

Рассмотрим основные параметры настройки:

  • ignoreip — используется для указания IP-адресов, которые не должны блокироваться. Для добавления одного или нескольких IP-адресов раскомментируйте строку, начинающуюся с ignoreip, и добавьте IP-адреса через запятую. Вот пример.

ignoreip = 127.0.0.1/8 ::1 23.23.23.23 192.125.1.0/24
  • bantime — время блокировки. По умолчанию — 10 минут. Чтобы установить его на 1 день, сделайте следующее:

bantime = 1d
  • findtime — время, в течение которого должно произойти указанное количество сбоев или атак. Если вы настроили fail2ban на блокировку IP после 3 неудачных попыток, то эти попытки должны произойти в течение значения findtime. Пример:

findtime = 10m
  • maxretry — максимальное количество неудачных попыток до блокировки IP. Пример:

maxretry = 5

 

 

 

Тестирование и снятие блокировки с IP-адреса

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

В Fail2ban встроен клиент, позволяющий управлять службой. Он может быть использован для снятия блокировки с IP-адреса.

 Например, нам нужно заблокировать пользователя по IP который постоянно ломится на сервер. 

 

Для блокировки IP-адреса (например, 125.124.221.121) воспользуйтесь командой:

fail2ban-client set sshd banip 125.124.221.121

 

Если после этой команды Вы наблюдаете такую ошибку fail2ban [7825]: ERROR   NOK: ('sshd',), Sorry but the jail 'sshd' does not exist - то это говорит о том что Fail2ban не может найти конфигурацию с названием 'sshd'. "jail" в Fail2ban представляют собой наборы правил для различных сервисов, которые Fail2ban должен мониторить, такие как ssh, apache и другие.

 

Сначала вам необходимо проверить конфигурационный файл Fail2ban (обычно это '/etc/fail2ban/jail.conf' или '/etc/fail2ban/jail.local') и убедиться, что в нем есть секция для 'sshd'. Это должно выглядеть примерно так:

[sshd]
enabled  = true
port     = ssh
logpath  = %(sshd_log)s
backend  = %(sshd_backend)s

 

 

После внесения любых изменений в конфигурационный файл, службу Fail2ban следует перезапустить командой:

sudo systemctl restart fail2ban

 

Теперь команда для блокировки IP-адреса должна работать без ошибок.

 

Чтобы снять блокировку с IP-адреса (например, 125.124.221.121), выполните команду:

fail2ban-client set sshd unbanip 125.124.221.121


В заключение, Fail2ban является эффективным инструментом обнаружения вторжений, блокирующим IP-адреса, от которых исходят повторяющиеся неудачные попытки входа в систему. Он играет ключевую роль в обеспечении безопасности ваших Linux-систем, будь то CentOS 7 или Ubuntu.

С помощью данной статьи вы сможете без труда установить и настроить Fail2ban на своих серверах. Помимо установки и включения Fail2ban, вы также узнали, как настраивать параметры блокировки IP-адресов, проверять статус службы и управлять блокировкой отдельных IP-адресов.