Introdução
O uso de Sistemas de Detecção e Prevenção de Intrusões (IDS/IPS) é fundamental para a segurança de uma rede. Esses sistemas monitoram o tráfego em tempo real, identificam atividades suspeitas e, no caso de um IPS, podem bloquear ameaças automaticamente. Neste guia, detalharemos a implementação e configuração de duas das principais soluções open-source: Suricata e Snort. Também abordaremos a integração desses sistemas com ferramentas de SIEM, como Splunk e ELK Stack (Elasticsearch, Logstash e Kibana), para uma análise mais eficiente dos eventos de segurança.

1. Requisitos para Implementação
Antes de iniciar a instalação, é necessário garantir os seguintes requisitos:
- Hardware:
- Processador: 4+ núcleos
- Memória RAM: 8GB ou mais
- Armazenamento: SSD de pelo menos 250GB
- Placa de rede com suporte a captura em modo promíscuo
- Software:
- Sistema Operacional: Linux (Ubuntu 20.04, Debian 11, CentOS 7)
- Pacotes:
tcpdump
,libpcap
,ethtool
,curl
,jq
- SIEM: Splunk ou ELK Stack (Elasticsearch, Logstash, Kibana) para análise de logs e alertas
2. Instalação do Suricata
2.1. Baixando e Instalando o Suricata
Para instalar o Suricata em sistemas baseados em Debian/Ubuntu:
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt update
sudo apt install suricata -y
Para RHEL/CentOS:
sudo yum install epel-release -y
sudo yum install suricata -y
2.2. Configuração Inicial
Edite o arquivo de configuração principal do Suricata:
sudo nano /etc/suricata/suricata.yaml
Ajuste as interfaces de rede para capturar tráfego:
vars:
address-groups:
HOME_NET: "[192.168.1.0/24]"
Ative o modo IPS para bloqueio de ameaças:
sudo suricata -c /etc/suricata/suricata.yaml -i eth0 --af-packet
3. Instalação do Snort
3.1. Baixando e Instalando o Snort
sudo apt install snort -y
Para CentOS/RHEL:
sudo yum install snort -y
3.2. Configuração Inicial do Snort
Edite o arquivo de configuração:
sudo nano /etc/snort/snort.conf
Defina a rede protegida:
ipvar HOME_NET 192.168.1.0/24
Execute o Snort no modo de detecção:
sudo snort -A console -i eth0 -c /etc/snort/snort.conf -l /var/log/snort/
4. Regras e Integração com SIEM
4.1. Atualizando Regras
Baixe e configure as regras mais recentes:
sudo wget -O /etc/suricata/rules/emerging.rules.tar.gz https://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
sudo tar -xvzf /etc/suricata/rules/emerging.rules.tar.gz -C /etc/suricata/rules/
Para Snort, utilize o PulledPork:
sudo apt install pulledpork -y
sudo pulledpork.pl -c /etc/snort/pulledpork.conf -P
4.2. Envio de Logs para SIEM
Integração com Splunk
Para integrar com o Splunk, configure o Forwarder:
sudo /opt/splunkforwarder/bin/splunk add monitor /var/log/suricata/
sudo /opt/splunkforwarder/bin/splunk restart
Integração com ELK (Elasticsearch, Logstash e Kibana)
Para visualizar os logs no Kibana, configure o Filebeat para enviar os logs do Suricata ou Snort para o Elasticsearch:
sudo nano /etc/filebeat/filebeat.yml
Adicione:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/suricata/*.log
output.elasticsearch:
hosts: ["http://localhost:9200"]
Reinicie o Filebeat:
sudo systemctl restart filebeat
Agora, acesse o Kibana em http://localhost:5601
, vá até Discover e visualize os logs coletados.
5. Teste e Monitoramento
Após a configuração, teste o funcionamento do IDS/IPS.
5.1. Simulando um Ataque
Utilize Nmap para simular um escaneamento:
sudo nmap -sS -p 22,80,443 192.168.1.100
No Suricata, verifique logs de alerta:
tail -f /var/log/suricata/fast.log
5.2. Criando Dashboards
No Splunk
Crie uma consulta para exibir ataques detectados:
index=ids_logs source="suricata" | stats count by signature, src_ip, dest_ip
No Kibana
- Acesse
http://localhost:5601
. - Vá até Dashboards e crie um novo painel.
- Adicione visualizações para monitorar alertas de segurança em tempo real.
Conclusão
A implementação de um IDS/IPS no SOC fortalece a segurança da rede, permitindo a detecção e resposta a ameaças em tempo real. A integração com SIEMs como Splunk e ELK Stack (Elasticsearch, Logstash e Kibana) melhora a visibilidade dos eventos e facilita a análise forense. Seguindo este guia, é possível configurar um ambiente robusto de monitoramento de ameaças e visualização de dados.