Introducció
Suricata és un motor de detecció d’amenaces que ofereiex capacitats com ara la detecció d’intrusions (IDS – Intrusion Detection System), la prevenció d’intrusions (IPS – Intrusion Prevention System) i la monitorització de seguretat de xarxa (NSM – Network Security Monitoring).
Entorn de treball
Crea un màquina virtual Ubuntu 22.04 a Isard VDI.
Baixa el projecte suricata de xtec:
Instal.la Ansible:
Mira quines inteficies té la màquina virtual:
A continuació instal.larem Suricata a la interficie enp1s0 amb el playbook suricata.yaml:
Per probar Suricata farem servir un fitxer amb regles local enlloc de les més de 30000 regles amb les que ve per defecte la instal.lació.
Carrega la configuració de regles locals:
Verifica que s’ha creat un fitxer local.rules amb dos regles d’exemple:
; ; ; ;
; ; ;Fes un ping a google.es:
Verifica que suricata a registra’t el ping
Pots veure que suricata captura el paquet d’anada i de tornada del ping a google.es (172.217.18.3) mijançant la regla 1000002.
També que encara que has fet dos pings Suricata només registra el primer.
Activitat. Verifica que si tornes a fer un altre ping a google.es no queda registrat a no ser que el ping es faci a una altra ip.
Activitat. Verifica que si fas un ping a google.com queda registrat
La màquina virtual té dues interfícies i només hem habilitat suricata a la interficie enp1s0.
Verifica que si fem un ping a facebook.com a través de la interficie enp2s0 no queda registrat (tampoc funciona)
El ping s’ha fet per la interfície enp1s0 que té la IP 192.168.123.122.
També pots fer un ping a través de la interfície enp2s0 (no funciona):
icmp_seq=1
icmp_seq=2
Signatures
Una signatura és semblant a una regla nftables de Netfilter.
Una signatura consta de tres parts: action, header y options.
Farem servir aquesta regla como exemple:
alert icmp any any -> any any (msg: "ICMP Packet found"; sid:1000002; rev:1;Action
Una regla comença indicant que fer quan la regla fa “match”: pass, alert, reject o drop.
En el nostre exemple la regla genera una alerta que queda registrada per un anàlisis posterior.
Si hem configurat suricata en mode IPS (ho hem fet), podem fer que suricata actui com un firewall bloquejant paquets.
Modifica la regla per tal de que suricata elimini els paquets icmp (`drop) i verifica que funciona:
Pots veure el log:
|
Modifica la regla icmp per tal que suricata deixi d’escanejar el paquet y aquest segueixi el seu fluxe normal amb pass.
Borra el log de suricata i verifica que el ping a google.es ja no es registra:
Modifica la regla per tal que faci un reject: elimina el paquet i torna un paquete TCP “reset”.
Verifica que funciona:
Important documentació, i revisant! de Google Docs - Suricata.
TODO
SID
El interval 1000000-1999999 està reservat per a regles personalitzades.
EL interval 2200000-2299999 està reservat per a regles integrades de Suricata.
Altres interval de SID estan documentats a la pàgina Emerging Threats SID Allocation .
JSON
Els logs de suricata es guarden a la carpeta /var/log/suricata.
| Azure
Crea una nova màquina a Azure:
> New-Azure suricata -size 2
> Connect-Azure suricataLa màquina Azure només té una interficie eth0.
A azure l’usuari box no necessita password per fer sudo:
Torna a connectar-te a la màquina virtual:
> Connect-Azure suricata