Skip to main contentSkip to footer

Blacklist

Die ReportedIP Blacklist ist eine von der Community gepflegte Liste bösartiger IP-Adressen, die automatisch aus realen Angriffsmeldungen generiert wird und über API sowie GitHub verfügbar ist. Nutzen Sie sie, um bekannte bösartige IP-Adressen in Ihrer Firewall, auf Ihrem Webserver oder in Ihrer Anwendung zu blockieren, sie wird täglich aktualisiert, ohne dass eine manuelle Überprüfung erforderlich ist.

So wird die Blacklist erstellt

Jede IP-Adresse in der Blacklist stammt aus Community-Reports, die in unserer Reputations-Engine erfasst werden. Eine IP-Adresse wird nur dann aufgenommen, wenn:

  • ihr Confidence Score ≥ 75 % beträgt (berechnet aus der Häufigkeit der Reports, der Vielfalt der Quellen, dem Schweregrad und der Aktualität)
  • ihr jüngster Bericht mindestens 48 Stunden alt ist (Abkühlphase für False Positives: Einträge werden erst dann in den Export aufgenommen, wenn der Wert Zeit hatte, sich neu zu kalibrieren)
  • sie nicht auf der Whitelist steht (Suchmaschinen, CDN-Anbieter und als sicher bekannte Infrastrukturen sind ausgeschlossen)

Die Blacklist wird automatisch aktualisiert, es findet keine manuelle redaktionelle Überprüfung statt. Die gesamte Pipeline ist offen und transparent. Ohne Key zeigt die DNSBL-Blacklist-Prüfung den Status jeder Adresse; mit Key prüfen Sie jeden Eintrag über GET /reportedip/v2/check?ip=<ip>&verbose=true die genaue Aufschlüsselung der Punktzahl einsehen.

GitHub-Repository

Die vollständige Blacklist wird als öffentliches GitHub-Repository veröffentlicht, das täglich anhand der Live-API-Daten aktualisiert wird. Die exportierten Daten selbst unterliegen einer Verzögerung von 48 Stunden (die oben beschriebene Abkühlphase für False Positives). Sie können das Repository klonen, in CI/CD-Pipelines verwenden oder in Ihre Infrastruktur integrieren.

github.com/reportedip/reportedip-blacklist

Struktur des Repositorys

text
reportedip-blacklist/
├── blacklist-all.txt       # All IPs, one per line
├── blacklist-all.json      # All IPs with metadata
├── blacklist-all.csv       # All IPs, CSV format
├── metadata.json           # Export metadata (version, counts, timestamps)
├── lists/                  # Thematic sub-lists
│   ├── spam.txt
│   ├── brute-force.txt
│   ├── cms-login.txt
│   ├── web-attacks.txt
│   ├── malware.txt
│   ├── ddos.txt
│   ├── fraud.txt
│   ├── infrastructure.txt
│   └── apt.txt
└── formats/                # Ready-to-include firewall snippets
    ├── nginx-deny.conf
    ├── apache-htaccess.txt
    └── iptables.sh

Dateiformate

TXT-Format

Klartext, eine IP-Adresse pro Zeile. Zeilen, die mit # sind Kommentare, die Metadaten wie Erstellungszeit und Gesamtanzahl enthalten.

text
# ReportedIP Blacklist - All IPs
# https://reportedip.com
#
# Copyright (c) 2026 ReportedIP / Patrick Schlesinger
# Licensed under CC BY 4.0 - https://creativecommons.org/licenses/by/4.0/
#
# IMPORTANT: Data is delayed by 48 hours.
# For real-time threat intelligence via API, contact: 1@reportedip.com
#
# Generated: 2026-07-22
# Total IPs: 12847
#
1.2.3.4
5.6.7.8
9.10.11.12

JSON-Format

Ein meta Block (Exportversion, Zählwerte, Erstellungszeitstempel), gefolgt von einem entries Array. categories sind numerische IDs für Threat Categories, ordnen Sie diese dem Threat Category-Katalog zu oder GET /categories.

json
{
  "meta": {
    "version": "2026-07-22",
    "generatedAt": "2026-07-22T00:00:00Z",
    "totalCount": 12847
  },
  "entries": [
    {
      "ip": "1.2.3.4",
      "confidence": 95,
      "categories": [18, 21],
      "source": "dynamic"
    },
    {
      "ip": "5.6.7.8",
      "confidence": 82,
      "categories": [14],
      "source": "dynamic"
    }
  ]
}

