Suricata è un motore di rilevamento delle minacce di rete open source, maturo, veloce e robusto.
Il motore Suricata è in grado di rilevare intrusioni in tempo reale (IDS), inline intrusion prevention (IPS),
monitoraggio della sicurezza della rete (NSM) e elaborazione pcap offline.
Questa guida di installazione è stata testata con Suricata 4.04 su CentOS 7.
Prerequisiti
I passaggi di questo tutorial richiedono che l’utente abbia i privilegi di root.
Aggiungere Suricata Repository
Per RedHat Enterprise Linux 7 e CentOS 7 è neccessario usare le EPEL repository.
yum install epel-release
Installare Suricata
yum install suricata
confermare con il tasto “y” seguito da invio.
Installare anche Python, Python-pip, Wget e Net-tools
yum -y install python python-pip wget net-tools
installare “Suricata Update”, necessario per aggiornare le regole (rules):
pip install --pre --upgrade suricata-update
aggiornate anche “pip” se richiesto:
pip install --upgrade pip
installare anche le PyYAML:
pip install pyyaml
oppure per installare “Suricata Update” nella propria directory:
pip install --user --pre --upgrade suricata-update
NOTE
Quando installi nella tua directory home, il programma di aggiornamento suricata verrà installato su $HOME/.local/bin, quindi assicurati che questa directory si trovi nel tuo percorso:
export PATH=$HOME/.local/bin:$PATH
Directory e permessi
Affinché l’aggiornamento di suricata funzioni, sono richieste le seguenti autorizzazioni:
- Directory /etc/suricata: read access (accesso in sola lettura)
- Directory /var/lib/suricata/rules: read/write access (accesso in lettura e scrittura)
- Directory /var/lib/suricata/update: read/write access (accesso in lettura e scrittura)
Aggiorna le tue regole
Per scaricare il set di regole, è sufficiente eseguire semplicemente:
suricata-update
terminato:
Questo scaricherà il set di regole in “/var/lib/suricata/rules/”
Utilizzando altri set di regole
Suricata-Update è in grado di rendere accessibili anche altri set di regole.
Per vedere cosa è disponibile, recupera l’indice principale dagli host OISF:
suricata-update update-sources
Quindi diamo un’occhiata a ciò che è disponibile con:
suricata-update list-sources
Ciascuno dei set di regole ha un nome che ha un prefisso “vendor”, seguito da un nome di set.
Ad esempio, il set di regole del traffico ID di OISF è chiamato “oisf/trafficid”.
Per abilitare “oisf/trafficid”, inserire:
suricata-update enable-source oisf/trafficid suricata-update
Ora avviamo Suricata con il comando con l’opzione “–init-errors-fatal”, all’inizio, per vedere se ci sono problemi:
suricata -c /etc/suricata/suricata.yaml -i enp0s8 --init-errors-fatal
dove “-i enp0s8” è la mia interfaccia di rete.
in questo caso c’è un problema che dice:
- [ERRCODE: SC_ERR_NO_RULES(42)] - No rule files match the pattern /etc/suricata/rules/botcc.rules
riguarda la presenza del file “botcc.rules”.
Spostiamoci all’interno della directory “rules” con:
cd /etc/suricata/rules
Poi andiamo sul sito “https://rules.emergingthreats.net/open/suricata/rules/”
e selezioniamo il link del file mancante come nella figura:
poi andiamo sul nostro terminale, ed eseguiamo:
wget https://rules.emergingthreats.net/open/suricata/rules/botcc.rules
cosi per eventuali altri regole (rules) mancanti che nel mio caso ho dovuto scaricare anche:
ciarmy.rules compromised.rules drop.rules dshield.rules emerging-attack_response.rules emerging-chat.rules emerging-current_events.rules emerging-dns.rules emerging-dos.rules emerging-exploit.rules emerging-ftp.rules emerging-imap.rules emerging-malware.rules emerging-misc.rules emerging-mobile_malware.rules emerging-netbios.rules emerging-p2p.rules emerging-policy.rules emerging-pop3.rules emerging-rpc.rules emerging-scan.rules emerging-smtp.rules emerging-snmp.rules emerging-sql.rules emerging-telnet.rules emerging-tftp.rules emerging-trojan.rules emerging-user_agents.rules emerging-voip.rules emerging-web_client.rules emerging-web_server.rules emerging-worm.rules tor.rules
eseguiamo anche:
chown suricata.root * chmod 600 *
Terminato e verificato che non vi siano altri problemi, dovremmo avere:
[root@localhost rules]# suricata -c /etc/suricata/suricata.yaml -i enp0s8 --init-errors-fatal 6/4/2018 -- 21:23:23 - - This is Suricata version 4.0.4 RELEASE 6/4/2018 -- 21:23:27 - - all 1 packet processing threads, 4 management threads initialized, engine started.
per chiudere ctrl+c
6/4/2018 -- 21:23:50 - - Signal Received. Stopping engine. 6/4/2018 -- 21:23:50 - - Stats for 'enp0s8': pkts: 0, drop: 0 (-nan%), invalid chksum: 0
a questo punto possiamo avviare Suricata con “suricata -D -c /etc/suricata/suricata.yaml -i enp0s8” – che con “-D” sta ad indicare di avviare suricata come daemond.
[root@localhost ~]# suricata -D -c /etc/suricata/suricata.yaml -i enp0s8 6/4/2018 -- 21:38:40 - - This is Suricata version 4.0.4 RELEASE [root@localhost ~]#
Verifichiamo i log con tail:
tail -f /var/log/suricata/fast.log
Output visualizzato dopo aver eseguito un comando da un secondo terminale, sempre dove abbiamo installato Suricata, ed eseguendo “yum install -y nmap” :
Coming soon su:
Ora vediamo come installare Elasticsearch, Logstash, e Kibana su CentOS 7.
Requisiti di pre-installazione manuale:
yum install epel-release
Prima di poter installare Suricata, eseguire il seguente comando per assicurarsi che tutte le dipendenze siano installate:
sudo yum -y install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel \ jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel
Suricata (Stable) version is 4.0.4 released February 14, 2018.
Per scaricare e compilare Suricata, inserisci quanto segue:
wget https://www.openinfosecfoundation.org/download/suricata-4.0.4.tar.gz tar -xvzf suricata-4.0.4.tar.gz cd suricata-4.0.4 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua
poi
make sudo make install sudo ldconfig
Configurazione automatica
Puoi anche utilizzare le funzioni di configurazione automatica disponibili di Suricata:
Es.
make install-conf
make install-conf farà il normale “make install” e poi creerà / installerà automaticamente tutte le directory necessarie e suricata.yaml per te.
make install-rules
make install-rules – farà il normale “make install” e poi scaricherà e installerà automaticamente l’ultimo set di regole di Minacce emergenti disponibili per Suricata
make install-full
make install-full – combinerà tutto quanto sopra menzionato (install-conf e install-rules) e ti presenterà una Suricata pronta per l’uso (configurata e settata)
fonte: Suricata.