Безопасность · 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
После завершения установки выполните команду ниже, чтобы открыть порт для SSH и включить UFW. Введите ‘Y’, чтобы подтвердить, запустить и включить UFW.
sudo ufw allow OpenSSH
sudo ufw enableПосле включения UFW вы увидите вывод ‘ Брандмауэр активен и включен при запуске системы ‘.
Затем выполните следующую команду, чтобы проверить статус UFW. Вы увидите, что UFW ‘ активен ‘ с включенным ‘ OpenSSH ‘.
sudo ufw status
Наконец, выполните команду ‘systemctl’ ниже, чтобы запустить, включить и проверить службу ‘ fail2ban ‘.
sudo systemctl enable --now fail2ban
sudo systemctl status 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-client
На этом этапе служба Fail2ban работает с включенной тюрьмой ‘sshd’. Теперь вы узнаете основную команду ‘fail2ban-client’ для проверки и управления установкой Fail2ban.
Чтобы убедиться, что fail2ban работает, выполните команду ‘ fail2ban-client ‘ ниже.
sudo fail2ban-client pingЕсли fail2ban работает, вы увидите вывод ‘ PONG ‘.
Теперь проверьте статус тюрьмы ‘ sshd ‘ с помощью следующей команды. Это покажет вам список обнаруженных и заблокированных IP-адресов для тюрьмы ‘ sshd ‘.
sudo fail2ban-client status 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-адресов.
Get new posts in your inbox
No spam. Unsubscribe anytime.