
ioc2rpz ist ein Ort, an dem Threat Intelligence auf DNS trifft.
ioc2rpz™: Die DNS-Sicherheitslösung – ioc2rpz™ ist ein leistungsstarker DNS-Server, der Bedrohungsindikatoren in umsetzbare Response Policy Zone (RPZ) Feeds umwandelt. Es automatisiert den Aktualisierungsprozess und stellt sicher, dass Ihr Netzwerk vor den neuesten Bedrohungen, einschließlich bösartiger Domains und IP-Adressen, geschützt ist. Durch die Umwandlung von IOC-Feeds in RPZs fungiert ioc2rpz™ als entscheidende Verbindung zwischen Threat Intelligence und DNS-Sicherheit, kompatibel mit RPZ-unterstützenden DNS-Servern wie ISC BIND oder PowerDNS.
DNS ist die Kontrollebene des Internets. Normalerweise wird DNS für gute Zwecke genutzt, aber:

ISC BIND ist de facto der Standard eines Nameservers. Mit der Einführung von Response Policy Zones (RPZ) in ISC BIND 9.8 wurde es eine einfache Aufgabe, Malware auf DNS-Ebene zu überwachen und einzudämmen. RPZ wird im PowerDNS Recursor ab Version 4.0.0 und späteren Versionen unterstützt. Knot DNS unterstützt RPZ ebenfalls teilweise.
Im Vergleich zu traditionellen Netzwerkschutzlösungen kann ein DNS-Server Millionen von Indikatoren ohne Leistungseinbußen verarbeiten, aber es gab keinen automatisierten und effizienten Weg, um Response Policy Zones auf primären DNS-Servern zu verwalten.
Normalerweise werden Indikatoren für Kompromittierung (IOCs) als Klartext, aber in unterschiedlichen Formaten verteilt, und nur wenige Anbieter von IOCs stellen sie über RPZ zur Verfügung.
ioc2rpz™ ist ein eigener DNS-Server, der Indikatoren (z. B. bösartige FQDNs, IPs) aus verschiedenen Quellen automatisch in RPZ-Feeds umwandelt und sie automatisch pflegt/aktualisiert. Die Feeds können an jeden Open-Source- und/oder kommerziellen DNS-Server verteilt werden, der RPZ unterstützt, z. B. ISC BIND, PowerDNS. Sie können Ihren eigenen DNS-Server mit RPZ-Filterung auf einem Router, Desktop, Server und sogar Raspberry Pi betreiben. Der Systemspeicher ist die einzige Einschränkung.
Mit ioc2rpz™ können Sie Ihre eigenen Feeds und Aktionen definieren und unerwünschte Kommunikation verhindern.
ioc2rpz™ wandelt IOC-Feeds in Response Policy Zones (RPZ) um. Sie können Feeds mischen, um eine einzelne RPZ oder mehrere RPZs zu erzeugen. Vertrauenswürdige Domains und IPs können auf eine Whitelist gesetzt werden. ioc2rpz™ unterstützt den Ablauf von Indikatoren und baut Zonen entsprechend neu auf.
Die aktuelle Version unterstützt: lokale Dateien, Dateien/Anfragen über http/https/ftp und Shell-Skripte, um auf andere Ressourcentypen zuzugreifen. Sie können jedes Dateiformat verwenden, wenn Sie einen REGEX schreiben können, um Indikatoren zu extrahieren, und Indikatoren durch Zeilenumbrüche und/oder Wagenrücklaufzeichen getrennt sind (/n, /r, /r/n).
ioc2rpz ist auf Erlang/OTP mit einem Überwachungsbaum aufgebaut, der Fehlertoleranz und automatische Wiederherstellung gewährleistet. Siehe docs/architecture.md für vollständige Details.``` ioc2rpz_app (application) └── ioc2rpz_sup (supervisor) ├── ioc2rpz_db_sup — ETS table heir process ├── ioc2rpz_tcp_sup — TCP listener pool (5 workers) ├── ioc2rpz_udp_sup — UDP listener ├── ioc2rpz_tls_sup — TLS/DoT listener pool (5 workers) [if cert configured] └── ioc2rpz_rest_sup — Cowboy HTTPS (REST API + DoH) [if cert configured]
Wichtige Module:
| Modul | Verantwortlichkeit |
|--------|---------------|
| `ioc2rpz.erl` | TCP/TLS DNS Worker — akzeptiert, parst, validiert, antwortet |
| `ioc2rpz_udp.erl` | UDP-DNS-Listener — SOA-Abfragen |
| `ioc2rpz_conn.erl` | IOC-Quellenabruf (HTTP/HTTPS/Datei/Shell) |
| `ioc2rpz_db.erl` | ETS-basierter Zonen- und Paket-Cache |
| `ioc2rpz_sup.erl` | Haupt-Supervisor, Konfigurationsladung, Zonenplanung |
| `ioc2rpz_rest.erl` | REST-Management-API (Cowboy) |
| `ioc2rpz_doh.erl` | DNS-over-HTTPS-Handler |
## Verwendung von ioc2rpz™
Sie können ioc2rpz™ mit jedem DNS-Server verwenden, der Response Policy Zones unterstützt, z.B. aktuelle Versionen von ISC BIND, PowerDNS und alle kommerziellen DNS-Server, die auf diesen Produkten basieren (z.B. Infoblox, Blue Cat, Efficient IP). Eine Beispiel-Konfigurationsdatei für BIND (named.conf) wird im Ordner cfg bereitgestellt.
<p align="center"><a href="http://www.youtube.com/watch?feature=player_embedded&v=bvhyMFa_mBM" target="_blank"><img src="https://raw.githubusercontent.com/Homas/ioc2rpz/master/ioc2rpz_demo.png"></a></p>
## ioc2rpz™ Weboberfläche
[ioc2rpz.gui](https://github.com/Homas/ioc2rpz.gui) ist eine Management-Weboberfläche, die als separates Projekt entwickelt wird. Sie ist nicht erforderlich, um ioc2rpz™ auszuführen.
## Protokollunterstützung