IPS (Intrusion Prevention System, система предотвращения вторжений) — активный защитный инструмент, который анализирует сетевой трафик в реальном времени и автоматически блокирует подозрительную активность. В отличие от IDS (Intrusion Detection System), которая только обнаруживает угрозы, IPS действует немедленно.
Как работает
IPS располагается в разрыв сетевого соединения — весь трафик проходит через него. Каждый пакет анализируется по нескольким методам:
- Сигнатурный анализ — сравнение с базой известных сигнатур атак (CVE, OWASP). Snort использует базу из 50 000+ правил.
- Поведенческий анализ — отклонение от нормального профиля трафика: резкий рост запросов, нетипичные паттерны.
- Статистический анализ — выявление аномалий в протоколах.
- Анализ политик — соответствие правилам корпоративной политики безопасности.
При обнаружении угрозы IPS блокирует пакет, разрывает соединение, добавляет IP в чёрный список или отправляет алерт администратору.
Популярные IPS-решения
Snort — открытый IPS/IDS от Cisco, де-факто стандарт. Работает в режиме IDS (только логирование) или IPS (активная блокировка). Более 600 000 активных пользователей, база правил обновляется ежедневно. Suricata — современная альтернатива Snort с многопоточностью и поддержкой Lua-скриптов. Fail2ban — лёгкий вариант: читает логи и блокирует IP через UFW/iptables.
IPS vs Файервол
Файервол работает на уровне L3/L4: IP-адреса, порты, протоколы. IPS работает на уровне L7: содержимое пакетов, паттерны поведения. Они дополняют друг друга. UFW блокирует SSH на нестандартных портах, IPS (Fail2ban) блокирует IP-адреса с подозрительным поведением.
История
IDS-системы появились в 1980-х как академический проект в SRI International. Snort выпущен Мартином Роешем в 1998 году как открытый IDS. Термин IPS (активное предотвращение) закрепился в начале 2000-х, когда производители добавили возможность блокировки в режиме реального времени. Gartner ввёл концепцию NGFW (Next-Generation Firewall), объединяющего firewall и IPS в одном устройстве.
На что обращать внимание
Ложные срабатывания IPS могут блокировать легитимный трафик. Новые правила тестируйте в режиме обнаружения (IDS) перед переводом в режим блокировки. На высоконагруженных серверах IPS в inline-режиме создаёт задержку — измеряйте влияние на TTFB. Для облачных сред используйте cloud-native WAF: Cloudflare WAF, Akamai Kona Site Defender.
Настройка Fail2ban
Fail2ban читает логи через jail-конфиги и применяет ban-action при превышении порога:
# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600
[nginx-limit-req]
enabled = true
port = http,https
filter = nginx-limit-req
logpath = /var/log/nginx/error.log
maxretry = 10
bantime = 600
Fail2ban поддерживает действия помимо iptables: отправка email-алерта, запись в базу данных, интеграция с Grafana через API. Проверить статус джейлов: fail2ban-client status sshd. Разбанить IP: fail2ban-client set sshd unbanip 1.2.3.4.