
ioc2rpz é o lugar onde a inteligência de ameaças encontra o DNS.
ioc2rpz™: A Solução de Segurança DNS - o ioc2rpz™ é um poderoso servidor DNS que transforma indicadores de ameaças em feeds acionáveis de Response Policy Zone (RPZ). Ele automatiza o processo de atualização, garantindo que sua rede esteja protegida contra as ameaças mais recentes, incluindo domínios maliciosos e endereços IP. Ao converter feeds de IOC em RPZs, o ioc2rpz™ atua como um elo crucial entre inteligência de ameaças e segurança de DNS, compatível com servidores DNS que suportam RPZ, como ISC Bind ou PowerDNS.
O DNS é o plano de controle da Internet. Normalmente, o DNS é usado para o bem, mas:

O ISC Bind é, de fato, um padrão de servidor de nomes. Com a introdução das Response Policy Zones no ISC BIND 9.8, monitorar e conter malware na camada de DNS tornou-se uma tarefa simples. O RPZ é suportado no PowerDNS recursor 4.0.0 e em versões posteriores. O Knot DNS também suporta RPZ parcialmente.
Em comparação com as soluções tradicionais de proteção de rede, um servidor DNS pode lidar com milhões de indicadores sem impacto no desempenho, mas não havia uma maneira automatizada e eficiente de manter as zonas de política de resposta nos servidores DNS primários.
Normalmente, os indicadores de comprometimento são distribuídos em texto simples, mas em formatos diferentes, e apenas alguns provedores de IOCs os disponibilizam via RPZ.
O ioc2rpz™ é um servidor DNS personalizado que converte automaticamente indicadores (por exemplo, FQDNs maliciosos, IPs) de diversas fontes em feeds RPZ e os mantém/atualiza automaticamente. Os feeds podem ser distribuídos para qualquer servidor DNS de código aberto e/ou comercial que suporte RPZ, por exemplo, ISC Bind, PowerDNS. Você pode executar seu próprio servidor DNS com filtragem RPZ em um roteador, desktop, servidor e até mesmo em um Raspberry Pi. A memória do sistema é a única limitação.
Com o ioc2rpz™, você pode definir seus próprios feeds, ações e evitar comunicações indesejadas.
O ioc2rpz™ transforma feeds de IOC em zonas de política de resposta (RPZ). Você pode combinar feeds para gerar uma única RPZ ou várias RPZs. Domínios e IPs confiáveis podem ser colocados na lista de permissões. O ioc2rpz™ suporta a expiração de indicadores e reconstrói as zonas de acordo.
A versão atual suporta: arquivos locais, arquivos/solicitações via http/https/ftp e scripts de shell para acessar outros tipos de recursos. Você pode usar qualquer formato de arquivo se puder escrever uma REGEX para extrair indicadores e se os indicadores estiverem separados por quebra de linha ou/e retorno de carro (/n, /r, /r/n).
O ioc2rpz é construído sobre Erlang/OTP com uma árvore de supervisão que garante tolerância a falhas e recuperação automática. Consulte docs/architecture.md para obter detalhes completos.``` 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]
Key modules:
| Module | Responsabilidade |
|--------|---------------|
| `ioc2rpz.erl` | Worker DNS TCP/TLS — aceitar, analisar, validar, responder |
| `ioc2rpz_udp.erl` | Listener DNS UDP — consultas SOA |
| `ioc2rpz_conn.erl` | Obtenção de fontes IOC (HTTP/HTTPS/arquivo/shell) |
| `ioc2rpz_db.erl` | Cache de zonas e pacotes baseado em ETS |
| `ioc2rpz_sup.erl` | Supervisor principal, carregamento de configuração, agendamento de zonas |
| `ioc2rpz_rest.erl` | API de gerenciamento REST (Cowboy) |
| `ioc2rpz_doh.erl` | Manipulador DNS-over-HTTPS |
## Como usar o ioc2rpz™
Você pode usar o ioc2rpz™ com qualquer servidor DNS que suporte Response Policy Zones, por exemplo, versões recentes do ISC BIND, PowerDNS e qualquer servidor DNS comercial baseado nesses produtos (por exemplo, Infoblox, Blue Cat, Efficient IP). Um arquivo de configuração de exemplo do BIND (named.conf) é fornecido na pasta 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>
## Interface web do ioc2rpz™
[ioc2rpz.gui](https://github.com/Homas/ioc2rpz.gui) é uma interface web de gerenciamento desenvolvida como um projeto separado. Ela não é necessária para executar o ioc2rpz™.
## Suporte a Protocolos