Il presente articolo ha come scopo quello di continuare quanto già fatto nel precedente: oggi andremo ad installare filebeat per l’ingestion dei log dai firewall Fortigate.
Installazione
Come per tutti i pacchetti precedentemente installati, si inizia con l’importazione della chiave dal repository ufficiale di Elastic
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Successivamente si andrà a creare il file /etc/yum.repos.d/filebeat.repo contenente le coordinate per permettere al gestore di pacchetti di installare tutto il necessario
[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Ultimo step, l’installazione di filebeat
# dnf install filebeat
Configurazione filebeat
Terminata l’installazione si procede con la configurazione di filebeat andando ad editare il suo file di configurazione /etc/filebeat/filebeat.yml e modificando le sezioni sotto riportate
filebeat.inputs:
- type: filestream
id: my-filestream-id
enabled: true
paths:
- /var/log/*.log
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
setup.kibana:
host: "192.168.250.120:5601"
output.elasticsearch:
hosts: ["192.168.250.100:9200"]
protocol: "https"
username: "elastic"
password: "<la password che avete impostato>"
ssl:
enabled: true
ca_trusted_fingerprint: "<fingerprint>"
Fingerprint
Per poter ottenere il fingerprint dal vostro certificato dovrete collegarvi alla macchina dove è presente il file http_ca.crt (ad esempio quella Elastic) e successivamente dare il comando
# openssl x509 -fingerprint -sha256 -in /etc/elasticsearch/certs/http_ca.crt
Una volta ottenuta la fingerprint è indispensabile che questa venga modificata per essere tutta in minuscolo e senza i “:” di separazione. Qua vedete voi come voler fare, io personalmente faccio così
echo -n "BF:76:A4:F1:8C..." | tr '[:upper:]' '[:lower:]' | tr -d ":"
Diversamente procedete come meglio preferite. 🙂
Una volta ottenuta, questa va inserita nella direttiva ca_trusted_fingerprint del file /etc/filebeat/filebeat.yml
Configurazione modulo Fortinet
Da console abilitiamo il modulo già presente di default per Fortigate
# filebeat modules enable fortinet
Poi andiamo ad editare il file /etc/filebeat/modules.d/fortinet.yml andando a disabilitare / modificare affinché assomigli a quanto sotto riportato
- module: fortinet
firewall:
enabled: true
var.input: udp
var.syslog_host: 192.168.250.130 <- questo è l'IP del server filebeat
var.syslog_port: 9004
Come di consueto si devono aprire le porte sul firewall locale della macchina
# firewall-cmd --add-port=9004/udp --permanent
# firewall-cmd --reload
Poi diamo il comando sottostante per far si che filebeat possa caricarsi tutti gli asset interni atti ad eseguire il corretto parsing di indici e dati
# filebeat setup -e
Terminato quest’ultimo comando (potrebbe impiegare qualche minuto), abilitiamo al boot l’esecuzione del demone filebeat e avviamolo.
# systemctl enable filebeat
# service filebeat start
Configurazione Fortigate
In ultima battuta andiamo a configurare il syslog del firewall di modo che invii i log alla macchina filebeat. Dalla CLI del firewall eseguiamo le direttive
Fortigate $ config log syslogd setting
Fortigate (setting) $ show
config log syslogd setting
set status enable
set server 192.168.250.130
set port 9004
end
Conclusione
Ora non resta che collegarsi alla console di Kibana, cliccare su Analytics > Discovery per visualizzare tutti i log che il vostro (o i vostri) firewall stanno inviando
Cliccando sull’icona evidenziata potrete andare a visualizzare il log completo.
EOF