Warum Firewalls Monitoring-Traffic blockieren
Moderne Web Application Firewalls arbeiten mit signaturbasierten und verhaltensbasierten Regeln. Ein typischer Uptime-Check sendet pro Minute einen HTTP-Request von derselben IP, mit einem nicht-Browser-User-Agent, ohne Cookie und ohne Referrer. Für einen WAF-Regelsatz sind das genau die Merkmale eines automatisierten Scanners. Die Cloudflare WAF erreichte 2024 zwar eine Genauigkeit von 99,938 Prozent bei legitimer Traffic-Erkennung (openappsec WAF-Benchmark, 2024) — das bedeutet aber umgekehrt: einer von rund 1.600 legitimen Requests wird geblockt. Bei einem 30-Sekunden-Monitoring-Intervall von einem einzelnen Node sind das statistisch etwa 54 false blocks pro Tag.
Die Folgen reichen weiter als sporadische Fehlalarme. Am 5. Dezember 2025 verursachte eine fehlkonfigurierte Cloudflare-WAF-Regel für 25 Minuten einen 28-prozentigen Ausfall des globalen HTTP-Traffics (Cloudflare Blog, Dezember 2025). Betroffen waren unter anderem Zoom und LinkedIn — und die internen Monitoring-Dashboards der Cloudflare-Kunden, die eigentlich den Ausfall hätten melden sollen. Bei einem bekannten Monitoring-Dienst kollabierte die EU-Monitoring-Region im August 2025 um 45 Prozent ihrer Kapazität, was tausenden Nutzern Fehlalarm-Kaskaden schickte (Branchenbericht, August 2025). Die Lehre: Monitoring-Infrastruktur muss explizit in Firewall-Regeln gewhitelistet werden, sonst wird sie selbst zum Single-Point-of-Failure.
· Plötzlicher Abfall der Uptime auf 95–97 Prozent ohne serverseitigen Vorfall · HTTP-403- oder 429-Fehler in der Monitoring-Historie bei grüner Browser-Nutzung · Response-Zeit-Spitzen auf exakt 3.000 oder 10.000 Millisekunden (= Timeout bei Challenge-Page) · Widersprüchliche Meldungen: Kundensupport sagt 'läuft', Monitor sagt 'down'
Fail2Ban: die häufigsten Fehlkonfigurationen
Fail2Ban liest Webserver-Logs und verbannt IPs, die bestimmte Muster in kurzer Zeit auslösen. Der Standard-Filter apache-botsearch oder der nginx-Jail nginx-http-auth greift bei fehlgeschlagenen Authentifizierungen — aber auch beim typischen Monitoring-Workflow mit 401er-Responses auf geschützten Pfaden. Problematisch sind außerdem selbstgebaute http-get-dos-Filter, die jede IP mit mehr als X Requests pro Minute bannen. Ein Monitoring-Setup mit 30-Sekunden-Intervall erreicht an einem Tag 2.880 Requests — deutlich über typischen Grenzwerten.
Die saubere Lösung: Monitoring-IPs in ignoreip der Fail2Ban-Hauptkonfiguration eintragen. Dieser Eintrag gilt global für alle Jails und schließt die Monitoring-Nodes komplett von der Überwachung aus.
# /etc/fail2ban/jail.local
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 \
213.133.103.229 \
89.167.106.0 \
2a01:4f8:a0:935d::2 \
2a01:4f9:c012:730b::1
# Nach Änderung: systemctl restart fail2banWichtig: Die IPs ändern sich, wenn neue Monitoring-Nodes hinzukommen oder alte wegfallen. Eine fest eingetragene Liste wird daher unweigerlich veralten. XICTRAQ stellt die aktuelle Liste als JSON-Endpoint bereit, der automatisiert abgefragt werden kann.
ModSecurity und OWASP Core Rule Set 4.x
ModSecurity mit OWASP CRS ist die Standard-WAF auf vielen Apache- und nginx-Installationen. Das Core Rule Set in Version 4.x wurde nach acht Jahren grundlegend überarbeitet und zielt stärker auf Blocking statt auf Alerting ab — die Bilanz: höhere Security-Quality, niedrigere Detection-Quality (Linux Compatible, 2024). Übersetzt: mehr legitimer Traffic wird mit geblockt. Für Monitoring-Tools sind drei Regeln besonders kritisch:
| Regel-ID | Zweck | Risiko für Monitoring |
|---|---|---|
| 913100 | Scanner Detection | Klassifiziert jeden nicht-Browser-UA als Scanner |
| 920350 | Host-Header fehlt/ungültig | Kann bei direktem IP-Zugriff feuern |
| 949110 | Inbound Anomaly Score Exceeded | Sammelbecken: kumulierter Score > Schwelle → Block |
Statt einzelne Regeln zu deaktivieren — was die Schutzwirkung gegen echte Angreifer reduziert — sollten Sie die Monitoring-IPs gezielt per IP-Match aus der Regel-Engine entfernen. Die folgende Ausnahme-Regel läuft in Phase 1 und schaltet für die gelisteten IPs den gesamten Regel-Engine-Modus aus:
# /etc/modsecurity/crs-setup.conf oder conf.d/xictraq-whitelist.conf
SecRule REMOTE_ADDR \
"@ipMatch 213.133.103.229,89.167.106.0,2a01:4f8:a0:935d::2,2a01:4f9:c012:730b::1" \
"id:1000,phase:1,pass,nolog,ctl:ruleEngine=Off"Die Regel-ID 1000 ist ein freier Slot (OWASP-CRS nutzt 900000–999999). Für ISPConfig-, Plesk- oder Cloudpanel-Setups gibt es typischerweise eine UI-Eingabe für Custom-ModSecurity-Rules — dort kann dieser Block ohne Datei-Edit hinterlegt werden.
Cloudflare WAF und Rate-Limiting
Cloudflare sitzt bei vielen Websites zwischen Besucher und Origin — jede Monitoring-Anfrage durchläuft zuerst die Cloudflare-Edge. Dort greifen Managed Rules, Bot-Fight-Mode, Rate-Limits, und IP-Reputation. Im Cloudflare-Dashboard unter Security → WAF → Tools → IP Access Rules lassen sich IPs auf 'Allow' setzen — diese überspringen dann alle nachfolgenden Security-Regeln für die zugeordnete Zone.
Für komplexere Szenarien empfiehlt sich eine Custom Rule, die den Monitor-IP-Bereich explizit vom Rate-Limit ausnimmt. Die Cloudflare-Expression-Language erlaubt Mehrfach-IPs in einer Klammer-Liste:
# Cloudflare WAF Custom Rule (Security → WAF → Custom rules → Create)
# Field: IP Source Address
# Operator: is in
# Value: {213.133.103.229 89.167.106.0 2a01:4f8:a0:935d::2 2a01:4f9:c012:730b::1}
# Action: Skip → All remaining custom rules, Managed rules, Rate limiting
# Description: xictraq-monitoring-whitelistBeide Modi präsentieren eine JavaScript-Challenge, die kein reguläres HTTP-Client-Monitoring lösen kann. Wenn Sie diese Modi bei einem Angriff aktivieren, bleibt Ihr Monitoring während der gesamten Aktivierungsdauer blind. Eine IP-Allowlist hebelt beides aus — der Monitoring-Node bekommt direkten Zugriff, echte Angreifer die Challenge.
iptables, nginx und Apache — native Konfiguration
Neben den großen WAFs gibt es Setups, bei denen die Firewall direkt auf Netzwerk- oder Webserver-Ebene greift. Hier sind die zentralen Konfigurationen:
# iptables / ip6tables — Allow-Rules einfügen VOR DROP
iptables -I INPUT -s 213.133.103.229 -j ACCEPT
iptables -I INPUT -s 89.167.106.0 -j ACCEPT
ip6tables -I INPUT -s 2a01:4f8:a0:935d::2 -j ACCEPT
ip6tables -I INPUT -s 2a01:4f9:c012:730b::1 -j ACCEPT
# Persist mit: netfilter-persistent saveFür nginx empfiehlt sich eine Variable, die je nach Source-IP unterschiedliche Rate-Limit-Keys setzt — legitime Monitors laufen ohne Limit, alle anderen bekommen die Standard-Grenze:
# /etc/nginx/conf.d/xictraq-whitelist.conf
geo $xictraq_node {
default 0;
213.133.103.229 1;
89.167.106.0 1;
2a01:4f8:a0:935d::2 1;
2a01:4f9:c012:730b::1 1;
}
map $xictraq_node $limit_req_key {
0 $binary_remote_addr;
1 "";
}
limit_req_zone $limit_req_key zone=default:10m rate=10r/s;Apache erlaubt IP-Allow-Listen über <RequireAll>-Blöcke im VHost oder in .htaccess. Wichtig: Reihenfolge beachten — Require all granted muss vor den IP-Einträgen stehen, sonst wird nur die Allowlist durchgelassen.
Automatisierte Whitelist-Pflege mit dem XICTRAQ-Endpoint
Jede manuelle Whitelist veraltet in dem Moment, in dem neue Monitoring-Nodes hinzukommen. Bei XICTRAQ wachsen die Check-Nodes dynamisch: aktuell drei verteilte EU-Knoten (DE + FI). Statt bei jedem Node-Rollout per E-Mail die IP-Liste zu verteilen, liefert der öffentliche Endpoint /api/public/nodes die aktuelle Liste als JSON. Jeder Firewall-Sysadmin kann per Cron alle 5 Minuten abfragen und die Firewall-Konfiguration regenerieren.
Ein Minimalbeispiel für Fail2Ban — der Cron erzeugt die ignoreip-Zeile in einer separaten Datei, die Fail2Ban per include einliest. Bei neuem Node wird die Zeile innerhalb von 5 Minuten ergänzt, ohne dass ein Admin etwas tun muss:
#!/bin/bash
# /usr/local/bin/sync-xictraq-whitelist.sh
NODES=$(curl -s https://api.xictraq.com/api/public/nodes \
| jq -r '.nodes[] | (.ipv4[], .ipv6[])' | tr '\n' ' ')
cat > /etc/fail2ban/jail.d/99-xictraq.local <<EOF
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 $NODES
EOF
systemctl reload fail2banDerselbe Ansatz funktioniert für ModSecurity, iptables und nginx. Die vollständigen Copy-Paste-Snippets inklusive IPv4- und IPv6-Listen stehen in der XICTRAQ-Dokumentation unter Firewall-Freischaltung bereit — sie werden genauso live aus dem Node-Pool generiert wie der JSON-Endpoint.
Was geschieht bei einer Regel-Kollision?
Firewall-Regeln werden sequentiell abgearbeitet. Eine Allow-Rule, die nach einer Block-Rule steht, greift nicht mehr. Typische Fallstricke: in Fail2Ban werden ignoreip-Einträge vor allen Jail-Filtern verarbeitet — das funktioniert. In iptables muss die ACCEPT-Regel vor DROP-Regeln stehen, sonst greift DROP zuerst. Bei Cloudflare WAF sind Custom Rules in der angelegten Reihenfolge aktiv — die Whitelist-Regel sollte ganz oben stehen und als Aktion 'Skip → All remaining custom rules, Managed rules, Rate limiting' setzen. Bei ModSecurity gibt die ID-Reihenfolge die Verarbeitung vor — Whitelist-Regel sollte eine niedrige ID (z.B. 1000) haben, damit sie vor den CRS-Regeln (900000+) läuft.
Nach jeder Whitelist-Änderung einen manuellen Uptime-Scan über XICTRAQ auslösen. Der Scan zeigt die tatsächliche HTTP-Response aus allen aktiven Nodes. Sollte ein Node 403 oder 429 zurückbekommen, ist die Allow-Rule entweder nicht aktiv oder die Regel-Reihenfolge falsch.
Checkliste für neue Setups
- Aktuelle Monitoring-IPs abrufen:
curl https://api.xictraq.com/api/public/nodes - Fail2Ban
ignoreipsetzen undsystemctl reload fail2banausführen - ModSecurity-Ausnahme-Regel mit ID 1000 in CRS-Setup hinterlegen
- Bei Cloudflare: Custom Rule mit IP-Source-Match + Skip-Action anlegen
- iptables/ip6tables Allow-Rules vor DROP-Rules einfügen + persistieren
- nginx Rate-Limit-Bypass via
geoundmapkonfigurieren - Manuellen Scan im XICTRAQ-Dashboard triggern und 200er-Response auf allen Nodes verifizieren
- Cron-Auto-Sync alle 5 Minuten einrichten für automatische Node-Erweiterungen
Jetzt Monitoring-Whitelist einrichten
Eine saubere Firewall-Konfiguration ist die Voraussetzung dafür, dass Ihr Monitoring die Wahrheit sagt. XICTRAQ stellt die aktuelle Node-Liste als öffentlichen JSON-Endpoint bereit, die vollständige Dokumentation enthält fertige Copy-Paste-Snippets für alle gängigen Firewall-Systeme. Starten Sie kostenlos und lassen Sie Ihre Website von mehreren Regionen aus im 30-Sekunden-Takt prüfen — ohne dass Ihre WAF dazwischenfunkt.
Häufige Fragen
Welche IPs muss ich whitelisten?
Ist die Whitelist ein Sicherheitsrisiko?
Warum nicht einfach den User-Agent whitelisten?
Was passiert, wenn XICTRAQ neue Nodes hinzufügt?
Funktioniert die Whitelist auch hinter Cloudflare?
Mein Hosting-Panel (Plesk, cPanel) bietet keine direkte Regel-Eingabe — was tun?
.conf-Datei im conf.d-Verzeichnis geschrieben werden, die beim Webserver-Reload automatisch eingelesen wird.Dieser Artikel basiert auf Daten von: (Cloudflare), (OWASP).