Zum Hauptinhalt springenZur Fußzeile springen

Sperrliste

Eine von der Community gepflegte IP-Blacklist, die über API und 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 – automatisch aktualisiert anhand von Angriffsdaten aus der Praxis.

Wie die schwarze Liste erstellt wird

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

  • Sein Konfidenzwert beträgt ≥ 75 % (berechnet anhand der Häufigkeit der Meldungen, der Vielfalt der Quellen, des Schweregrads und der Aktualität)
  • Es wurde mindestens 48 Stunden lang beobachtet (falsch-positiver Abklingvorgang)
  • Es steht nicht auf der Whitelist (Suchmaschinen, CDN-Anbieter und als sicher eingestufte Infrastrukturen sind ausgenommen)

Die Blacklist wird automatisch aktualisiert – es findet keine manuelle redaktionelle Überprüfung statt. Der gesamte Prozess ist offen und transparent: Sie können jeden Eintrag über GET /reportedip/v2/check?ip=<ip>&verbose=true um die genaue Aufschlüsselung der Punkte zu sehen.

GitHub-Repository

Die vollständige Blacklist wird als öffentliches GitHub-Repository veröffentlicht und alle 48 Stunden anhand der Live-API-Daten aktualisiert. Sie können sie klonen, in CI/CD-Pipelines verwenden oder in Ihre Infrastruktur integrieren.

github.reportedip

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
└── lists/
    ├── spam.txt
    ├── brute-force.txt
    ├── cms-login.txt
    ├── web-attacks.txt
    ├── scanning.txt
    ├── exploitation.txt
    ├── honeypot.txt
    ├── phishing.txt
    └── malware.txt

Dateiformate

TXT-Format

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

Text
# ReportedIP Blacklist
# Generated: 2026-03-10T00:00:00Z
# Total: 12847
1.2.3.4
5.6.7.8
9.10.11.12

JSON-Format

Eine Sammlung von Objekten mit vollständigen Metadaten für jede IP-Adresse, einschließlich Konfidenzwert, Kategorien und dem Zeitpunkt der letzten Meldung der IP-Adresse.

json
[
  {
    "ip": "1.2.3.4",
    "confidence": 95,
    "categories": ["brute-force", "cms-login"],
    "last_seen": "2026-03-09T14:22:00Z"
  },
  {
    "ip": "5.6.7.8",
    "confidence": 82,
    "categories": ["scanning"],
    "last_seen": "2026-03-08T09:15:00Z"
  }
]

CSV-Format

Durch Kommas getrennte Werte mit Spaltenüberschriften. Einfach in Tabellenkalkulationen, Datenbanken oder SIEM-Tools zu importieren.

csv
ip,confidence,category,last_seen
1.2.3.4,95,brute-force,2026-03-09T14:22:00Z
5.6.7.8,82,scanning,2026-03-08T09:15:00Z
9.10.11.12,78,web-attacks,2026-03-07T20:45:00Z

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.

Nginx

Erstellen Sie eine Blocklistenkonfiguration 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

bash
# Block all IPs from the blacklist
while read ip; do
    iptables -A INPUT -s "$ip" -j DROP
done < blacklist-all.txt

fail2ban

Erstellen Sie eine benutzerdefinierte Jail, die IP-Adressen aus der ReportedIP sperrt:

ini
# /etc/fail2ban/jail.d/reportedip.conf
[reportedip-blacklist]
enabled  = true
banaction = iptables-allports
bantime  = 86400
filter   = reportedip-blacklist
logpath  = /var/log/reportedip-blacklist.log
maxretry = 1

API-Zugriff

Die /blacklist endpoint bietet in Echtzeit Zugriff auf die vollständige Blacklist mit Filteroptionen. Ein API-Schlüssel ist erforderlich.

Parameter Typ Beschreibung
format Zeichenkette Format der Antwort: json (Standard), txt, csv
source Zeichenkette Quelle der schwarzen Liste: community (Standard) – nur eine Quelle verfügbar; die source Dieser Parameter ist für zukünftige Verwendung reserviert
confidence_minimum Ganzzahl Mindestwert für die Konfidenzbewertung (0–100). Standardwert: 75
category Zeichenkette Nach Slug der Bedrohungskategorie filtern (z. B. brute-force, spam)
limit Ganzzahl Maximale Anzahl der zurückzugebenden IP-Adressen. Standard: 10000
Locken
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.de/wp-json/reportedip/v2/blacklist?format=txt&confidence_minimum=90"

Die vollständige Dokumentation zu den Endpunkten, dem Antwortformat und weiteren Parametern finden Sie in der API-Referenz.

Skript für automatische Updates

Richten Sie einen Cron-Job ein, um die aktuelle Blacklist automatisch herunterzuladen und Ihre Firewall-Regeln zu aktualisieren.

Cron-Zeitplan

bash
# /etc/cron.d/reportedip-blacklist
0 */6 * * * root /usr/local/bin/update-reportedip-blocklist.sh

Skript aktualisieren

bash
#!/bin/bash
# /usr/local/bin/update-reportedip-blocklist.sh
# Downloads the latest ReportedIP blacklist and updates Nginx blocklist

API_KEY="your-api-key-here"
API_URL="https://reportedip.de/wp-json/reportedip/v2/blacklist"
BLOCKLIST="/etc/nginx/blocklist.conf"
TMPFILE=$(mktemp)

# Download latest blacklist in TXT format
curl -sf -H "X-Key: $API_KEY" \
     "$API_URL?format=txt&confidence_minimum=90" \
     -o "$TMPFILE"

if [ $? -eq 0 ] && [ -s "$TMPFILE" ]; then
    # Convert to Nginx deny directives
    grep -v "^#" "$TMPFILE" | grep -v "^$" | \
        awk '{print "deny " $1 ";"}' > "$BLOCKLIST"

    # Reload Nginx
    nginx -t && systemctl reload nginx

    echo "$(date): Blocklist updated with $(wc -l < "$BLOCKLIST") entries"
else
    echo "$(date): Failed to download blacklist" >&2
fi

rm -f "$TMPFILE"

Echtzeit vs. GitHub

Wichtig: Die GitHub-Repository-Exporte werden alle 48 Stunden aktualisiert. Für eine Echtzeit- Blockierung mit den aktuellsten Daten nutzen Sie bitte direkt die API. Die API spiegelt Änderungen sofort wider, sobald neue Berichte eingehen, während die GitHub-Dateien bis zu zwei Tage hinterherhinken können.
Verfahren Latenz Anmeldung erforderlich Am besten geeignet für
API Echtzeit Ja (API-Schlüssel) Automatische Sperrung, dynamische Firewall-Regeln, SIEM-Integration
GitHub Bis zu 48 Stunden Nein Statische Firewall-Regeln, CI/CD-Pipelines, Offline-Analyse
Sicherheitsorientiert
DSGVO-konform
Hergestellt in Deutschland
Zurück zu den Dokumenten