manuais-e-documentacao-itguys/documentacao rede e seguranca/[Nível 3] IdsIps Com Surica...

102 lines
4.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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?