CSV-Format

Durch Kommas getrennte Werte mit einer Kopfzeile. Einfach in Tabellenkalkulationen, Datenbanken oder SIEM-Tools zu importieren. categories enthält durch Semikolons getrennte numerische Kategorie-IDs.

csv
ip,confidence,categories,last_reported
1.2.3.4,95,"18;21","2026-07-19 14:22:00"
5.6.7.8,82,"14","2026-07-18 09:15:00"
9.10.11.12,78,"21","2026-07-17 20:45:00"

Firewall-Integration

Verwenden Sie die Blacklist-Dateien, um bösartige IP-Adressen auf Firewall- oder Webserver-Ebene zu blockieren. Nachfolgend finden Sie Integrationsbeispiele für gängige Tools.

Blockierung auf Netzwerkebene? Die hier aufgeführten Codeausschnitte dienen als Ausgangspunkt für einen einzelnen Rechner. Für die Produktionsumgebung, ein Blocksatz pro Dienst, stündliche bedingte Synchronisierung, atomarer Austausch, IPv6 und Cloud-Edge-Firewalls, befolgen Sie bitte die Anleitung unter „Blockierung auf Netzwerkebene “.

Nginx

Generieren Sie eine Blocklist-Konfiguration und fügen Sie diese in Ihren Nginx-Serverblock ein:

bash
# Generate Nginx blocklist from TXT file
awk '{print "deny " $1 ";"}' blacklist-all.txt > /etc/nginx/blocklist.conf
nginx
# /etc/nginx/sites-enabled/default
server {
    include /etc/nginx/blocklist.conf;

    # ... rest of your config
}

Apache (.htaccess)

apache
# .htaccess: Block reported IPs
<RequireAll>
    Require all granted
    Require not ip 1.2.3.4
    Require not ip 5.6.7.8
    Require not ip 9.10.11.12
</RequireAll>

iptables (über ipset)

Laden Sie die Liste in ein „ipset“ und gleichen Sie diesen Satz anhand einer einzigen Regel ab. Eine Regel pro IP-Adresse würde bedeuten, dass für jedes Paket Tausende von Regeln durchlaufen werden müssten; ein Set-Lookup bleibt konstant, unabhängig davon, wie groß die Liste wird.

bash
# Create the set and fill it in one pass (IPv4 entries only)
ipset create rip-block hash:ip family inet maxelem 65536 -exist
grep -E '^[0-9]+(\.[0-9]+){3}$' blacklist-all.txt \
  | sed 's|^|add rip-block |' | ipset restore -exist

# One rule blocks the whole set
iptables -I INPUT -m set --match-set rip-block src -j DROP

IPv6 benötigt ein eigenes Set (family inet6) sowie eine eigene ip6tables Regel, siehe „Blockierung auf Netzwerkebene“ für das vollständige Skript einschließlich nftables, dienstbezogener Sets und der stündlichen Synchronisierung.

API-Zugriff

Der /blacklist Endpoint bietet Echtzeit-Zugriff auf die vollständige Blacklist mit Filteroptionen. Ein API Key mit der „Threat Feed“-Funktion (ab der „Contributor“-Stufe) ist erforderlich. Der Endpoint ist funktionsgebunden und wird nicht auf Ihr tägliches Abfrage- oder Reports-Kontingent angerechnet: Sie können ihn so oft abfragen, wie es Ihre Caching-Strategie erfordert. Informationen zu Stufen und Schlüsseln finden Sie unter „Authentifizierung & Rate Limits “.

Parameter Typ Beschreibung
format Zeichenkette Antwortformat: json (Standard), txt, csv
source Zeichenkette Quelle der Blacklist: dynamic (Standard), die von der Community gepflegte, automatisch bewertete Blacklist
confidence Ganzzahl Mindestwert für den Confidence Score (0–100). Standard: 75. Alias: confidenceMinimum. Empfohlen für die automatische Sperrung: 90
category Zeichenkette Eine oder mehrere IDs von Threat Categories, durch Kommas getrennt (z. B. 22,18 für SSH sowie generische Brute-Force-Angriffe). Den vollständigen Katalog finden Sie auf der Seite „Threat Categories“ oder über GET /categories
limit Ganzzahl Maximale Anzahl der zurückzugebenden IP-Adressen. Standard: 10.000, behalten Sie den Standardwert bei; kleinere Werte führen zu einer Verkürzung der Liste
curl
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.com/wp-json/reportedip/v2/blacklist?format=txt&confidence=90&limit=50000"

