La risorsa Italiana per pfSense

Visualizzazione post con etichetta Log. Mostra tutti i post
Visualizzazione post con etichetta Log. Mostra tutti i post

27 agosto 2024

Log Management in pfSense - Come leggere i log in formato Raw

pfSense di default ci presenta i log in formato parsed, più leggibili ma meno ricchi di informazioni. 

Tramite i Log Raw invece possiamo riuscire a ricavare dati aggiuntivi che ci permettono di analizzare il traffico ed eventuali anomalie in modo più preciso.

Leggere un Log Raw di pfSense può sembrare complicato, ma con un po’ di pratica e una buiona guida che ce li spieghi non è così difficile. In questo articolo scopriremo come interpretarli

Visualizzare i Log Raw

Vai su Status - System Logs.
Seleziona la scheda Firewall.

Nelle impostazioni (icona della chiave inglese), sotto Formatted/Raw Display, scegliere Raw e salvare

Struttura dei Log Raw

I log raw di pfSense sono generalmente formattati come una singola linea di valori separati da virgole. Ecco una panoramica dei campi comuni che potresti trovare:

Timestamp: Data e ora dell’evento.
Hostname: Nome dell’host (non incluso nei log inviati tramite syslog).
Rule Number: Numero della regola che ha generato il log.
Interface: Interfaccia reale (es. em0).
Reason: Motivo dell’entrata nel log (es. match).
Action: Azione intrapresa (es. block, pass).
Direction: Direzione del traffico (in/out).
IP Version: Versione IP (4 per IPv4, 6 per IPv6).
Source IP: Indirizzo IP sorgente.
Destination IP: Indirizzo IP di destinazione.
Protocol: Protocollo (es. TCP, UDP).
Source Port: Porta sorgente.
Destination Port: Porta di destinazione.

Esempio di Log Raw

Un esempio di log raw potrebbe apparire così:

Aug 13 23:11:04 pfSense filterlog: 1000000103,0,,1000000103,em0,match,pass,in,4,0x0,,64,4500,0,DF,6,tcp,60,192.168.1.100,1.2.3.4,443,80,0,PA,123456789,987654321,1024,0,,mss;nop;wscale

Interpretazione del Log

Timestamp: Aug 13 23:11:04 - Data e ora dell’evento.
Hostname: pfSense - Nome dell’host.
Rule Number: 1000000103 - Numero della regola.
Interface: em0 - Interfaccia reale.
Reason: match - Motivo dell’entrata nel log.
Action: pass - Azione intrapresa.
Direction: in - Direzione del traffico.
IP Version: 4 - IPv4.
Source IP: 192.168.1.100 - Indirizzo IP sorgente.
Destination IP: 1.2.3.4 - Indirizzo IP di destinazione.
Protocol: tcp - Protocollo.
Source Port: 443 - Porta sorgente.
Destination Port: 80 - Porta di destinazione.

Strumenti Utili

grep: Puoi usare grep per filtrare i log e trovare informazioni specifiche. 
Ad esempio: grep "192.168.1.100" /var/log/filter.log

clog: Per versioni precedenti di pfSense, puoi usare clog per leggere i file di log binari: clog /var/log/filter.log


7 maggio 2024

Log Management in pfSense: quali quali informazioni fondamentali ci offrono


Abbiamo visto in precedenza come conservare i log generati da pfSense su un server syslog remoto, ma non ci siamo ancora soffermati ad analizzare quali sono le principali voci che vengono registrate sul nostro firewall.

Ricordiamo che i log di pfSense sono conservati nel percorso /var/log e sono fruibili tramite interfaccia web nel menù Status > System Logs.

Andremo ad analizzare le sezioni più significative

  1. System
  2. Firewall
  3. DHCP
  4. Authentication
  5. OpenVPN e IPsec
  6. Packages 

1. SISTEMA

I log di tipo System a loro volta contengono diverse sottosezioni, queste le principali
  1. General: racchiude tutti gli eventi generati dai processi, da quelli generati dal kernel, all'interfaccia web e a molti altri sottosistemi sia quelli installati di default che alcuni pacchetti aggiuntivi. Si tratta comunque di processi che non producono molte registrazioni, I sottosistemi che generano grosse quantità di log, hanno il loro menù dedicato. Questi log sono utili per monitorare le attività dei principali processi e servizi (start e stop), sicurezza (sshguard), sincronia di membri di un cluster, login via web, comandi di riavvio o eventi legati allo stato dell'UPS se ce n'è uno collegato, e così via 
  2. Gateways: registra gli eventi relativi ai Gateway (in particolare perdita di pacchetti, stato online/offline, latenza dei monitor). Sono utili per il troubleshooting sulla connettività e sul multiwan
  3. Os Boot: riporta l'output della procedura di boot ed è utile per il trobleshooting dell'avvio

2. FIREWALL

I log di questo tipo di default intercettano tutti gli eventi di block svolti dal Packet Filter.
Come configurazione globale o su singole regole è attivabile anche il logging dei pass
Viene segnalata l'azione (block o pass), l'orario, l'interfaccia di origine, la regola matchata, ip e porta di origine e di destinazione e tipo di protocollo (TCP/UDP + flag di extra information).

Sono fondamentali per verificare se c'è un evento di blocco e dovuto a cosa o, viceversa, per capire se il traffico stia effettivamente passando.

L'interpretazione di questi log merita un articolo a parte, che linkeremo appena disponibile

3. DHCP

Quando attivo su una o più interfacce, registrano i log del servizio DHCP server.
Contiene tutte le informazioni necessarie per verificarne il corretto funzionamento (gestione del lease, pool pieno, ecc.)

4. AUTHENTICATION

Contiene le informazioni circa i login riusciti e non, sia al firewall stesso sia per quei servizi per i quali svolge la funzione di back-end di autenticazione (Captive Portal per esempio o le VPN L2TP)
Monitora inoltre lo stato e i cambiamenti di diversi servizi (CARP, sshguard,ecc.)

5. VPN

