
Instal·lant Suricata
En aquest post veurem els passos que hem de seguir per deixar instal·lat Suricata en una Debian 10.6. Suricata és un motor de xarxa d'alt rendiment, com IDS (Intrusion Detection System), IPS (Intrusion Prevention System) i usat com a sistema de monitoratge de xarxa, i per suposat, Open Source!
Gràcies a Suricata podrem conèixer què passa a la nostra xarxa en temps real, podrem aprendre què està passant, quines màquines comuniquen amb quines… entre d' altres, podrem fer regles per notificar del trànsit que ens interessi, una passada. En un altre document veurem com exportar les dades recollides per Suricata a Elasticsearch, i així, amb Kibana o Grafana poder visualitzar aquest trànsit.
Instal·lem Suricata a Debian Buster executant:
echo "deb http://http.debian.net/debian buster-backports main" > /etc/apt/sources.list.d/backports.list apt-get update apt-get install suricata -t buster-backports apt-get install suricata-oinkmaster
En el fitxer de configuració de Suricata (/etc/suricata/suricata.yaml) almenys hem d'escriure correctament el nom de la interfície de xarxa que escoltarà el trànsit, podrem definir quins són els rangs IP locals i habilitarem si volem la sortida en vista simple d'una línia (com a Snort):
af-packet: - interfície: ens192 HOME_NET: "[192.168.1.0/24,192.168.0.0/24,192.168.33.0/24]" outputs: - fast: enabled: yes filename: fast.log append: sí
Prèviament hem instal·lat Oinkmaster, l' utilitzarem per gestionar i mantenir actualitzades les regles. En el seu fitxer de configuració (/etc/oinkmaster.conf) afegim la següent URL:
url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
Recarreguem i actualitzem les regles:
systemctl restart suricata systemctl status suricata suricata-oinkmaster-updater
Com comentàvem, podrem crear fitxers amb regles (/etc/suricata/rules/misreglas.rules), per exemple aquesta primera, que si detecta que hi ha trànsit ICMP (de qualsevol origen a qualsevol destinació) que ens generi un registre en el fitxer de log. Així que si detecta que algú fa un PING ens ho indicarà, hi afegim:
alert icmp any any -> any any (msg: "ICMP detectat";)
Recordar que hem d' indicar en el fitxer de configuració de Suricata (/etc/suricata/suricata.yaml) el nom del fitxer amb les regles que acabem de definir:
rule-files: ... - misreglas.rules
Reiniciem Suricata perquè llegeixi els últims canvis realitzats:
systemctl restart suricata systemctl status suricata
I podrem fer un PING a qualsevol IP des de qualsevol equip i hauria de quedar registrat en els outputs que hàgim indicat:
ping 8.8.8.8 tail -f /var/log/suricata/eve.json tail -f /var/log/suricata/fast.log
Per ara molt xulo per poder anar coneixent possibilitats, podrem anar registrant tot el que veu el nostre Suricata. Recorda que si l'has desplegat com a màquina virtual, has d' habilitar el mode promiscu, o si el teu switch pot, que li redirigi tot el trànsit al seu port. Us deixo uns exemples d'altres regles inicials per donar-li alguna cosa de joc:
alert tcp any any -> any any (content:"gmail"; msg: "detectem gmail"; sid:1000002;) alert icmp any any -> any any (msg: "ICMP detectat";) alert icmp $HOME_NET any -> $EXTERNAL_NET any (msg: "ICMP de sortida detectat"; sid:1; rev:1; classtype:icmp-custom-event;) alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg: "ICMP d' entrada detectat"; sid:2; rev:1; classtype:icmp-custom-event;) alert icmp $HOME_NET any -> $HOME_NET any (msg: "ICMP a la xarxa local detectat"; sid:3; rev:1; classtype:icmp-custom-event;) alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg: "Connexió d' Internet a LAN"; sid:5; rev:1;) alert tcp 192.168.1.254 any -> 192.168.1.XXX any (msg: "Connexió d' Internet a Jitsi"; sid:6; rev:1;) alert tcp 192.168.1.254 any -> 192.168.1.XXX any (msg: "Connexió d' Internet a Grafana"; sid:7; rev:1;) alert tcp 192.168.1.254 any -> 192.168.1.XXX any (msg: "Connexió d' Internet a NextCloud"; sid:8; rev:1;) alert tcp 192.168.1.254 any -> 192.168.1.XXX any (msg: "Connexió d' Internet a OTRS"; sid:9; rev:1;) alert tcp any any -> 192.168.1.XXX any (msg: "Connexió d' Internet a Citrix"; sid:10; rev:1;)
I el dit, aquest és un primer document on veiem com instal·lar i muntar Suricata, com deixar-ho plenament funcional que seguirem desenvolupant amb futurs documents, almenys amb la intenció d'emmagatzemar-lo com diem a Elasticsearch i visualitzar-lo amb Grafana o Kibana, al gust.