La risorsa Italiana per pfSense

Visualizzazione post con etichetta Troubleshooting. Mostra tutti i post
Visualizzazione post con etichetta Troubleshooting. 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.


31 luglio 2015

Effettuare il controllo del filesystem in pfSense

Come in ogni sistema operativo anche in pfSense sono disponibili tools di sistema per effettuare il check del filesystem. Si tratta di un operazione che si esegue in modo molto sporadico ma in caso di necessità è bene sapere come procedere. Purtroppo questo tipo di operazioni non può essere avviato ne dall'interfaccia web ne dalla console segliendo un opzione dal menù. In quest'articolo vedremo come fare.

25 agosto 2013

Drop vs Reject

Questo articolo non sarà specificatamente applicabile a pfSense, ma piuttosto ai firewalls in genere.
Molti firewalls hanno come impostazione predefinita il drop silente dei pacchetti al posto del reject per le regole di negazione del traffico. Ma qual è la differenza? E' veramente meglio il drop del reject?
Se non vi siete mai posti la domanda la risposta vi sorprenderà! Quindi non perdiamo altro tempo ed incominciamo.

10 giugno 2013

Catturare pacchetti con pfSense

La cattura dei pacchetti (o sniffing) può essere estremamente utile per risolvere problemi di rete. 
Analizzare i pacchetti in transito permette di verificare quel che passa esattamente sul cavo o quel che per qualche motivo ci aspettiamo di veder passare ma, è inspiegabilmente assente.

pfSense mette a disposizione due modi per catturare i pacchetti: uno attraverso l'interfaccia grafica ed uno da riga di comando. Una volta ottenuti i pacchetti è possibile analizzarli tramite software come Wireshark.

15 gennaio 2013

Il troubleshooting di pfSense

Negli anni l'esigenza di connettere sempre più dispositivi in rete, la necessità di offrire servizi sempre più complessi, la crescita esponenziale di attacchi informatici ha fatto si che le reti siano divenute sempre più complesse e far si che tutto funzioni correttamente è diventato un impresa ardua. Errori di configurazioni, anomalie hardware, problemi di rete sono solo alcuni esempi dei problemi che quotidianamente possono affliggere le configurazioni di apparati complessi come i firewall.
Cosa fare in queste situazioni?

20 novembre 2012

Ordine di applicazione delle regole di NAT e firewall

A molti potrà sembrare scontato ma spesso ci si trova a scoprire di non conoscere così bene i meccanismi con cui le regole di firewall ed il NAT vengono applicati in ingresso e in uscita.
In quest'articolo cercheremo di capire qual'è l'ordine con cui i vari livelli del firewall lavorano.

Categories

Alta Affidabilità (6) Autenticazione (11) Backup (2) Captive Portal (5) Configurazione (33) Content Filter (5) Firewall (5) IDS (1) Load Balancing (4) NAT (4) Networking (2) Sondaggi (8) Traffic Shaper (1) Troubleshooting (8) VLAN (3) VPN (20) Varie (32) Virtual IP (2) WiFi (5)

Nome

Email *

Messaggio *