AbuseBox
Wisse, dass dein Mailserver auf einer Blacklist steht, bevor es deine Nutzer tun.
Selbstgehostetes Monitoring für die IPs und Domains, die du betreibst: 24 DNS-Blacklists, SSL- und Domain-Ablauf, SPF/DKIM/DMARC und Uptime, mit einer Warnung, wenn sich etwas ändert.
Website | Schnellstart | Changelog


Schnellstart
git clone https://github.com/bekkaze/abusebox.git && cd abusebox
docker compose up -d
Öffne http://localhost:3000 und melde dich als admin mit dem Passwort aus docker compose exec backend cat /app/data/initial_admin_password an, dann ändere es in den Einstellungen. Weitere Optionen unter Installation.
Warum AbuseBox
- Ergebnisse, denen du vertrauen kannst. Bevor AbuseBox einer Blacklist vertraut, prüft es sie gegen ihre Testadressen (RFC 5782). Eine Liste, die deinen Resolver ablehnt, zeigt Keine Antwort an, nicht fälschlich „sauber". Probiere es aus: Über Google DNS meldet Spamhaus für alles „nicht gelistet".
- Jeder Eintrag erklärt. Spamhaus SBL (eine Spam-Quelle) und PBL (ein Endnutzer-Bereich) sind nicht dasselbe Problem. Jeder Eintrag kommt mit seiner Bedeutung und einem Schweregrad, damit du weißt, was zuerst zu beheben ist.
- Mailserver-Zustand an einem Ort. 24 Blacklists, AbuseIPDB, SSL- und Domain-Ablauf, SPF/DKIM/DMARC-Bewertungen, DMARC-Berichte und Uptime.
- Sortiert nach dem, was wirklich zählt. Jedes Asset erhält einen Risikowert von 100, gewichtet nach dem Schweregrad, den die eigenen Rückgabecodes jeder Blacklist dekodieren, sodass ein kritischer Eintrag drei kosmetische überwiegt. Der Wert zeigt seine Herleitung: jeder Faktor, was er beigetragen hat und von welchem Maximum.
- Sagt dir, was sich geändert hat. Geplante Prüfungen, ein Aktivitätsprotokoll und Benachrichtigungen per E-Mail, Slack, Discord oder Webhook, wenn etwas gelistet, entlistet, ausgefallen oder kurz vor dem Ablauf steht.
- Deins. Selbst gehostet, MIT-lizenziert, keine Telemetrie, keine Bezahlstufe.
Wenn AbuseBox dir einen Bounce erspart, hilft ein Stern anderen Mailbetreibern, es zu finden.
Funktionen
Überwachung
- Füge IPs und Domains als Assets hinzu (einzeln, als Liste mit bis zu 300 oder als ganzes /24) und wähle, welche Prüfungen für jedes ausgeführt werden
- Geplante erneute Prüfungen in einem globalen oder asset-spezifischen Intervall, plus eine Schaltfläche „fällige Assets jetzt prüfen"
- Ein Dashboard, das mit dem öffnet, was Handlung erfordert, geordnet nach einem Risikowert von 0-100, der aus den eigenen Befunden jedes Assets gebildet wird
- Ein Risikowert pro Asset mit aufgeschlüsselten Faktoren: Blacklists, Erreichbarkeit, Zertifikat, Domain, E-Mail-Authentifizierung und Reputation
- Ein Aktivitätsprotokoll jeder Änderung, Prüfverlauf mit den Änderungen zwischen den Prüfungen und Blacklist-Verlaufsdiagramme
- Benachrichtigungen per E-Mail, Slack, Discord oder Webhook für neue Listungen, Entfernungen, Ausfälle, Wiederherstellungen und Ablaufwarnungen
Prüfungen
- Blacklists: 24 DNS-Blacklists, jeder Eintrag mit seiner Bedeutung und einem Schweregrad dekodiert, und jede Liste gegen ihre Testadressen verifiziert
- AbuseIPDB: Missbrauchs-Konfidenzwert, Meldungen, ISP und Land (kostenloser API-Schlüssel)
- SSL: Gültigkeit, Aussteller, Ablauf, abgedeckte Namen und ob die TLS-Version und Cipher noch akzeptabel sind
- WHOIS: Registrar, Daten, Nameserver und Abuse-Kontakt, über IPv6 oder IPv4
- DNS: A-, AAAA-, MX-, TXT-, CNAME-, NS-, SOA- und PTR-Einträge
- SPF / DKIM / DMARC: bewertet von A bis F, mit benutzerdefinierten DKIM-Selektoren, plus Parsing von DMARC-Aggregatberichten. Der eigene Hostname eines Mailservers wird berücksichtigt: sein SPF wird dort gelesen, wo er veröffentlicht ist, und die DMARC-Richtlinie und der DKIM-Schlüssel, von denen er abgedeckt wird, werden auf der Domain gefunden, zu der er gehört
- Serverstatus: DNS-Auflösung, Ports 80 und 443, HTTP-Status und Antwortzeit
- Massen- und Subnetzprüfungen: bis zu 300 Ziele auf einmal oder jede Adresse in einem /24
Alltag
- Delist-Verfolgung mit Links zur Entfernungsseite jeder Blacklist
- Tabellen- oder Kartenansicht, mit Suche, Filtern, Sortierung und Paging alles serverseitig, sodass Seite eins die Spitze der echten Reihenfolge ist, egal wie viele Assets du hast
- Ein Besitzer pro Asset, durchsuchbar zusammen mit Hostname, Typ und Beschreibung
- Massenaktionen und CSV-Export
- Befehlspalette (Strg/Cmd + K), helle und dunkle Themes, ein mobiles Layout
- Mehrere Benutzer mit Admin-Rollen, optionale Verlaufsaufbewahrung und eine REST-API mit Swagger-Dokumentation
- Eine öffentliche Schnellprüfungsseite (ratenbegrenzt), die kein Konto benötigt; alles andere erfordert eine Anmeldung
Installation
Docker (empfohlen)
git clone https://github.com/bekkaze/abusebox.git
cd abusebox
cp backend/.env.example .env # optional: alerts, API keys, admin account
docker compose up -d # pulls the prebuilt images (add --build to build from source)
Öffne http://localhost:3000 und du kannst loslegen.
Erste Anmeldung: Der Benutzer ist admin, und beim ersten Start wird ein zufälliges Passwort generiert. Lies es mit docker compose exec backend cat /app/data/initial_admin_password aus; das Backend-Log nennt die Datei, gibt das Passwort selbst aber nicht mehr aus, sodass ein Log, das du mit jemandem teilst, dieser Person nicht den Zugang verschafft. Ändere es direkt nach der Anmeldung in den Einstellungen; die gespeicherte Kopie wird dabei gelöscht. Um es selbst festzulegen, setze DEFAULT_ADMIN_PASSWORD in .env vor dem ersten Start. Wenn der Datenpfad nicht beschreibbar ist, wird das Konto gar nicht erst angelegt, und das Log sagt dies, anstatt das Passwort darin abzulegen.
Die UI antwortet auf jedem Hostnamen, sodass du sie sofort von einem anderen Rechner aus öffnen kannst. Stelle sie hinter deinen eigenen HTTPS-Reverse-Proxy, bevor du sie in einem Netzwerk exponierst, dem du nicht vertraust.
Manuelle Einrichtung
Zum Erweitern klicken
Voraussetzungen: Python 3.11+, Node.js 20.19+, Yarn
Backend:
cd backend
cp .env.example .env
pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8100 --reload