# MANUAL TÉCNICO - IDS/IPS COM SURICATA **Código:** ITGENG 0023/26 | **Classificação:** RESTRITO **Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}} ## 1. HISTÓRICO DE REVISÃO | Data | Versão | Descrição | Autor | | :--- | :--- | :--- | :--- | | {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves | ## 2. OBJETIVO Implementar Sistema de Detecção e Prevenção de Intrusão (IDS/IPS) usando Suricata no pfSense para monitorar, detectar e bloquear tráfego malicioso (exploits, malware C2, scanners) em tempo real, utilizando análise de assinaturas e comportamento. ## 3. PRÉ-REQUISITOS - [ ] pfSense com hardware adequado (Mínimo 4GB RAM recomendado, CPU multi-core). - [ ] **Snort VRT Oinkmaster code** (Grátis, cadastro no snort.org) ou **Emerging Threats Open** (Não requer cadastro). - [ ] Conhecimento das redes internas para evitar bloqueio falso positivo. ## 4. PASSO A PASSO (EXECUÇÃO) ### Etapa 1: Instalação do Pacote 1. Acesse `System > Package Manager > Available Packages`. 2. Pesquise por **suricata**. 3. Clique em **Install** e confirme. ### Etapa 2: Configuração Global e Updates 1. Acesse `Services > Suricata > Global Settings`. 2. **Install ETOpen Emerging Threats rules:** Marque (Fontes abertas e excelentes). 3. **Install Snort VRT rules:** (Opcional) Requer Oinkmaster code. 4. **Update Interval:** `12-Hours`. 5. **Remove Blocked Hosts Interval:** `1 Hour` (Importante para não bloquear IPs legítimos para sempre em caso de falso positivo). 6. Clique em **Save**. 7. Vá na aba **Updates** e clique em **Update** para baixar as regras iniciais. ### Etapa 3: Criar Interface de Monitoramento 1. Acesse `Services > Suricata > Interfaces`. 2. Clique em **Add**. 3. **Interface:** Selecione a interface física (ex: `WAN`). > ℹ️ **Nota:** Monitorar a WAN vê todos os ataques (muito ruído). Monitorar a LAN vê apenas o que passou pelo Firewall ou ameaças internas (menos ruído, mais foco em clientes infectados). Recomendação: Comece pela WAN em modo IDS (apenas alerta). 4. **Enable:** Marque para ativar. 5. **Block Offenders:** Marque se quiser que o Suricata bloqueie o IP (IPS Mode). * *Sugestão:* Deixe desmarcado na primeira semana para aprender o tráfego (IDS Mode). * **Kill States:** Marque para derrubar conexões ativas imediatamente. ### Etapa 4: Seleção de Categorias de Regras 1. Dentro da edição da Interface, vá na aba **Categories**. 2. Clique em **Select All** (Cuidado com RAM/CPU) ou escolha categorias críticas: * `emerging-exploit` (Exploits conhecidos) * `emerging-malware` (Malware C2 activity) * `emerging-mobile_malware` * `emerging-scan` (Portscanners) * `emerging-trojan` 3. Evite categorias como `emerging-info` ou `emerging-chat` em ambientes corporativos se não quiser monitorar uso aceitável, pois geram muito log. 4. Salve. ![Categorias Suricata](assets/placeholder.png) ### Etapa 5: Ajuste de SID (Signature ID) e Supressão Se um alerta legítimo bloquear seu tráfego (falso positivo): 1. Acesse `Services > Suricata > Alerts`. 2. Identifique o alerta (ex: `ET POLICY Python-urllib/2.7`). 3. Para **suprimir** (nunca mais alertar para esse IP/Regra): Clique no ícone de `+` em "Suppress this GID:SID". 4. Para **desativar** a regra globalmente: Clique no ícone de `X` (Disable this SID). 5. A regra irá para a lista de **SID Mgmt** e não incomodará mais. ## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING) **Problema 1: Internet caiu após ativar IPS** * **Causa:** Falso positivo bloqueando DNS (8.8.8.8) ou Gateway. * **Solução:** 1. Desative o "Block Offenders" na interface temporariamente. 2. Verifique a aba **Blocked** e remova o IP crítico. 3. Adicione os DNS e Gateways numa **Pass List** em `Services > Suricata > Pass Lists` e vincule à interface. **Problema 2: Alta carga de CPU/RAM** * **Causa:** Muitas categorias ativadas ou inspeção profunda em hardware fraco. * **Solução:** Desative categorias menos críticas (`deleted`, `info`, `games`). Mude o "Run Mode" em Interface Settings para `suro` (High Performance) se disponível. **Problema 3: Suricata não inicia** * **Causa:** Erro no download de regras ou falta de RAM. * **Solução:** Verifique `Status > System Logs > Suricata`. Tente rodar o update manual das regras novamente. ## 6. DADOS TÉCNICOS | Campo | Valor | Descrição | | :--- | :--- | :--- | | **Modo** | IDS (Alerta) / IPS (Bloqueio) | Inline vs Legacy | | **Engine** | Suricata | Multi-threaded | | **Log** | `/var/log/suricata` | Logs de alerta | ## 7. VALIDAÇÃO FINAL (Definição de Pronto) - [ ] O serviço está rodando na interface WAN? - [ ] A aba Alerts mostra tentativas de conexão (ex: Portscan)? - [ ] O tráfego legítimo não está impactado?