Implementando um Sistema de Detecção de Intrusão (IDS) sem IA — PARTE 3 | 3
Colaboradores: e o
Aceder à Interface do pfSense e Configurar Alertas no Suricata
Nas partes anteriores [PARTE 2 | 3 e a PARTE 2 | 3], configurámos a instalação do pfSense e preparamos o sistema para detecção de intrusões com o Suricata. Agora, vamos aceder à interface web do pfSense e configurar os alertas no Suricata para monitorizar e bloquear tráfego suspeito.
1️⃣ Aceder à Interface Web do pfSense 🌐
Após definir os endereços IP da WAN e LAN, podemos aceder ao painel administrativo do pfSense para concluir a configuração.
📌 Passos para aceder:
1️⃣ Abrir um navegador web (Google Chrome, Firefox, Edge, etc.).
2️⃣ Digitar o endereço da LAN do pfSense:
https://192.168.168.1
3️⃣ Aceitar o aviso de certificado de segurança:
- Como o pfSense usa um certificado SSL auto-assinado, o navegador exibirá um aviso.
- Clicar em “Avançado” e selecionar “Prosseguir para 192.168.168.1 (não seguro)”.
4️⃣ Fazer login com as credenciais padrão: - Utilizador:
admin
- Password:
pfsense
Agora estamos dentro do painel administrativo do pfSense e podemos configurar o Suricata! 🚀
Monitorar e Validar o Sistema no Dashboard do pfSense
Agora que o pfSense está instalado e configurado, podemos validar o estado do sistema através do Dashboard, onde encontramos informações sobre as interfaces de rede, estado do hardware e serviços ativos.
1️⃣ Aceder ao Dashboard do pfSense
- No menu superior, clicar em Status > Dashboard.
- No painel da direita, clicar no ícone “+” para adicionar novos widgets de monitorização.
2️⃣ Adicionar Widgets de Monitorização
Podemos ativar widgets importantes para acompanhar o estado do sistema e da rede:
📌 Gateways 🌍
- Mostra a latência e perda de pacotes do gateway WAN.
- Útil para identificar problemas de conectividade com o ISP.
📌 Gráficos de Tráfego 📈
- Exibe o tráfego em tempo real na interface WAN e LAN.
- Ajuda a identificar picos de consumo de banda.
📌 Status do Serviço 🔧
- Lista todos os serviços ativos e inativos no pfSense.
- Útil para verificar se o Suricata, DHCP, DNS Resolver e outros serviços estão a funcionar corretamente.
3️⃣ Validação das Interfaces de Rede 🌐
Podemos verificar se as interfaces estão corretamente configuradas:
- WAN →
10.0.2.15/24
- LAN →
192.168.168.1/24
Se os IPs estiverem corretos, significa que a configuração de rede foi aplicada corretamente.
📌 Se houver problemas:
- Validar as interfaces em Interfaces > Assignments.
- Verificar o estado do DHCP e dos serviços no Status > Services.
Configuração Avançada do pfSense para Segurança de Rede 🔒
Agora que o pfSense está operacional, vamos otimizar a configuração da rede garantindo a segurança e funcionalidade adequadas.
1️⃣ Configuração do Servidor DHCP na LAN 📡
Para garantir que todos os dispositivos na LAN recebam um endereço IP automaticamente, ativamos o servidor DHCP.
📌 Passos para ativar o DHCP:
1️⃣ Aceder ao menu Services > DHCP Server.
2️⃣ Selecionar a aba LAN.
3️⃣ Marcar a opção Enable DHCP server on LAN interface.
Agora, qualquer dispositivo que se conectar à LAN receberá um IP automaticamente! ✅
2️⃣ Ativar Ping de Nomes de Host 🔎
Por padrão, não é possível pingar nomes de host dentro da LAN. Vamos corrigir isso ativando o registro de nomes no DNS Resolver.
📌 Passos para ativar o ping de nomes de host:
1️⃣ Aceder ao menu Services > DNS Resolver.
2️⃣ Marcar as opções:
- Register DHCP leases in the DNS Resolver ✅
- Register DHCP static mappings in the DNS Resolver ✅
Agora, podemos pingar dispositivos na rede usando o nome do host ao invés do IP! 🚀
3️⃣ Configurar Consultas DNS Seguras (DNS sobre TLS) 🔐
Por padrão, as consultas DNS não são criptografadas. Vamos garantir que todo o tráfego DNS entre o pfSense e os servidores DNS públicos seja feito com segurança (TLS na porta 853).
📌 Passos para ativar DNS sobre TLS:
1️⃣ Aceder ao menu Services > DNS Resolver.
2️⃣ Marcar as seguintes opções:
- Enable Forwarding Mode ✅
- Use SSL/TLS for outgoing DNS Queries to Forwarding Servers ✅
3️⃣ Clicar em Save.
Agora, todas as consultas DNS do pfSense para servidores externos são seguras e criptografadas! 🔒
4️⃣ Forçar Todos os Dispositivos a Passar pelo pfSense (Redirecionamento de DNS) 🌍
Se um cliente alterar manualmente o seu servidor DNS, pode contornar as regras definidas pelo pfSense. Para evitar isso, vamos forçar todas as consultas DNS a passarem pelo firewall.
📌 Passos para criar a regra de NAT:
1️⃣ Aceder ao menu Firewall > NAT > Port Forward.
2️⃣ Clicar em Add para criar uma nova regra.
3️⃣ Configurar os seguintes parâmetros:
- Interface:
LAN
- Protocolo:
TCP/UDP
- Destination:
- Ativar Invert Match ✅
- Tipo:
LAN address
- Destination Port Range:
- De
53 (DNS)
Para53 (DNS)
- Redirect Target IP:
127.0.0.1
- Redirect Target Port:
53 (DNS)
- Descrição:
Redirect custom DNS settings on devices, back through pfSense
- NAT Reflection:
Disable
4️⃣ Criar nova regra para DNS sobre TLS:
- Repetir os passos acima, mas alterar a porta 853 (DNS sobre TLS).
- Ativar ambas as regras!
Agora, qualquer tentativa de usar um DNS externo manualmente será automaticamente redirecionada para o pfSense! ✅
5️⃣ Verificar se Todos os Clientes Usam a Porta 853 (DNS sobre TLS) 🕵️
Para garantir que todos os dispositivos estão a utilizar DNS sobre TLS, podemos monitorizar o tráfego de rede.
📌 Como verificar:
1️⃣ Aceder ao menu Diagnostics > pfTop.
2️⃣ No campo de filtro, digitar:
port 853 or port 53
3️⃣ Ordenar os resultados por Destination Port.
Agora podemos ver quais dispositivos estão a comunicar com servidores DNS públicos e confirmar que o tráfego está a ser encaminhado corretamente pela porta 853! 🚀
O que é o Suricata? 🛡️
O Suricata é um poderoso Sistema de Deteção e Prevenção de Intrusões (IDS/IPS) de código aberto, desenvolvido pela Open Information Security Foundation (OISF). É uma ferramenta avançada de monitorização e análise de tráfego de rede que ajuda a identificar e bloquear atividades maliciosas.
Este sistema pode ser utilizado para deteção passiva (IDS) ou prevenção ativa (IPS), garantindo a segurança da rede contra ameaças como ataques cibernéticos, malware, tentativas de exploração de vulnerabilidades e tráfego suspeito.
Para que serve o Suricata? 🎯
O Suricata é utilizado para proteger redes empresariais e domésticas contra ataques maliciosos. As suas principais funções incluem:
✅ Monitorizar tráfego de rede em tempo real 🔍
✅ Detetar e bloquear ataques cibernéticos 🚨
✅ Analisar pacotes de dados detalhadamente (DPI — Deep Packet Inspection) 🕵️
✅ Proteger contra botnets, exploits, malware e ransomware 💀
✅ Gerar alertas de segurança para administradores de rede 🔔
✅ Registrar logs detalhados para auditoria e resposta a incidentes 📜
O Suricata pode ser integrado com firewalls como o pfSense, sistemas de SIEM (Security Information and Event Management) e ferramentas de análise de ameaças para criar um ambiente de segurança robusto.
Principais Vantagens do Suricata 🚀
1️⃣ Inspeção Profunda de Pacotes (DPI) 🕵️
- Permite analisar cada pacote de rede para identificar tráfego suspeito.
- Suporta análise de protocolos como HTTP, DNS, TLS, SMB, FTP e ICMP.
2️⃣ Alto Desempenho ⚡
- Suporte para multi-threading, permitindo monitorização em redes de grande escala.
- Otimizado para processadores modernos e placas de rede de alto desempenho.
3️⃣ Suporte a Regras Personalizáveis 🛠️
- Compatível com regras do Snort e Emerging Threats (ET).
- Permite criação de regras personalizadas para deteção de ataques específicos.
4️⃣ Modo IDS e IPS 🔄
- Modo IDS (Intrusion Detection System): Apenas monitoriza e gera alertas.
- Modo IPS (Intrusion Prevention System): Bloqueia automaticamente tráfego malicioso.
5️⃣ Integração com SIEMs e Firewall 🔗
- Funciona com pfSense, ELK Stack, Splunk e outras soluções de análise de logs.
- Permite envio de alertas para sistemas de resposta a incidentes.
Objetivos do Suricata na Segurança de Redes 🎯
🔒 Prevenir e mitigar ataques cibernéticos
🔍 Monitorizar tráfego de rede em tempo real
📊 Fornecer dados detalhados sobre ameaças
🚨 Gerar alertas para administradores de rede
✅ Melhorar a resiliência da rede contra ataques DDoS e malware
Configuração do Suricata no pfSense 🛡️
O Suricata é uma ferramenta essencial para qualquer organização que queira fortalecer a segurança da sua infraestrutura de rede. Antes de começar a configuração, devemos garantir que o ambiente está preparado corretamente.
1️⃣ Fazer Backup do pfSense 💾
Antes de instalar ou configurar o Suricata, é essencial criar um backup para evitar perda de configurações caso algo corra mal.
📌 Como criar um backup no pfSense?
1️⃣ Aceder a Diagnostics > Backup & Restore.
2️⃣ Clicar em Download Configuration para guardar um ficheiro de backup.
3️⃣ Guardar o ficheiro num local seguro.
Se algo correr mal, podemos restaurar a configuração facilmente! ✅
2️⃣ Atualizar o pfSense para a Última Versão 🔄
Manter o pfSense atualizado garante melhor compatibilidade e segurança.
📌 Como atualizar o pfSense?
1️⃣ Aceder a System > Update.
2️⃣ O sistema verificará automaticamente se há atualizações.
3️⃣ Se houver uma nova versão, clicar em Update e aguardar a conclusão.
Agora, o sistema está pronto para instalar o Suricata! 🚀
3️⃣ Instalar o Suricata no pfSense 🛠️
Agora vamos instalar o pacote Suricata no pfSense.
📌 Como instalar o Suricata?
1️⃣ Aceder a System > Package Manager > Available Packages.
2️⃣ Na barra de pesquisa, escrever Suricata.
3️⃣ Clicar em Install e depois em Confirm.
Após a instalação, o Suricata estará disponível no menu “Services”. ✅
📌 Para verificar se a instalação foi bem-sucedida:
- Aceder a Services > Suricata.
- Se a opção Suricata estiver visível, a instalação foi concluída com sucesso! 🎯
Ativar Regras de Download 📥
O Suricata utiliza regras pré-configuradas para identificar e bloquear tráfego malicioso. As duas principais fontes de regras são:
- Snort VRT Rules (regras do Snort)
- Emerging Threats (ET) Open Rules (regras abertas para deteção de ameaças)
📌 Como ativar as regras de download?
1️⃣ Aceder a Services > Suricata > Global Settings.
2️⃣ Em “Please Choose The Type Of Rules You Wish To Download”, selecionar:
- ETOpen Emerging Threats Rules ✅ (regras de ameaças abertas).
- Snort VRT Rules ✅ (regras do Snort para deteção avançada).
3️⃣ Clicar em Save para guardar as alterações.
Agora, o Suricata está configurado para usar estas regras na análise do tráfego de rede! ✅
2️⃣ Atualizar as Regras Manualmente 🔄
Após ativar as fontes de regras, devemos fazer o primeiro download manual.
📌 Como atualizar as regras do Suricata?
1️⃣ Aceder a Services > Suricata > Updates.
2️⃣ Clicar em Update para baixar as últimas versões das regras.
3️⃣ Aguardar a conclusão do processo.
Agora, o Suricata está atualizado com as regras mais recentes! 🚀
3️⃣ Configuração de Categorias de Regras 🎯
Podemos escolher quais categorias de regras queremos ativar para cada interface de rede.
📌 Como ativar categorias de regras na WAN?
1️⃣ Aceder a Services > Suricata > Interfaces.
2️⃣ Selecionar a interface WAN.
3️⃣ Navegar até WAN Categories.
4️⃣ Selecionar as categorias de regras a ativar, incluindo:
- emerging-attack_response.rules ✅
- snort_app-detect.rules ✅
- snort_blacklist.rules ✅
5️⃣ Clicar em Save e aplicar as alterações.
Agora, o Suricata está a monitorizar e proteger a interface WAN contra ataques! 🚨
4️⃣ Ativar e Configurar Logging 📊
A ativação dos logs permite analisar eventos suspeitos e responder a incidentes.
📌 Como ativar logs no Suricata?
1️⃣ Aceder a Services > Suricata > Interfaces.
2️⃣ Selecionar a interface WAN e ir para Logging Settings.
3️⃣ Ativar as seguintes opções:
- Enable HTTP Log ✅
- Append HTTP Log ✅
- Enable DNS Log ✅
- Enable EVE JSON Log ✅ (para envio de logs ao Syslog).
4️⃣ No campo EVE Output Type, escolher SYSLOG.
5️⃣ Clicar em Save para aplicar as configurações.
Agora, todos os eventos de segurança são registados para futura análise! 🔍
5️⃣ Criar uma Lista de Supressão 🚦
Para evitar falsos positivos e melhorar a precisão da deteção de ameaças, podemos suprimir alertas irrelevantes.
📌 Como criar uma lista de supressão?
1️⃣ Aceder a Services > Suricata > Suppress.
2️⃣ Criar uma nova lista chamada WAN_List.
3️⃣ Adicionar regras específicas para ignorar alertas falsos.
4️⃣ Clicar em Save.
Agora, o Suricata ignorará alertas desnecessários, reduzindo notificações irrelevantes. ✅
6️⃣ Ativar Monitorização Automática (Watchdog) ⚙️
Se o Suricata falhar ou parar, podemos configurar o Service Watchdog para reiniciá-lo automaticamente.
📌 Como ativar o Watchdog para o Suricata?
1️⃣ Aceder a System > Package Manager > Available Packages.
2️⃣ Procurar por Service Watchdog e instalar.
3️⃣ Aceder a Services > Service Watchdog.
4️⃣ Clicar em Add New Service e selecionar Suricata.
5️⃣ Clicar em Save para ativar a monitorização automática.
Agora, o Suricata será reiniciado automaticamente caso falhe, garantindo proteção contínua da rede! 🔄
Configuração de IDS e IPS com Suricata no pfSense 🛡️
1️⃣ Configuração das Interfaces Ethernet e WAN no Modo IDS (Legacy Mode)
O modo IDS (Legacy Mode) permite que o Suricata monitorize o tráfego de rede e gere alertas de segurança sem interferir no fluxo dos pacotes.
📌 Como ativar o modo IDS no Suricata?
1️⃣ Aceder a Services > Suricata > Interfaces.
2️⃣ Adicionar as interfaces WAN e LAN para monitorização.
3️⃣ Selecionar a interface WAN e navegar até Interface Settings.
4️⃣ Em Blocking Mode, escolher Legacy Mode.
5️⃣ Clicar em Save para guardar as alterações.
Agora, o Suricata irá gerar alertas quando tráfego suspeito for detetado na rede. 🚨
📌 Para visualizar os alertas:
- Aceder a Services > Suricata > Alerts.
- Escolher a interface WAN ou LAN.
- Consultar os eventos detetados em tempo real.
2️⃣ Configuração das Interfaces no Modo IPS (Inline Mode)
O modo IPS (Inline Mode) permite que o Suricata intercepte e bloqueie pacotes maliciosos antes que eles cheguem ao destino.
📌 Como ativar o modo IPS no Suricata?
1️⃣ Aceder a Services > Suricata > Interfaces.
2️⃣ Editar a configuração da interface WAN.
3️⃣ Em Blocking Mode, selecionar Inline IPS Mode.
4️⃣ Clicar em Save e aplicar as alterações.
Agora, o Suricata estará a bloquear ataques automaticamente! 🔐
📌 Para verificar se o IPS está ativo:
- Aceder a Services > Suricata > Blocks.
- Verificar os IPs bloqueados devido a atividades suspeitas.
3️⃣ Criar e Configurar Regras no Suricata ⚙️
Podemos configurar regras personalizadas para monitorizar e bloquear tráfego específico.
📌 Como criar uma nova regra no Suricata?
1️⃣ Aceder a Services > Suricata > Interfaces.
2️⃣ Selecionar a interface LAN ou WAN.
3️⃣ Ir para LAN Rules e selecionar Custom Rules.
4️⃣ Criar uma nova regra no seguinte formato:
drop tcp any any -> any any (msg:"Sites blocked"; content:"exemplosite.com"; https_header; nocase; classtype:policy-violation; sid:10000000;)
5️⃣ Clicar em Save e aplicar as alterações.
Agora, todo o tráfego relacionado com Site será bloqueado. ✅
📌 Para verificar se a regra está ativa:
- Aceder a Services > Suricata > Alerts.
- Verificar se há alertas com a mensagem “Sites blocked”.
4️⃣ Monitorizar e Gerir Alertas no Suricata 🕵️
Podemos monitorizar os alertas gerados pelo Suricata para analisar atividades suspeitas na rede.
📌 Como visualizar alertas?
1️⃣ Aceder a Services > Suricata > Alerts.
2️⃣ Escolher a interface WAN ou LAN.
3️⃣ Verificar os eventos de segurança registados.
📌 Para melhorar a gestão dos alertas:
- Criar listas de supressão para ignorar falsos positivos.
- Ativar logs detalhados para análise futura.
5️⃣ Configuração de Bloqueio Automático de IPs 🚧
Podemos configurar o Suricata para bloquear automaticamente IPs que gerem alertas repetidamente.
📌 Como ativar o bloqueio de IPs no Suricata?
1️⃣ Aceder a Services > Suricata > Interfaces.
2️⃣ Escolher a interface WAN e ir para Alert and Block Settings.
3️⃣ Ativar a opção Block Offenders.
4️⃣ Escolher Which IP to Block = SRC (para bloquear o IP de origem).
5️⃣ Clicar em Save e aplicar as alterações.
Agora, IPs que gerem múltiplos alertas serão bloqueados automaticamente! 🚀
📌 Para consultar os IPs bloqueados:
- Aceder a Services > Suricata > Blocks.
- Verificar a lista de IPs ativos na blacklist.
6️⃣ Testar a Configuração do Suricata 🛠️
Podemos testar o funcionamento do Suricata com um scan de portas para verificar se os alertas são gerados corretamente.
📌 Como testar a configuração do Suricata?
1️⃣ Executar o seguinte comando a partir de outro dispositivo na rede:
nmap -Pn -p- 192.168.168.1
2️⃣ Aceder a Services > Suricata > Alerts.
3️⃣ Verificar se o port scan foi detetado nos alertas.
Se o alerta aparecer, significa que o Suricata está a monitorizar corretamente a rede! 🔥
📚 Referências e Links Relacionados:
🔗 Parte 1: PARTE 1
🔗 Parte 2: PARTE 2
🔗 Parte 3: PARTE 3
🔗 Referências Técnicas: