Come installare Suricata su CentOS 7

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.

Loading