IpSec e OpenVPN dispongono entrambe di un log dedicato, ognuno dei quali contiene informazioni sulle connessioni in corso e permettono di verificare al livello di dettaglio necessario (la verbosità potrebbe essere necessario cambiarla a livello dell'istanza da monitorare) eventuali problemi sulle connessioni (mancate risposte, certificati scaduti, mismatch di configurazione, configurazioni deprecate, autenticazione riuscita/fallita, ecc.)

6. PACKAGES

Questo log di default è vuoto, ma alcuni pacchetti extra (es. HAProxy) hanno un flag che permette di registrare i propri log, che finiranno in questa sezione.

Il menù dei log di pfSense contiene anche altre voci, ma oggi abbiamo voluto dettagliare maggiormente quelle che riteniamo più importanti.






11 marzo 2024

Log Management in pfSense



La gestione dei log è un tema ormai fondamentale quando si parla di sicurezza informatica.

I log ci permettono di mantenere traccia degli eventi che impattano il nostro sistema e delle attività svolte dagli amministratori e dagli utenti.
Attualmente inoltre, una corretta gestione dei log non è solo un tema di sicurezza, ma anche di ottemperanza a leggi quali il GDPR, o di compliance a normative come la ISO27001 e a direttive europee, ad esempio la recente NIS2.

Oggi vedremo quali sono i principali strumenti di logging che ci offre pfSense e come configurarli in modo ottimale, per porterne gestire lo storico in modo flessibile e confacente le proprie necessità.

I log di pfSense sono conservati nel percorso /var/log e sono fruibili tramite interfaccia web nel menù Status > System Logs.
Sono organizzati in diversi macroblocchi, sfogliando i quali possiamo andare a rintracciare le attività legate a:
  • Sistema 
  • Filtraggio del traffico 
  • DHCP
  • Autenticazione
  • VPN (OpenVPN, IPsec, ecc.)
  • NTP
  • Pacchetti aggiuntivi 
Ciascuna di queste voci dispone di una serie di sotto menù per la registrazione puntuale di diverse ti
topologie di eventi.

Log Settings

In questa voce di menù, che è l'ultima, troviamo tutte opzioni di configurazione per la raccolta dei log che andremo ad analizzare oggi.

PfSense mette a disposizione di default un numero molto ampio di log, tuttavia la loro conservazione in locale ha limiti di spazio, prestazioni e durata, motivo per cui porremo particolare attenzione alla conservazione in remoto.

Opzioni Generali

Log Message Format: è il formato dei syslog messaggi che vengono conservati in locale o che vengono inviati a un eventuale syslog server remoto. Sono disponibili due formati (RFC3164 o RFC5424): la scelta tra i due dipende dalla compatibilità col sistema di raccolta remoto.
RFC3164 è lo standard più datato, nativo di BSD, mentre RFC5424 è uno standard più recente che permette una gestione più precisa del timestamp.

La scelta tra i due formati dipende dalla compatibilità col sistema di parsing prescelto per renderli maggiormente leggibili, anche se entrambi gli standard possono essere utilizzati in qualsiasi demone syslog (syslog-ng e rsyslog, ecc.) e tendenzialmente i template per parsarli sono presenti nei principali motori di aggregazione log, come Splunk o Elastic, su cui si basa la maggior parte dei prodotti di log management in commercio.
La trasmissione dei messaggi Syslog inoltre può avvenire sia in UDP che in TCP.

Se non ci sono esigenze particolari, possiamo lasciare il default (RFC3164)

Selezionare le seguenti opzioni, valutando le altre alla bisogna:
  • Forward/Reverse Display
  • Log firewall default blocks
  • Log packets blocked by 'Block Bogon Networks' rules
  • Log packets blocked by 'Block Private Networks' rules
  • Log errors from the web server process
  • Generate log entries when making changes to the configuration
GUI Log Entries: 1000

Il tasto Reset log files, ci permette di eliminare tutti i log presenti in locale compresi i file di rotazione dei log.

Log Rotation

In questa sezione possiamo decidere la dimensione dei singoli file di log e poichè il sistema non è studiato per una conservazione long term in locale si consiglia di mantenere questi valori:

Log Rotation Size (Bytes):  tra 512000 e 10240000
Log Retention Count: tra 7 e 14

Queste impostazioni si applicheranno a tutte e 20 le tipologie di file di log presenti, bisogna perciò fare attenzione allo spazio occupato.
Il sistema ci preallerta, indicandoci l'attuale spazio occupato dai log, il massimo raggiungibile con le dimensioni da noi impostate e lo spazio libero su disco in questo momento.

Log Compression: La compressione dei log va attivata solo in caso di file system diverso da ZFS, che di default comprime già il contenuto del disco.
Può essere utile disattivarla anche in caso di file di log molto grandi per i quali ci metterebbe troppa a comprimere o per sistemi particolarmente lenti.

Remote Logging Options

In questa sezione possiamo fare il redirect dei log verso un sistema remoto.

Source Address: scelgo l'interfaccia su cui fare il bind del servizio
IP Protocol: IPv4/IPv6
Remote log servers: ip_remote_syslog_server:port

E' possibile specificare fino a 3 server syslog remoti. E' necessario specificare la porta solo se differente dalla 514 UDP che è la porta di default del syslog.
L'invio avviene solo in UPD, se necessario attivarlo in TCP, si può utilizzare il pacchetto aggiuntivo syslog-ng, di cui non parleremo oggi, ma sarà oggetto di un articolo futuro.

Remote Syslog Contents: è possibile filtrare la tipologia di eventi da inviare al remote syslog selezionando le voci di interesse in questo menù.

Salvare al termine delle modifiche.


Nome

Email *

Messaggio *