
ioc2rpz est l'endroit où la threat intelligence rencontre le DNS.
ioc2rpz™ : La solution de sécurité DNS - ioc2rpz™ est un serveur DNS puissant qui transforme les indicateurs de menace en flux Response Policy Zone (RPZ) actionnables. Il automatise le processus de mise à jour, garantissant que votre réseau est protégé contre les menaces les plus récentes, y compris les domaines malveillants et les adresses IP. En convertissant les flux d'IOC en RPZ, ioc2rpz™ agit comme un lien crucial entre la threat intelligence et la sécurité DNS, compatible avec les serveurs DNS prenant en charge RPZ tels que ISC Bind ou PowerDNS.
Le DNS est le plan de contrôle d'Internet. Habituellement, le DNS est utilisé à bon escient, mais :

ISC Bind est de facto une norme de serveur de noms. Avec l'introduction des Response Policy Zones dans ISC BIND 9.8, surveiller et contenir les logiciels malveillants au niveau de la couche DNS est devenu une tâche simple. RPZ est pris en charge sur PowerDNS recursor 4.0.0 et versions ultérieures. Knot DNS prend également partiellement en charge RPZ.
Par rapport aux solutions traditionnelles de protection réseau, un serveur DNS peut traiter des millions d'indicateurs sans impact sur les performances, mais il n'existait aucun moyen automatisé et efficace de maintenir les zones de politique de réponse sur les serveurs DNS primaires.
Habituellement, les indicateurs de compromission sont distribués en texte brut mais dans des formats différents, et seuls quelques fournisseurs d'IOC les rendent disponibles via RPZ.
ioc2rpz™ est un serveur DNS personnalisé qui convertit automatiquement les indicateurs (par exemple les FQDN malveillants, les IP) provenant de diverses sources en flux RPZ et les maintient/mette à jour automatiquement. Les flux peuvent être distribués à tout serveur DNS open source et/ou commercial prenant en charge RPZ, par exemple ISC Bind, PowerDNS. Vous pouvez exécuter votre propre serveur DNS avec filtrage RPZ sur un routeur, un ordinateur de bureau, un serveur et même un Raspberry Pi. La mémoire système est la seule limite.
Avec ioc2rpz™, vous pouvez définir vos propres flux, actions et empêcher les communications indésirables.
ioc2rpz™ transforme les flux d'IOC en zones de politique de réponse (RPZ). Vous pouvez mélanger des flux pour générer une seule RPZ ou plusieurs RPZ. Les domaines et IP de confiance peuvent être mis sur liste blanche. ioc2rpz™ prend en charge l'expiration des indicateurs et reconstruit les zones en conséquence.
La version actuelle prend en charge : les fichiers locaux, les fichiers/requêtes via http/https/ftp et les scripts shell pour accéder à d'autres types de ressources. Vous pouvez utiliser n'importe quel format de fichier si vous pouvez écrire une REGEX pour extraire les indicateurs et si les indicateurs sont séparés par un saut de ligne et/ou un retour chariot (/n, /r, /r/n).
ioc2rpz est construit sur Erlang/OTP avec un arbre de supervision qui garantit la tolérance aux pannes et la récupération automatique. Voir docs/architecture.md pour plus de détails.``` 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]
Modules clés :
| Module | Responsabilité |
|--------|---------------|
| `ioc2rpz.erl` | Worker DNS TCP/TLS — accepte, analyse, valide, répond |
| `ioc2rpz_udp.erl` | Écouteur DNS UDP — requêtes SOA |
| `ioc2rpz_conn.erl` | Récupération de sources IOC (HTTP/HTTPS/fichier/shell) |
| `ioc2rpz_db.erl` | Cache de zones et de paquets basé sur ETS |
| `ioc2rpz_sup.erl` | Superviseur principal, chargement de la configuration, ordonnancement des zones |
| `ioc2rpz_rest.erl` | API de gestion REST (Cowboy) |
| `ioc2rpz_doh.erl` | Gestionnaire DNS-over-HTTPS |
## Comment utiliser ioc2rpz™
Vous pouvez utiliser ioc2rpz™ avec tout serveur DNS prenant en charge les zones de politique de réponse, par ex. les versions récentes d'ISC BIND, PowerDNS et tout serveur DNS commercial basé sur ces produits (par ex. Infoblox, Blue Cat, Efficient IP). Un exemple de fichier de configuration de bind (named.conf) est fourni dans le dossier cfg.
<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>