Как установить Fail2ban на сервер Ubuntu 24.04

Fail2ban – это бесплатная IPS (Intrusion Prevention Software) с открытым исходным кодом, которая помогает администраторам защитить Linux-серверы от вредоносных логинов и атак методом грубой силы. Fail2ban написан на Python и поставляется с фильтрами для различных сервисов, таких как Apache2, SSH, FTP и т.д. Fail2ban уменьшает количество попыток вредоносного входа в систему, блокируя IP-адреса источников атак.

Fail2ban работает путем сканирования лог-файлов сервисов (например, /var/log/auth.log) и запрета IP-адресов, которые показывают вредоносные попытки входа, такие как слишком много неправильных паролей, поиск эксплойтов и т.д. Fail2ban также поддерживает несколько бэкэндов брандмауэров, таких как iptables, ufw и firewalld. Кроме того, вы можете настроить уведомление по электронной почте о каждой заблокированной попытке входа в систему.

В этом руководстве вы узнаете, как установить Fail2ba на сервер Ubuntu 24.04. Вы настроите Fail2ban jail, изучите основные команды ‘fail2ban-client’, а затем узнаете, как запрещать и разблокировать IP-адреса с помощью Fail2ban.

Установка Fail2ban и UFW (Uncomplicated Firewall)

Fail2ban – это IPS (Intrusion Prevention Software), которое защищает серверы от атак методом перебора. Оно доступно по умолчанию в большинстве репозиториев Linux и поддерживает несколько бэкэндов брандмауэра. В этом разделе вы установите Fail2ban, а затем настроите UFW (Uncomplicated Firewall), который будет использоваться в качестве бэкенда брандмауэра для Fail2ban.

Сначала выполните приведенную ниже команду, чтобы обновить индекс пакетов Ubuntu.

sudo apt update

обновить репо

Теперь установите ‘fail2ban‘ и ‘ufw‘ пакеты со следующими ‘apt‘ Команда. Ввод ‘Y‘, чтобы подтвердить установку.

sudo apt install fail2ban ufw

установка fail2ban и ufw

После завершения установки выполните приведенную ниже команду, чтобы открыть порт для SSH и включить UFW. Введите ‘Y’ для подтверждения, запуска и включения UFW.

sudo ufw allow OpenSSH
sudo ufw enable

После включения UFW вы увидите сообщение ‘Брандмауэр активен и включен при запуске системы‘.

Далее выполните следующую команду, чтобы проверить состояние UFW. Вы увидите, что UFW находится в состоянии ‘активен‘ с ‘OpenSSH‘ включено.

sudo ufw status

настройка ufw

Наконец, выполните приведенную ниже команду ‘systemctl’, чтобы запустить, включить и проверить ‘fail2ban‘ сервис.

sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban

Ниже вы можете увидеть ‘fail2ban‘ активен (запущен) и включен.

запуск и включение fail2ban

Настройка Fail2ban

После установки fail2ban вы должны настроить его, прежде чем Fail2ban начнет выполнять действия (проверку и блокировку). В этом разделе вы измените конфигурацию fail2ban ‘/etc/fail2ban/jail.local’, установите глобальную конфигурацию для ‘bantime‘, ‘maxretry‘, и ‘время поиска‘, настройте действия по умолчанию и бэкэнд брандмауэра UFW, а затем включите опцию ‘sshd‘ Тюрьма для защиты службы SSH от атак грубой силы.

Для начала скопируйте стандартную конфигурацию fail2ban в ‘/etc/fail2ban/jail.local‘ со следующим:

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

Откройте файл ‘/etc/fail2ban/jail.local‘ со следующим ‘nano‘ команда редактора.

sudo nano /etc/fail2ban/jail.local