Die vollständige Dokumentation zum Endpoint, das Antwortformat sowie weitere Parameter finden Sie in der API Reference.

Dienstspezifische Blacklists

Kombinieren Sie den category Filter mit confidence=90 , um eine Sperrliste pro offengelegtem Dienst zu erstellen. Jede Liste enthält nur IP-Adressen, die für den entsprechenden Angriffstyp gemeldet wurden, sodass Sie sie portbezogen anwenden können, eine IP-Adresse auf der Web-Liste sperrt niemanden aus dem SSH-Zugang aus.

Liste category Wert Enthaltene Kategorien Anwenden auf
SSH 22,18 SSH-Brute-Force, generische Brute-Force sshd: Port 22
E-Mail 11,7,17,18 Email Spam, Phishing, Spoofing, Brute-Force (SMTP-AUTH/IMAP/POP3) Postfix/Exim, Dovecot: Ports 25, 465, 587, 110, 143, 993, 995
Web 21,16,10,19,12,31…58 Web App Attack, SQL Injection, Web Spam, Bad Web Bot, Blog Spam sowie die spezielle WordPress-Blockierung (31–58): Brute-Force-Angriffe auf Login/XML-RPC/REST, Exploits für Plugins, Themes und den Kern, Kommentar- und Registrierungsspam, Hintertüren, Scans. Voller Umfang auf der Seite „Blockierung auf Netzwerkebene“ nginx/Apache inkl. WordPress-Hosting: Ports 80, 443
FTP 5,18 FTP Brute-Force, generische Brute-Force vsftpd/proftpd: Port 21
Edge 4,14,20 DDoS Attack, Port Scan, Exploited Host gesamter Netzwerk-Edge, alle Ports
curl
# SSH attackers only, plain text for ipset/nftables
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.com/wp-json/reportedip/v2/blacklist?confidence=90&format=txt&limit=50000&category=22,18"

Senden Sie den gespeicherten ETag als If-None-Match zurück; unveränderte Listen antworten mit 304 Not Modified, was kein Kontingent kostet. Den Abfragerhythmus und den Fall eines veralteten Tags behandelt Blockierung auf Netzwerkebene. Gültige Kategorie-IDs reichen von 1 bis 63: die IDs 31 bis 58 bilden den WordPress-Block, den die oben aufgeführte web-Liste enthält, die IDs 59 bis 63 stammen aus High-Interaction-Honeypots. Vollständiger Katalog: Threat Categories.

Ein Cronjob, der die Liste holt und die Firewall neu lädt, gehört zum übrigen Netzwerk-Setup: das Sync-Skript unter Blockierung auf Netzwerkebene lädt bedingt, tauscht das Set atomar, verwirft einen abgebrochenen Download und behandelt IPv6. Ein kurzes Herunterladen-und-Ersetzen leistet das alles nicht.

Echtzeit vs. GitHub

Wichtig: Das GitHub-Repository wird täglich aktualisiert, die exportierten Daten unterliegen jedoch einer 48-stündigen Abkühlphase für False Positives. Für eine Echtzeit-Blockierung mit den aktuellsten Daten nutzen Sie bitte direkt die API, diese spiegelt Änderungen sofort wider, sobald neue Reports eingehen, während die GitHub-Dateien um bis zu zwei Tage hinterherhinken. Mailserver können die Blacklist auch als DNSBL-/RBL-Zone nutzen, ohne Dateien herunterladen zu müssen.
Methode Latenz Authentifizierung erforderlich Am besten geeignet für
API Echtzeit Ja (API Key) Automatische Sperrung, dynamische Firewall Rules, SIEM-Integration
GitHub Bis zu 48 Stunden Nein Statische Firewall Rules, CI/CD-Pipelines, Offline-Analyse

Zuletzt aktualisiert: · Betreut vom ReportedIP-Team

Security Focused
DSGVO-konform
Made in Germany
Zurück zur Doku