InfraGuard

IP-Reputationsabfrage (AbuseIPDB)

Klicken Sie auf eine beliebige verdächtige IP, um die Bedrohungsdaten von AbuseIPDB in einem In-App-Pop-up abzurufen — Konfidenzanzeige, Meldungen, Kategorien, Tor/Whitelist, mit einem 1-Stunden-Cache, der Ihr kostenloses Kontingent schont.

Ü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:

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

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

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

  1. Klicken Sie auf einem Sicherheitsbildschirm (Bedrohungen, Erkennungen, Übersicht, Sperrliste) auf das Schild-Lupe-Symbol oder die Schaltfläche [Reputation prüfen] neben einer IP.
  2. 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
  1. Der Server validiert die IP streng (filter_var FILTER_VALIDATE_IP), fragt anschließend über AbuseIpdbService ab und liefert normalisiertes JSON zurück.
  2. 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

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

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

위협 화면의 IP 조사 진입점
위협 화면의 IP 조사 진입점