pfSense è un noto firewall open source basato su FreeBSD.
È possible utilizzare i repositories di FreeBSD per installare il Wazuh agent per monitorare i log di sistema ed intraprendere delle azioni in caso di alerts (active response).
In questa guida verrà mostrato come installare e configurare il Wazuh agent su pfSense.
PREREQUISITI
Un cluster Wazuh (anche a nodo singolo) ed un firewall pfSense.
ABILITAZIONE DELLE REPOSITORIES
Per abilitare le repositories di FreeBSD sarà sufficiente modificare due file.
È possibile modificare i file da terminale oppure tramite Web UI; per effettuare la modifica da interfaccia grafica, navigare su Diagnostics quindi Edit File
Nel campo testuale sopra i pulsanti, è possibile digitare il path del file da modificare, successivamente col pulsante Load è possibile visualizzarne il contenuto e dopo aver effettuato eventuali modifiche tramite il pulsante Save è possibile salvare.
Modificare i files /usr/local/etc/pkg/repos/pfSense.conf e /usr/local/etc/pkg/repos/FreeBSD.conf come segue:
ATTENZIONE: Se si naviga sul tab Package Manager della Web UI o se si cerca un aggiornamento per il sistema operativo, i file appena modificati potrebbero essere sovrascritti.
INSTALLAZIONE DI WAZUH AGENT
Dopo aver abilitato le repositories è possibile installare il pacchetto richiesto tramite terminale o tramite Web UI, tuttavia non essendo quest’ultima in modalità interattiva, essa potrebbe causare dei problemi in caso in cui il comando eseguito richieda input da parte dell’utente, perciò si consiglia di proseguire in SSH o da console.
Eseguire il seguente comando per aggiornare la lista dei pacchetti disponibili:
0 |
pkg update
|
Verificare che il pacchetto wazuh-agent venga mostrato in seguito a questo comando ed annotarsi la versione disponibile:
0 |
pkg search wazuh-agent
|
Installare il pacchetto con il seguente comando, sostituendo le “x” con la versione annotata nel passaggio precedente:
0 |
pkg install wazuh-agent-x.xx.x
|
CONFIGURAZIONE DEL WAZUH AGENT
Copiare il localtime nella cartella di Wazuh:
0 |
cp /etc/localtime /var/ossec/etc/
|
Modificare il file di configurazione /var/ossec/etc/ossec.conf per far puntare l’agent al server corretto:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
...
<ossec_config>
<client>
<server>
<address>WAZUH-SERVER-FQDN-OR-IP</address>
</server>
<enrollment>
<agent_name>AGENT-FQDN-OR-HOSTNAME</agent_name>
<groups>default,group1,group2</groups>
<!--<authorization_pass_path>/etc/authd.pass</authorization_pass_path>-->
</enrollment>
<config-profile>default, group1, group2</config-profile>
<crypto_method>aes</crypto_method>
</client>
...
|
Sostituire group1, group2 con i gruppi a cui si vuole aggiungere il firewall.
Solo nel caso in cui si necessitasse di configurare l’enrollment con password, decommentare la riga relativa ad authorization_pass_path ed eseguire il seguente comando:
0 |
echo 'ENROLLMENT-PASSWORD-HERE' > /etc/authd.pass
|
Abilitare l’agent al boot con i seguenti comandi:
0
1
|
sysrc wazuh_agent_enable="YES"
ln -s /usr/local/etc/rc.d/wazuh-agent /usr/local/etc/rc.d/wazuh-agent.sh
|
Avviare il servizio:
0 |
service wazuh-agent start
|
A questo punto dovrebbe essere possibile visualizzare l’agent dalla Wazuh Dashboard.
Opzionalmente è possibile aggiungere una crontab per ripulire i log in stallo più vecchi di 30 giorni, creando il file /etc/cron.d/wazuh:
0
1
2
3
4
5
|
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
# See crontab(5) for field format
0 4 * * * root find /var/ossec/logs/ossec/ -d 1 -mtime +30 -type d -exec rm -rf {} \; > /dev/null
|
AGGIUNGERE LE ESCLUSIONI PER IL ROOTCHECK
Il modulo Rootcheck di Wazuh potrebbe scatenare alcuni alerts per dei file di sistema creati da pfSense, per ignorarli è possibile aggiungere delle esclusioni nel file di configurazione agent.conf.
Per modificare la configurazione per il gruppo di agents a cui appartiene il firewall, navigare su Management quindi Groups:
Selezionare il gruppo a cui è stato assegnato l’agent negli step precedenti, navigare su “Files” e cliccare sulla matita per modificare “agent.conf”:
Aggiungere le esclusioni nel web editor e salvare cliccando su Save:
0
1
2
3
4
5
6
7
|
<!-- rootcheck exclusions -->
<rootcheck>
<ignore type="sregex">/boot/efi</ignore>
<ignore type="sregex">.lock$</ignore>
<ignore type="sregex">^/tmp/notices/notices.serial$</ignore>
<ignore type="sregex">^/tmp/notices/smtp.last$</ignore>
<ignore type="sregex">^/tmp/notices/smtp.queue$</ignore>
</rootcheck>
|
MONITORARE I LOG DEL FIREWALL
ATTENZIONE
: I decoders di Wazuh non interpretano correttamente i log di pfSense in formato syslog (RFC 5424), perciò per proseguire è necessario configurare i log di sistema in formato BSD (RFC 3164, default).
Wazuh viene distribuito con i decoders e le rules necessarie per monitorare il traffico IPv4 di pfSense (ad oggi i decoders hanno problemi ad interpretare i log del traffico IPv6).
Di default Wazuh non logga le richieste bloccate da pfSense a meno che non vengano bloccate richieste multiple dalla stessa sorgente, in questo caso viene mostrato un unico log per più richieste bloccate.
Se fosse necessario effettuare un’analisi approfondita del traffico, potrebbe essere richiesto loggare su Wazuh tutte le richieste bloccate, per effettuare ciò è necessario sovrascrivere la regola #87701.
Aggiungere nel file /var/ossec/etc/rules/0540-pfsense_rules.xml l’overwrite per la regola:
0
1
2
3
4
5
6
7
8
|
<group name="pfsense,">
<rule id="87701" level="5" overwrite="yes">
<if_sid>87700</if_sid>
<action>block</action>
<!-- <options>no_log</options> -->
<description>pfSense firewall drop event.</description>
<group>firewall_block,pci_dss_1.4,gpg13_4.12,hipaa_164.312.a.1,nist_800_53_SC.7,tsc_CC6.7,tsc_CC6.8,</group>
</rule>
</group>
|
Infine è necessario configurare Wazuh per monitorare il file in cui vengono loggati gli eventi del firewall.
Tornare sul web editor (vedi AGGIUNGERE LE ESCLUSIONI PER IL ROOTCHECK) ed aggiungere le seguenti configurazioni:
0
1
2
3
4
|
<!-- Monitor pfSense System logs -->
<localfile>
<log_format>syslog</log_format>
<location>/var/log/system.log</location>
</localfile>
|
In seguito al riavvio dei servizi del manager e dell’agent, i logs di pfSense dovrebbero essere disponibili sulla Wazuh Dashboard:
Adesso dovrebbe essere ok….
grazie per la segnalazione
Questo articolo risulta vuoto….