domingo, 28 de março de 2021

Como Configurar o Suricata em Redes VoIP


Com a grande demanda por serviços online e trabalho remoto provocado pela pandemia de COVID-19, a segurança de rede é um fator que precisa de atenção especial, e as redes VoIP precisam de mais atenção neste momento. Hoje preparei um vídeo de configuração do Suricata, um sistema de detecção de intrusão em redes, configurei exemplo de alerta de acesso indevido ao servidor Asterisk.

Como Configurar o Suricata em Redes VoIP

Comandos de instalação e configuração do IDS Suricata

Comando de instalação do pacote Suricata
yum install suricata

Comando para download das regras
wget https://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz

Comando para descompactar o arquivo de regras
tar -zxvf emerging.rules.tar.gz

Comando para acessar o diretorio rules e mover as rules para o diretorio /etc/suricata/rules
cd rules
mv * /etc/suricata/rules

Comando para acessar e verificar as rules no diretorio correto
cd /etc/suricata/rules
ls

Comando para edição do arquivo de configuração do suricata
cd ..
nano suricata.yaml

Remover o comentário # da linha HOME_NET

Conferir o default-rule-path, deve ser:
default-rule-path: /etc/suricata/rules

No final do arquivo inserir a regra customizada no campo rule-files:
- alerta-regra.rules

Acessar novamente o diretório de regras e criar a regra customizada
cd rules
nano alerta-pabx.rules

Inserir regras customizadas
alert icmp any any -> $HOME_NET any (msg:"Alerta Ataque ICMP"; sid:1000002; rev:1;)
alert tcp any any -> $HOME_NET 22 (msg:"Alerta Tentativa de Acesso SSH Porta 22"; sid:1000003; rev:1;)

Exemplos de alerta SIP
Existem dois tipos comuns de ataques DoS para redes VoIP:
INVITE e inundação de REGISTRO.
Um excesso de mensagens INVITE pode ser uma indicação de que alguém está tentando fazer muitas chamadas e a regra abaixo será acionada se 100 mensagens INVITE forem enviadas em um curto período de tempo, 60 segundos.
alert sip any any -> $ SIP_IP $ SIP_PORTS (msg: "INVITE flooding"; sip.method; content: "INVITE"; threshold: type both, track by_src, count 100, seconds 60; rev: 1; sid: 1; )

Em vez disso, um alto número de inundações de REGISTRO pode ser uma indicação de ataque de força bruta.
Da mesma forma, a regra acima pode ser usada, mas com uma ligeira mudança no método:
alert sip any any -> $ SIP_IP $ SIP_PORTS (msg: "REGISTER flooding"; sip.method; conteúdo: "REGISTER"; limite: digitar ambos, rastrear por_src, contar 100, segundos 60; rev: 1; sid: 1; )

Existe outra maneira de detectar a inundação de REGISTRO, podemos inspecionar a resposta SIP e procurar o código de status 
alert ip any 5060 -> any any (msg:"GPL VOIP SIP 401 Unauthorized Flood"; content:"SIP/2.0 401 Unauthorized"; depth:24; threshold: type both, track by_dst, count 5, seconds 60; classtype:attempted-dos; sid:1000004; rev:1; metadata:created_at 2010_09_23, updated_at 2010_09_23;)

Iniciar o serviço Suricata apontando a interface de rede correto
suricata -i eth0 --init-errors-fatal

Acessar o diretorio de log do suricata e monitorar o arquivo fast.log
cd /var/log/suricata
tail -F fast.log

Nenhum comentário :

Postar um comentário

Deixe seu comentário ou sugestões de postagem.