Безопасность · 5 min read · Sep 15, 2025

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

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

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

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

Предварительные требования

Чтобы начать с этого руководства, убедитесь, что у вас есть:

  • Сервер Ubuntu 24.04
  • Пользователь, не являющийся root, с правами администратора

Установка Fail2ban и UFW (несложный брандмауэр)

Fail2ban — это IPS (программное обеспечение предотвращения вторжений), которое защищает серверы от атак методом подбора паролей. Он доступен по умолчанию в большинстве репозиториев Linux и поддерживает несколько бэкендов брандмауэра. В этом разделе вы установите Fail2ban, а затем настроите UFW (несложный брандмауэр), который будет использоваться в качестве бэкенда брандмауэра для 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 ‘ и ‘ findtime ‘, настройте действие по умолчанию и бэкенд брандмауэра 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 час ‘, ‘ findtime ‘ на ‘ 10 минут ‘, а ‘ maxretry ‘ на ‘ 5 раз ‘.

bantime = 1h  
findtime = 10m  
maxretry = 5

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

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

Измените действие по умолчанию ‘ banaction ‘ на ‘ ufw ‘. С этим IP-адреса будут блокироваться fail2ban через UFW.

banaction = ufw

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

[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 ‘.

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

sudo fail2ban-client status sshd

статус тюрьмы sshd

Затем выполните команду ‘ fail2ban-client get ‘ ниже, чтобы проверить конкретные правила вашей тюрьмы fail2ban. В этом разделе вы проверите ‘ bantime ‘, ‘ maxretry ‘, ‘ actions ‘, ‘ findtime ‘ и ‘ 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, включая настройку глобальной конфигурации и тюрьмы. Наконец, вы также узнали основное использование команды ‘fail2ban-client’ для проверки статуса fail2ban, статуса тюрьмы, конфигураций тюрьмы и ручной блокировки и разблокировки IP-адресов.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.