Intrusion Prevention System (IPS) - Aktive Angriffserkennung und -abwehr
Ein Intrusion Prevention System (IPS) analysiert Netzwerkverkehr in Echtzeit und blockiert aktiv erkannte Angriffe, im Gegensatz zum IDS (Intrusion Detection System) das nur erkennt und warnt. IPS-Modi: Inline (Paket-Filterung im Netzwerkpfad), passiv (Out-of-Band) mit TCP-Reset. Erkennungsmethoden: signaturbasiert (Snort-Rules), anomalie-basiert (Baseline-Vergleich), verhaltensbasiert (UEBA). Integration in NGFW-Plattformen (Palo Alto, Fortinet).
Intrusion Prevention System (IPS) ist die aktive Erweiterung des IDS-Konzepts: Statt nur Angriffe zu erkennen und zu melden, blockiert ein IPS Angriffs-Traffic in Echtzeit. Moderne NGFW (Next-Generation Firewalls) integrieren IPS-Funktionalität direkt in die Firewall-Architektur und kombinieren so Perimeter-Schutz mit Angriffsblockierung.
IDS vs. IPS: Grundunterschied
IDS vs. IPS im Vergleich:
IDS (Intrusion Detection System):
→ Passiv: analysiert Traffic als Kopie (SPAN-Port)
→ Erkennt und meldet: kein Eingriff in Traffic
→ Keine Latenz (Traffic nicht verlangsamt)
→ False Positives: kein Schaden (nur false Alerts)
→ Deployment: Out-of-Band (neben dem Netzwerk)
IPS (Intrusion Prevention System):
→ Aktiv: liegt IM Netzwerkpfad (inline)
→ Erkennt UND blockiert: Traffic wird gefiltert
→ Minimal Latenz (Paket-Inspektion dauert Zeit)
→ False Positives: legitimer Traffic blockiert! → schwerwiegend
→ Deployment: In-Line (zwischen Firewall und Netzwerk)
┌──────────────────────────────────────────┐
│ │
│ Internet → Firewall → [IPS] → Netzwerk │ IPS inline
│ ↓ │
│ Drop/Block │
│ │
│ Internet → Firewall → Switch → Netzwerk │ IDS out-of-band
│ ↓ │
│ [IDS] │
│ Alert/Log only │
└──────────────────────────────────────────┘
Hybrid-Ansatz (empfohlen):
→ Kritische Segmente: IPS inline (sofortige Blockierung)
→ Monitoring-Segmente: IDS out-of-band (kein False-Positive-Risiko)
→ Moderne NGFWs: beides in einem Gerät
IPS-Erkennungsmethoden
Erkennungs-Engines:
1. Signaturbasierte Erkennung:
→ Bekannte Angriffsmuster in Datenbank
→ Snort-Rules, Suricata-Rules (Open Source)
→ Commercial Threat Intelligence Feeds
Snort-Rule-Beispiel:
alert tcp any any -> $HOME_NET 22 (
msg:"Möglicher SSH-Brute-Force";
threshold: type threshold, track by_src, count 10, seconds 60;
sid:10001; rev:1;
)
Vorteile: niedrige False-Positive-Rate für bekannte Angriffe
Nachteile: blind für Zero-Days und neue Angriffsmethoden
2. Anomalie-basierte Erkennung:
→ Baseline: normales Verhalten (Volumina, Protokolle, Verbindungen)
→ Alert: wenn Abweichung von Baseline (z.B. +300% DNS-Traffic)
→ Vorteile: erkennt neue/unbekannte Angriffe
→ Nachteile: hohe False-Positive-Rate, aufwändige Baseline-Pflege
3. Verhaltensbasierte Erkennung:
→ Erkennt Angriffsmuster über Zeit (nicht nur einzelne Pakete)
→ Beispiel: Port-Scan-Muster über 100 Hosts → Alert
→ Stateful Inspection: Zustand von Verbindungen verfolgen
4. Protocol-Anomalie-Erkennung:
→ Abweichungen vom RFC (z.B. deformierte HTTP-Header)
→ HTTP-Smuggling erkennen
→ Malformed Packets (könnte Exploit-Versuch sein)
5. Reputation-basierte Erkennung:
→ Bekannte bösartige IPs/Domains blocken
→ Threat Intelligence Feeds: MISP, VirusTotal, Shodan
→ Geoblocking: Traffic aus bestimmten Ländern blocken
Next-Generation IPS in NGFW
NGFW mit integriertem IPS (Palo Alto Networks):
Palo Alto IPS-Konfiguration:
# Security Policy mit Threat Profile:
set rulebase security rules "Allow-Web" profile-setting profiles {
virus: default-av-profile
spyware: strict
vulnerability: strict # IPS-Profil!
url-filtering: default
file-blocking: basic-file-blocking
wildfire-analysis: default
}
# Vulnerability Protection Profile (IPS):
# Kritische CVEs: Block + Alert
# Hohe Schwere: Alert + PCAP
# Mittlere: Alert
# Niedrige: Alert
# Threat Prevention → IPS Signatures:
# → Snort-kompatible Rules importierbar
# → Custom Rules für interne Anwendungen
Fortinet FortiGate IPS:
config ips sensor
edit "high-security-ips"
set comment "IPS for DMZ"
config entries
edit 1
set severity high critical
set action block
next
edit 2
set severity medium
set action default # Aus Signature-Konfiguration
next
end
next
end
# IPS in Security Policy anwenden:
config firewall policy
edit 1
set ips-sensor "high-security-ips"
next
end
IPS-Bypass-Techniken (Pentest-Perspektive):
→ Verschlüsselung: HTTPS → IPS kann nicht inspizieren (ohne SSL-Inspection)
→ Fragmentierung: große Pakete in kleine teilen → IPS-Pattern nicht erkannt
→ Encoding: URL-Encoding, Unicode → Pattern-Matching umgehen
→ Slow Attacks: sehr langsame Anfragen → keine Rate-basierten Rules
→ Protocol-Level Tricks: RFC-Compliance ausnutzen
→ Evasion: Snort-Evasion-Techniken (seit 2000s bekannt!)
IPS-Tuning und Betrieb
False Positive Management - Kritischste Aufgabe:
Problem: Zu viele False Positives → IPS wird deaktiviert (schlimmste Lösung!)
Tuning-Prozess:
1. IPS zuerst in "Alert-Modus" (kein Blocking!)
2. 2-4 Wochen: alle Alerts analysieren
3. FP-Muster identifizieren: welche Rules treffen legitimen Traffic?
4. Exceptions erstellen (nur für geprüfte FPs!)
5. Blocking für kritische Rules aktivieren
6. Iterativ weitere Rules auf Blocking schalten
Ausnahmen (Exceptions):
# Suricata - Regel deaktivieren:
# /etc/suricata/disable.conf:
# 2010937 # Beispiel-SID die FPs erzeugt
# Nur für spezifische IP-Ranges deaktivieren (besser!):
# /etc/suricata/threshold.conf:
suppress gen_id 1, sig_id 2010937, track by_src, ip 10.0.0.0/8
IPS-Performance:
→ Throughput abhängig von aktivierten Regeln
→ Rule-Set-Größe: mehr Rules = mehr CPU
→ SSL-Inspection: sehr CPU-intensiv (30-70% Throughput-Reduktion!)
→ Hardware-Sizing: immer mit Buffer für Spitzen
IPS-Monitoring:
□ Alert-Volume: täglich, wöchentlich, monatlich (Trends!)
□ Top-10-Rules: welche Rules haben die meisten Hits?
□ Blocked-Traffic: was wird blockiert?
□ Evasion-Versuche: encoded attacks, fragmented packets
□ IPS-Health: signature-Updates aktuell? (täglich!)
Syslog → SIEM Integration:
→ IPS-Alerts → SIEM (alle Blocking-Events)
→ Korrelation: IPS-Alert + EDR-Alert für gleiche IP → hohe Confidence
→ Threat Intelligence: blockierte IPs gegen OSINT prüfen