Fail2Ban — open-source IDS, блокирует IP-адреса после N failed attempts. Стандарт для Linux-server security. Защищает: SSH brute-force, web-app login bruteforce, CMS scanning. Настройка 30 мин: apt install fail2ban → jail.local → перезапуск. Поддерживает iptables + nftables + firewalld.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
Бесплатный онлайн-инструмент — сканер безопасности сайта: результат мгновенно, без регистрации.
apt install fail2ban (Debian/Ubuntu) или yum install fail2ban (RHEL)cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local[DEFAULT] bantime = 3600; findtime = 600; maxretry = 3[sshd] enabled = truesystemctl restart fail2banfail2ban-client status sshd показывает banned IPs + статистику| Сценарий | Конфиг |
|---|---|
| /etc/fail2ban/jail.local (SSH) | [sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600 |
| Custom filter для nginx login | # /etc/fail2ban/filter.d/nginx-login.conf
[Definition]
failregex = .*POST /login HTTP.* 401
ignoreregex = |
| Enable nginx-login jail | [nginx-login]
enabled = true
port = http,https
filter = nginx-login
logpath = /var/log/nginx/access.log
maxretry = 5
findtime = 300
bantime = 1800 |
| Unban IP manually | fail2ban-client set sshd unbanip 1.2.3.4 |
| Telegram alerts при ban | action = %(action_mwl)s + telegram-action # custom action |
Для настройки Fail2Ban на защиту от brute-force атак, установите Fail2Ban с помощью команды sudo apt-get install fail2ban. Затем создайте конфигурационный файл /etc/fail2ban/jail.local и добавьте следующие строки для защиты SSH:
[sshd] enabled = true filter = sshd port = ssh logpath = /var/log/auth.log maxretry = 5 bantime = 3600
Эти настройки заблокируют IP-адреса, которые не смогли пройти аутентификацию после 5 попыток в течение часа.
Fail2Ban — это система, которая мониторит логи и блокирует IP-адреса, производящие подозрительную активность, такую как brute-force атаки. Основные компоненты Fail2Ban включают:
Для настройки фильтров, вам необходимо отредактировать файл /etc/fail2ban/filter.d/sshd.conf, добавив или изменив регулярные выражения, которые определяют, что считается попыткой взлома.
Чтобы настроить Fail2Ban для защиты вашего веб-сервера от brute-force атак, выполните следующие шаги:
sudo apt-get install fail2ban
sudo nano /etc/fail2ban/jail.local
[apache-auth] enabled = true filter = apache-auth logpath = /var/log/apache2/error.log maxretry = 3 bantime = 86400
sudo systemctl restart fail2ban
Эти настройки будут блокировать IP-адреса, которые не смогли пройти аутентификацию после 3 попыток в течение суток. Убедитесь, что вы также проверяете логи Fail2Ban для мониторинга заблокированных IP-адресов с помощью команды:
sudo fail2ban-client status apache-auth
Fail2Ban — это мощный инструмент для защиты серверов от brute-force атак, который работает по принципу блокировки IP-адресов, осуществляющих подозрительные попытки входа. Для настройки Fail2Ban необходимо установить его, настроить конфигурационные файлы и запустить службу. Рекомендуется использовать стандартный конфигурационный файл и адаптировать его под свои нужды, включая определение частоты попыток входа и времени блокировки.
Одним из наиболее распространенных случаев использования Fail2Ban является защита SSH-сервера от brute-force атак. Для этого следуйте следующей инструкции:
sudo apt update && sudo apt install fail2ban/etc/fail2ban. Создайте копию стандартного конфигурационного файла:sudo cp jail.conf jail.localjail.local с помощью текстового редактора:sudo nano /etc/fail2ban/jail.localВ этом файле вы можете настроить параметры для защиты SSH. Найдите секцию, относящуюся к SSH, и измените параметры:
enabled = true — включите защиту для SSH.port = ssh — укажите порт, на котором работает ваш SSH-сервер (по умолчанию 22).filter = sshd — фильтр для SSH-сервера.logpath = /var/log/auth.log — путь к логам аутентификации.maxretry = 5 — максимальное число неудачных попыток входа перед блокировкой.bantime = 600 — продолжительность блокировки в секундах (в данном случае 10 минут).sudo systemctl start fail2bansudo systemctl enable fail2bansudo fail2ban-client status sshdЭта команда покажет количество заблокированных IP-адресов и другие статистические данные.
Важно периодически проверять логи Fail2Ban, чтобы отслеживать, какие IP-адреса были заблокированы, и при необходимости вносить коррективы в настройки. Вы можете найти логи Fail2Ban в /var/log/fail2ban.log.
Дополнительно, для повышения безопасности можно настроить уведомления о блокировках, используя почтовый клиент или интеграцию с системами мониторинга.
Инструмент проверяет HTTP-заголовки безопасности, конфигурацию SSL/TLS, утечки серверной информации и защиту от распространённых атак (XSS, clickjacking, MIMEsniffing). Оценка от A до F показывает общий уровень защиты.
Проверка Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy и других.
Версия TLS, срок сертификата, цепочка доверия, поддержка HSTS.
Поиск раскрытых серверных версий, debug-режимов, открытых конфигов и директорий.
Детальный отчёт с объяснением каждой проблемы и конкретными шагами для исправления.
аудит HTTP-заголовков
проверка конфигурации
CSP и HSTS настройка
соответствие стандартам
Strict-Transport-Security.Server: Apache/2.4.52 помогает атакующим подобрать эксплойт. Скройте версию.DENY или SAMEORIGIN.nosniff браузер может интерпретировать файлы неправильно (MIME sniffing).Content-Security-Policy-Report-Only, мониторьте нарушения, затем включите.Server, X-Powered-By, X-AspNet-Version из ответов.История security-проверок и мониторинг HTTP-заголовков безопасности.
Зарегистрироваться (FREE)Да, если ваш iptables/nftables v6 support включён. <code>fail2ban-client status</code> покажет mix v4/v6 bans.
Теоретически да, если maxretry низкий. Mitigation: разумный maxretry (3-5), bantime не слишком long (1-24 h), ignoreip для known IPs.
CrowdSec — modern alternative с community threat feed. Но Fail2Ban проще для single server setup.
<code>fail2ban-client status [jail]</code> или parse <code>/var/log/fail2ban.log</code>. Для Enterno <a href="/security">Security Scanner</a> показывает security posture.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.