~/docs/filebeat_install.ods

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
Img. 1 – Come estrarre il fingerprint dal certificato

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

Img. 2 – La console di Kibana si inizia a popolare

Cliccando sull’icona evidenziata potrete andare a visualizzare il log completo.

EOF

Rispondi