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 |
Инструмент проверяет 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.