Добавьте свою локальную сеть в ‘ignoreip‘ опция. Любая подсеть в пределах этой опции не будет блокироваться fail2ban.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Настройте конфигурацию по умолчанию для ‘bantime‘ (время IP-адреса будет запрещено), ‘findtime‘ (продолжительность между числом неудач перед действием запрета), и ‘maxretry‘ (количество неудачных попыток запрета IP-адресов). В этом примере вы установите значение ‘bantime‘ к ‘1 час‘, ‘время поиска‘ к ‘10 минутs”, с ‘maxretry‘ к ‘5 раз‘.

bantime = 1h
findtime = 10m
maxretry = 5

По желанию измените значение по умолчанию ‘действие‘ к ‘%(action_mw)s‘ для запрета IP-адресов и отправки уведомления администратору по электронной почте. Также не забудьте изменить параметры ‘destmail’ и ‘sender’.

action = %(action_mw)s
destemail = [email protected]
sender = [email protected]

Измените стандартное значение ‘запрет‘ к ‘ufw‘. С помощью этого IP-адреса будут запрещены fail2ban через UFW.

banaction = ufw

Теперь измените стандартный джейл для ‘sshd‘ с приведенной ниже конфигурацией. В этом примере используется ‘sshd‘ тюрьма будет иметь пользовательские настройки для ‘bantime‘, ‘maxretry‘, и ‘время поиска‘.

[sshd]
enabled = true
maxretry = 3
findtime = 15m
bantime = 3h

port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

После завершения работы сохраните и выйдите из файла.

Наконец, выполните команду ‘systemctl’, приведенную ниже, чтобы перезапустить ‘fail2ban‘ и примените изменения.

sudo systemctl restart fail2ban

проверка fail2ban

Проверка правил fail2ban с помощью fail2ban-client

На данный момент служба Fail2ban запущена и работает с включенным джейлом ‘sshd’. Теперь вы изучите основные команды ‘fail2ban-client’ для проверки и управления установкой Fail2ban.

Чтобы убедиться, что fail2ban запущен, запустите команду ‘fail2ban-client‘ команда ниже.

sudo fail2ban-client ping

Если fail2ban запущен, вы увидите вывод ‘PONG‘.

pong

Теперь проверьте состояние ‘sshd‘ jail с помощью следующей команды. Это покажет вам список обнаруженных и запрещенных IP-адресов для ‘sshd‘ Тюрьма.

sudo fail2ban-client status sshd

jail status sshd

Далее запустите команду ‘fail2ban-client get‘ команду ниже, чтобы проверить конкретные правила вашей тюрьмы fail2ban. В этом разделе вы проверите команду ‘bantime‘, ‘maxretry‘, ‘действия‘, ‘время поиска‘, и ‘ignoreip‘ из ‘sshd‘ Тюрьма.

sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd actions
sudo fail2ban-client get sshd findtime
sudo fail2ban-client get sshd ignoreip

конфигурация тюрьмы

Как запретить и разблокировать IP-адрес с помощью fail2ban-client

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

Чтобы запретить IP-адреса вручную через fail2ban, запустите команду ‘fail2ban-client‘ команда ниже. В этом случае запрещенный IP-адрес попадает в ‘sshd‘ Тюрьма.

sudo fail2ban-client set sshd banip IP-ADDRESS

Теперь выполните следующую команду, чтобы исключить IP-адрес из fail2ban ‘sshd‘ Тюрьма.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Наконец, вы можете проверить ‘sshd‘ состояние тюрьмы с помощью команды ниже. Вы увидите, что IP-адрес был удален.

sudo fail2ban-client status sshd

Заключение

Поздравляем! Вы завершили установку fail2ban на сервер Ubuntu 24.04. Вы также изучили базовую конфигурацию для настройки Fail2ban, включая настройку глобальной конфигурации и jail. Наконец, вы узнали, как использовать команду ‘fail2ban-client’ для проверки статуса fail2ban, состояния jail, конфигурации jail, а также для запрета и разблокировки IP-адресов вручную.

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

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