Suricata su Devuan 4 Chimaera —
Avendo in questo periodo aggiornato da Beowulf a Chimaera come distro sui bastion host anche il buon suricata deve essere aggiornato e in 2 anni sono cambiate (ancora) un po di cosette.
Fondamentalmente il concetto è lo stesso della versione precedente, si passa il traffico in entrata a suricata che lo analizza e decide se e come agire.
nel file ale.nft mettiamo catene e regole necessarie poi contrariamente alle precedenti versioni in suricata.yaml (il file principale di configurazione)
unix-command:
enable yes
filename: /var/run/suricata/suricata-command.socket e bisogna cambiare il proprietario da rooot:root a suri:suri alla directory /var/run/suricata.
Questo perché se no l’aggiornamento dei rules che fa cron con il file suricata-oink-master lascia un errore nei log, inoltre in suricata-oinkmaster.conf va cambiata l’URL di download in questo modo:
#url = https://rules.emergingthreats.net/open/suricata-4.0.0/emerging.rules.tar.gz
url = http://rules.emergingthreats.net/open/suricata-6.0.1/emerging.rules.tar.gz
Un altra cosa che cambia è la direttiva default-rule-path: che da:
#default-rule-path: /etc/suricata/rules
diventa:
default-rule-path: /var/lib/suricata/rules
rule-files:
– suricata.rules
Questo perché col comando suricata -T -c /etc/suricata/suricata.yaml -v che serve a verificare la correttezza della configurazione appare questo risultato:
9/11/2021 — 08:10:22 – <Info> – Running suricata under test mode
9/11/2021 — 08:10:22 – <Notice> – This is Suricata version 6.0.1 RELEASE running in SYSTEM mode
9/11/2021 — 08:10:22 – <Info> – CPUs/cores online: 6
9/11/2021 — 08:10:22 – <Info> – dropped the caps for main thread
9/11/2021 — 08:10:22 – <Info> – fast output device (regular) initialized: fast.log
9/11/2021 — 08:10:22 – <Info> – eve-log output device (regular) initialized: eve.json
9/11/2021 — 08:10:22 – <Info> – stats output device (regular) initialized: stats.log
9/11/2021 — 08:10:22 – <Warning> – [ERRCODE: SC_ERR_NO_RULES(42)] – No rule files match the pattern /etc/suricata/rules/suricata.rules
Una rapida ricerca in rete ha portato alla soluzione sopra eliminando il warn
Come in precedenza voglio fare è far girare suricata non come root, quindi aggiungo con useradd -r -s /usr/sbin/nologin suri (-r utente di sistema -s scelta shell che gentilmente dice non puoi entrare) e adduser suri suri che aggiunge l’utente suri al gruppo suri
aggiungo al file .yaml questa configurazione:
run-as:
user: suri
group: suri
giusto per essere sicuro del tutto aggiungo anche al file /etc/default/suricata la condizione:
RUN_AS_USER=suri
cambio permessi e proprietari alla directory /var/log/suricata
chown -R root:suri /var/log/suricata
chmod -R 775 /var/log/suricata
come in precedenza modifico il file /etc/logrotate.d/suricata aggiungendo la direttiva su all’inizio in questo modo:
/var/log/suricata/*.log
/var/log/suricata/*.json
{
su suri suri
rotate 14
missingok
compress
copytruncate
sharedscripts
postrotate
/bin/kill -HUP $(cat /var/run/suricata.pid)
endscript
}
Dopo di che copio in /etc/suricata il file /usr/lib/python3/dist-packages/suricata/update/configs/drop.conf e lo modifico in questo modo:
re:heartbleed
re:MS(0[7-9]|10)-\d+
re:classtype:trojan-activity
Reference:https://pub.nethence.com/security/suricata-inline
Addendum:
in caso di uso di kernel da distribuzione e non ricompilato è necessario inserire il modulo nfnetlink_queue con modprobe al volo e in /etc/modules per i riavvi successivi.
Qui i files drop.conf suricata.yaml e suricata-oinkmaster.conf in formato zip suricata-6.0.1
Categorised as: IPS | Linux | Networking | Work
Comments are disabled on this post