Überblick — was die Funktion leistet
Die IP-Reputationsabfrage ist eine gemeinsam genutzte Funktion: Klicken Sie irgendwo im Bereich Sicherheit auf eine verdächtige Quell-IP (src_ip), und der Server ruft stellvertretend für Sie die Bedrohungsdaten von AbuseIPDB ab, dargestellt in einem Pop-up innerhalb der Anwendung. Sie verlassen die Konsole nie — Sie beurteilen „wie einschlägig ist diese IP“ genau dort, wo Sie gerade triagieren.
Wesentliche Merkmale:
- Reine Abfrage (nur lesend). Diese Funktion ruft ausschließlich
/api/v2/checkvon AbuseIPDB auf. Sie meldet oder veröffentlicht die IP nicht nach außen — die ausgehende Meldung (internationale Zusammenarbeit) ist eine eigene, zurückgestellte Reaktionsphase. - Missbrauchs-Konfidenz-Anzeige von 0–100 sowie Anzahl der Meldungen, unterschiedliche Meldende, Verwendungsart, Provider, Land, Domain, Tor-/Whitelist-Kennzeichen und die jüngste Meldehistorie — alles normalisiert.
- Round-Robin über mehrere Schlüssel. Der in Reputations-API hinterlegte AbuseIPDB-Schlüsselpool wird der Reihe nach verbraucht; bei einem 429 (Kontingent erschöpft) oder einem 401/403 (Problem mit dem Schlüssel) wechselt der Dienst automatisch zum nächsten Schlüssel (Kontingent-Bündelung).
- 1-Stunden-Cache je IP. Um das Kontingent von 1000 Anfragen/Tag im kostenlosen Tarif zu schonen, liefern wiederholte Abfragen derselben IP innerhalb einer Stunde das zwischengespeicherte Ergebnis.
- Gemeinsames Mixin. Bedrohungen, Erkennungen, Sicherheitsübersicht und Sperrliste verwenden alle dieselbe Pop-up-Komponente wieder.
Die Live-Schaltfläche dieses Artikels öffnet den Bereich Sicherheit (
/security). Die Reputationsabfrage ist keine eigenständige Seite — sie ist ein gemeinsames Pop-up, das erscheint, wenn Sie auf einem Sicherheitsbildschirm auf das Schild-Lupe-Symbol (.infr-ipsym) neben einer IP oder auf die Schaltfläche [Reputation prüfen] klicken.
Wann Sie sie einsetzen
- Beim Triagieren der schwerwiegendsten Angreifer-IPs in Bedrohungen — ist sie wirklich bösartig oder ein bekannter Scanner bzw. ein bekanntes Botnetz?
- Um zu begründen, ob eine JA3-Auffälligkeit oder eine Kitsune-Anomalie-IP in Erkennungen eine echte Bedrohung darstellt.
- Zum Gegenprüfen der externen Reputation eines Ziels, bevor Sie es in Sperrliste und Reputation sperren oder freigeben.
- Zum schnellen Sichten der IP-Reputation aus den Panels der Top-Bedrohungs-IPs bzw. der JA3-Auffälligkeiten in der Sicherheitsübersicht.
Aufbau
Das Pop-up (security/partials/abuse-modal.blade.php) wird je nach Abfrageergebnis in einem von drei Zuständen dargestellt.
Erfolg — Reputationskarte
| Bereich | Inhalt |
|---|---|
| Konfidenzanzeige | Konischer Donut von 0–100 mit zentriertem score%. Die Tonfarbe verschiebt sich mit dem Wert (siehe Bewertungstabelle). |
| Bewertungslabel | No reports (Keine Meldungen) / Low risk (Geringes Risiko) / Elevated (Erhöht) / High risk (Hohes Risiko) |
| Kennzeichen | Badges Tor node (is_tor) · Whitelisted (is_whitelisted) |
| Zwei große Kennzahlen | Meldungen gesamt · unterschiedliche Meldende |
| Metadaten | Land · Verwendungsart · Provider · Domain · Zeitpunkt der letzten Meldung |
| Aktuelle Meldungen | Bis zu 6 — Kategorie-Chips + Land des Meldenden + Zeit + Kommentar (max. 200 Zeichen) |
| Prüfzeitstempel | Zeitpunkt, zu dem der Server die Abfrage ausgeführt hat (checked_at) |
Konfidenzwert → Bewertungston
| Wert | Bewertung | Ton | Bedeutung |
|---|---|---|---|
| 0 | Keine Meldungen (clean) | good | Keine Missbrauchsmeldungen in diesem Zeitraum |
| 1–24 | Geringes Risiko (low) | info | Einzelne Meldungen — informativ |
| 25–74 | Erhöht (elevated) | warn | Nennenswerte Missbrauchshistorie |
| 75–100 | Hohes Risiko (high) | crit | Deutliches bösartiges Signal |
Zustände „nicht konfiguriert“ / Fehlschlag
- Kein Schlüssel konfiguriert: Schlüssel-Warnsymbol + Hinweis. Nutzen Sie die Schaltfläche [AbuseIPDB öffnen] in der Fußzeile, um direkt auf der externen Seite nachzusehen.
- Abfrage fehlgeschlagen: Kontingent erschöpft, Netzwerkfehler usw. Versuchen Sie es in Kürze erneut oder weichen Sie auf den externen Link aus.
Aktionsschaltflächen in der Fußzeile
| Schaltfläche | Aktion |
|---|---|
| IP kopieren | Kopiert die IP in die Zwischenablage (Rückfall auf execCommand in unsicheren Kontexten) |
| IP-Abfrage | Springt zu IP-Verbindungen (/infra/traffic/ips?src_ip=…) |
| AbuseIPDB öffnen | Öffnet das externe abuseipdb.com/check/{ip} in einem neuen Tab |
| Zur Sperrliste hinzufügen | Deep-Link, der Sperrliste vorbefüllt (/security/blocklist?add={ip}) |
Vorgehen
- Klicken Sie auf einem Sicherheitsbildschirm (Bedrohungen, Erkennungen, Übersicht, Sperrliste) auf das Schild-Lupe-Symbol oder die Schaltfläche [Reputation prüfen] neben einer IP.
- Das Pop-up öffnet sich mit einem Ladeindikator, und das Frontend fordert die Abfrage beim Server an:
GET /security/ip-reputation?ip=203.0.113.10
- Der Server validiert die IP streng (
filter_var FILTER_VALIDATE_IP), fragt anschließend über AbuseIpdbService ab und liefert normalisiertes JSON zurück. - Sehen Sie sich Anzeige, Kennzahlen und aktuelle Meldungen an. Über die Schaltflächen in der Fußzeile kopieren, verfolgen oder sperren Sie nach Bedarf.
Antwortschema (normalisiert)
Bei Erfolg liefert der Server das JSON, das vom Pop-up verarbeitet wird:
{
"ok": true,
"configured": true,
"ip": "203.0.113.10",
"score": 84,
"reports": 128,
"distinct_users": 41,
"country": "CN",
"usage": "Data Center/Web Hosting/Transit",
"isp": "Example Hosting Ltd",
"domain": "example-host.net",
"is_tor": false,
"is_whitelisted": false,
"last_reported": "2026-08-12T22:14:07+00:00",
"recent": [
{ "at": "2026-08-12T22:14:07+00:00", "country": "US", "categories": [18, 22], "comment": "SSH brute-force" }
],
"checked_at": "2026-08-13 09:31:20",
"external_url": "https://www.abuseipdb.com/check/203.0.113.10"
}
Bei kontrolliertem Fehlschlag:
{ "ok": false, "configured": false, "external_url": "https://www.abuseipdb.com/check/203.0.113.10" }
| Feld | Quelle (AbuseIPDB) | Bedeutung |
|---|---|---|
score |
abuseConfidenceScore | Missbrauchs-Konfidenz 0–100 |
reports |
totalReports | Meldungen gesamt |
distinct_users |
numDistinctUsers | Anzahl unterschiedlicher Meldender |
country |
countryCode | Ländercode |
usage |
usageType | Verwendung (Rechenzentrum / Provider / …) |
isp / domain |
isp / domain | Provider · Domain |
is_tor |
isTor | Kennzeichen für Tor-Exit-Knoten |
is_whitelisted |
isWhitelisted | AbuseIPDB-Whitelist |
last_reported |
lastReportedAt | Zeitpunkt der letzten Meldung |
recent[] |
reports[] | Aktuelle Meldungen (max. 6, Kommentar bei 200 Zeichen abgeschnitten) |
Meldekategorien (1–23)
recent[].categories ist ein Array numerischer IDs. Das Pop-up stellt die Bezeichnungen über die Sprachtabelle security.abuse.cat dar.
| ID | Bezeichnung | ID | Bezeichnung | ID | Bezeichnung |
|---|---|---|---|---|---|
| 1 | DNS kompromittiert | 9 | Offener Proxy | 17 | Spoofing |
| 2 | DNS-Poisoning | 10 | Web-Spam | 18 | Brute Force |
| 3 | Betrügerische Bestellungen | 11 | E-Mail-Spam | 19 | Schädlicher Web-Bot |
| 4 | DDoS-Angriff | 12 | Blog-Spam | 20 | Kompromittierter Host |
| 5 | FTP-Brute-Force | 13 | VPN-IP | 21 | Angriff auf Webanwendung |
| 6 | Ping of Death | 14 | Portscan | 22 | SSH |
| 7 | Phishing | 15 | Hacking | 23 | Auf IoT gerichtet |
| 8 | VoIP-Betrug | 16 | SQL-Injection |
Datenquellen
Diese Funktion legt keine neue Tabelle an. Sie kommt allein mit einem externen API-Aufruf + einer Schlüsselregistrierung + einem Cache aus.
| Komponente | Beschreibung |
|---|---|
| AbuseIPDB-API | https://api.abuseipdb.com/api/v2/check (verbose=1, maxAgeInDays=Wert des Anbieters·Standard 90). Zeitlimit 8 Sekunden. |
AbuseIpdbService |
Abfragen, Normalisieren, Zwischenspeichern und Verbrauchen der rotierten Schlüssel. check($ip) (mit Cache) · checkWithKey() (Einzelschlüsseltest für Administratoren, ohne Cache). |
ReputationProviderService |
Single Source of Truth des Schlüsselpools. Liefert die aktiven Zeilen aus infr_reputation_provider, sortiert nach priority·id, mit 30-s-Cache, rotated() für das Round-Robin, und greift auf .env ABUSEIPDB_KEY zurück, wenn keiner registriert ist. |
infr_reputation_provider |
Registrierungstabelle für mehrere AbuseIPDB-Schlüssel (Migration 000733). Schlüssel werden als secret_enc (Crypt, nur schreibend) gespeichert — sie gelangen nie zurück in den Browser. Verwaltet wird das in Reputations-API. |
| Cache | Cache-Schlüssel infr:sec:abuse:{ip}, TTL 3600 s (1 Stunde). Der Round-Robin-Zähler ist infr:reputation:rr. |
config/services.php |
abuseipdb.key (=.env ABUSEIPDB_KEY) · abuseipdb.max_age_days (Standard 90). Nur als Rückfallebene, wenn kein registrierter Schlüssel existiert. |
Ablauf von Schlüsselrotation / Failover
check(ip)
├ cache hit? → return
└ miss → iterate providers.rotated()
key#1 → 200? → normalize·cache·return
→ 429/401/403 → fail over to next key (secret never printed)
key#2 → …
all fail → { ok:false, error:"http_429"|"unreachable" }
Registrieren Sie mehrere Schlüssel des kostenlosen Tarifs, dann bündeln sich deren Kontingente. Wenn ein Schlüssel sein Tageskontingent aufgebraucht hat und 429 zurückgibt, rückt der Dienst automatisch zum nächsten vor — Teams mit hoher Ermittlungslast sollten 2–3 Schlüssel in Reputations-API registrieren.
Zugriff
- Abfrage-Endpunkt
GET /security/ip-reputation: Da es sich um eine reine Abfrage handelt, gibt es weder eine Step-up-Bestätigung noch einen Audit-Eintrag. Der Endpunkt liegt hinter dem Menübereich Sicherheit (min_req 2), sodass ihn faktisch das Sicherheitspersonal (staff=5) und höher erreicht. Er veröffentlicht nichts nach außen und ist damit keine destruktive Aktion. - Ungültige IP: Schlägt die Prüfung durch
filter_varfehl, kommt HTTP 422{"ok":false,"message":"invalid_ip"}zurück. - Schlüsselverwaltung Reputations-API: CRUD, Live-Test und das Ziehen der Priorität über
infr_reputation_providersind ausschließlich Administratoren vorbehalten (admin=10, level≥5) und werden auditiert. Schlüssel werden verschlüsselt gespeichert und können beim Bearbeiten nur ersetzt oder gelöscht werden. - Kein Geheimnisabfluss: API-Schlüssel gelangen nie in Antworten oder Fehlerinhalte (Fehler werden nur als Zeichenkette
http_STATUSfestgehalten).
Fehlerbehebung und FAQ
Das Pop-up meldet „API-Schlüssel nicht konfiguriert“
In infr_reputation_provider ist kein Schlüssel registriert und .env ABUSEIPDB_KEY ist leer. Legen Sie in Reputations-API einen AbuseIPDB-Schlüssel an oder setzen Sie ABUSEIPDB_KEY=YOUR_KEY in der .env. Nutzen Sie bis dahin die Schaltfläche [AbuseIPDB öffnen], um auf der externen Seite nachzusehen.
„Abfrage fehlgeschlagen“ erscheint immer wieder
- 429 (Kontingent erschöpft): Möglicherweise haben Sie die 1000 Anfragen/Tag des kostenlosen Tarifs aufgebraucht. Registrieren Sie zusätzliche Schlüssel, um Kontingent zu bündeln, oder versuchen Sie es am nächsten Tag erneut.
- 401/403 (Problem mit dem Schlüssel): Der Schlüssel ist abgelaufen, vertippt oder inaktiv. Prüfen Sie ihn mit [Live-Test] in Reputations-API.
- Netzwerk (unreachable): Vergewissern Sie sich, dass ausgehende Verbindungen zu
api.abuseipdb.com(443) vom Konsolen-Host aus nicht blockiert sind.
Eine gerade gesperrte IP zeigt weiterhin einen niedrigen Wert
Ergebnisse werden pro IP für 1 Stunde zwischengespeichert (infr:sec:abuse:{ip}). Wenn Sie einen frischen Wert benötigen, fragen Sie nach spätestens einer Stunde erneut ab. Der Cache existiert, um Ihr kostenloses Kontingent zu schonen.
Kann ich die IP von hier aus an AbuseIPDB melden?
Nein. Diese Funktion dient ausschließlich der Abfrage. Das Einreichen von Meldungen (internationale Zusammenarbeit) ist eine eigene, zurückgestellte Reaktionsphase — hier wird nichts nach außen veröffentlicht.
Ich sehe nur 6 aktuelle Meldungen
Der Normalisierungsschritt behält nur die 6 jüngsten (MAX_REPORTS=6). Die vollständige Historie sehen Sie über [AbuseIPDB öffnen] auf der externen Seite.
Es ist eine IP aus der Whitelist bzw. dem internen Netz, aber die Abfrageschaltfläche fehlt
Sicherheitsbildschirme kennzeichnen die IPs registrierter Instanzen (Ihr eigenes Netz) mit einem Internal-Badge und blenden die Reputationsschaltfläche aus (SecurityScope) — das verhindert Verwirrung, wenn die Richtungslabels von Suricata unseren eigenen Server als „Quelle“ ausweisen. Die Definitionen des internen Netzes werden in Betriebsrichtlinie verwaltet.
Verwandte Themen
- Verwaltung der Reputations-API — AbuseIPDB-Registrierung mehrerer Schlüssel, Round-Robin, Live-Test
- Bedrohungen — IP-Reputation während der Triage von IDS-Bedrohungsentitäten prüfen
- Erkennungen · JA3 — Reputation von JA3-Auffälligkeiten bzw. Anomalie-IPs verifizieren
- Sperrliste und Reputation — Sperrliste + Reputationsabgleich + Deep-Link zum Sperren
- Sicherheitsübersicht — Abwehr-Funnel und Top-Bedrohungs-IPs
- Whitelist — Sperrbefreiung und automatische Unschulds-Whitelist durch srct
