Syslog 101
Che cos'è syslog e da dove proviene?
Syslog (System Logging Protocol) è un metodo per trasmettere informazioni vitali del sistema a sistemi di raccolta centralizzati. Consente agli amministratori di monitorare efficacemente lo stato e la salute dei loro ambienti e applicazioni. A differenza di SNMP, che ha un framework più rigido, Syslog offre maggiore flessibilità nel monitoraggio di un'ampia gamma di eventi e nell'accomodare scenari meno prevedibili.
Syslog ha una lunga storia ed è stato introdotto per la prima volta al mondo nel 1980 da Eric Allman come parte del progetto Sendmail. Ha rapidamente guadagnato popolarità e ha continuato a mantenere un'ampia attrattiva.
L'RFC 3164 originale è stato aggiornato nel 2001 con RFC 5424 che continua a essere lo standard in uso oggi.
Prospettiva di Veeam
A partire dalla versione 12.1, Veeam supporta ora l'invio di messaggi syslog. Questa funzionalità consente di esportare i log di Linux a un raccoglitore di log, facilitando la visualizzazione e l'analisi degli stessi.
Che cos'è esattamente un messaggio syslog e come appare?
Un messaggio Syslog, secondo la RFC 5424, ha numerosi campi e valori:
- PRI (Priorità): Combinazione di Facility e Severità
- VERSIONE: Numero di versione del protocollo
- TIMESTAMP: Data e ora dell'evento
- HOSTNAME: Nome dell'host sorgente
- APP-NAME: Nome dell'applicazione che genera il messaggio
- PROCID: ID del processo
- MSGID: Identificatore per il tipo di messaggio
- STRUCTURED-DATA: Coppie chiave-valore che forniscono contesto aggiuntivo
- MSG: Testo del messaggio in forma libera
Tuttavia, è importante notare che non è necessario popolare ogni campo, poiché alcuni campi possono rimanere vuoti o essere omessi in base al contesto specifico o al sistema di registrazione in uso. Questo è ciò che rende Syslog così attraente per gli sviluppatori.
Livelli di Gravità
Syslog presenta anche una gamma di livelli di gravità, tra cui:
0 Emergenza (emerg): Il sistema è inutilizzabile
- Esempio: Guasto completo del sistema, panico del kernel
1 Allerta (alert): Deve essere intrapresa un'azione immediatamente
- Esempio: Corruzione del database, perdita di sicurezza del sistema
2 Critico (crit): Condizioni critiche
- Esempio: Guasto hardware, componente dell'applicazione non disponibile
3 Errore (err): Condizioni di errore
- Esempio: Errori dell'applicazione, operazioni di processo non riuscite
4 Avviso (warning): Condizioni di avviso
- Esempio: Risorsa vicina alla capacità, degrado del servizio
5 Notifica (notice): Condizioni normali ma significative
- Esempio: Avvii/arresti del servizio, modifiche di configurazione
6 Informativo (info) - Messaggi informativi
- Esempio: Eventi di operazione regolare, operazioni riuscite
7 Debug (debug): Messaggi di livello debug
- Esempio: Informazioni dettagliate per la risoluzione dei problemi, registri di sviluppo[SB1]
Nota: Il messaggio visibile nella console potrebbe non contenere questi livelli di gravità.
Come viene attivato un messaggio Syslog
In questa sezione, spieghiamo come attivare un messaggio Syslog e controllarne la ricezione su un server Syslog. Eseguendo il comando ‘sudo ls’ sul server Linux podman01, un avviso Syslog viene inviato al server Syslog s3tester01. Dettagliamo le informazioni contenute nel messaggio Syslog, inclusi il timestamp, il nome host, l'ID del processo e l'azione eseguita. ‘Sudo’ consente a un utente normale di eseguire temporaneamente comandi specifici con privilegi di superutente (root), piuttosto che aprire una sessione root completa. Ciò significa che l'utente è limitato a eseguire solo un comando alla volta con permessi elevati, il che aiuta a mantenere la sicurezza del sistema e attiva un messaggio di sicurezza. Inoltre, trattiamo come verificare che il messaggio sia stato ricevuto sul server Syslog e mostriamo come utilizzare il comando tail per monitorare le voci Syslog in tempo reale.
Nell'immagine sottostante, attiviamo un avviso Syslog che viene inviato a un server Syslog. Utilizziamo sudo per attivare un messaggio Syslog sul server podman01 che viene inviato al server Syslog s3tester01.
Nell'immagine sottostante, il comando ‘sudo ls’ è rappresentato.

Sul server Syslog S3tester01, possiamo vedere se il messaggio è stato ricevuto:
‘tail -2 logs.txt’

Il server Linux con nome host podman01 invia il seguente messaggio Syslog che indica che il comando ‘sudo’ è stato eseguito:
Jan 26 17:41:23 podman01 sudo[1435]: pam_unix(sudo:session): session opened for user root(uid=0) by ober(uid=1000)Jan 26 17:28:05 podman01 sshd[1097]: Server listening on :: port 22.
Possiamo decifrare questo messaggio come segue:
- Timestamp: Jan 26 17:41:23
- Hostname: podman01
- Process: sudo[1435]
- Message: pam_unix(sudo:session): session opened for user root(uid=0) by ober(uid=1000)
Puoi monitorare le voci Syslog in tempo reale sul server Syslog ricevente utilizzando il comando tail. Poiché stiamo indirizzando i messaggi Syslog in arrivo a un file chiamato logs.txt, eseguirei il seguente comando per visualizzare le 10 voci più recenti:
‘tail -10 /var/syslog-ng/logs.txt’

Per osservare il file in tempo reale, posso utilizzare questo comando:
‘tail -f /var/syslog-ng/logs.txt’

Come attivare i messaggi Syslog in Veeam
In questa sezione, discuteremo come abilitare l'inoltro dei messaggi Syslog in Veeam, una funzionalità introdotta nella versione 12.1. Seguendo i passaggi descritti, puoi configurare il sistema per inviare messaggi Syslog al server scelto, garantendo un monitoraggio efficace delle attività di backup e replica.
Per attivare l'inoltro, apri la finestra “Opzioni”, quindi seleziona la scheda “Inoltro eventi” come mostrato nell'immagine seguente.

All'interno della tabella “Server Syslog”, aggiungi il tuo server di ricezione.
Nota: Puoi aggiungere solo un server.
Hai la possibilità di scegliere tra UDP (User Datagram Protocol), TCP (Transmission Control Protocol) o TLS (Transport Layer Security). Per mantenere riservati i tuoi messaggi Syslog, sfrutta la crittografia dei messaggi tramite TLS.
In questo caso, invieremo i nostri messaggi Syslog tramite UDP a un server Syslog all'IP 192.168.0.180.

Dopo aver cliccato il pulsante “Applica”, vedrai immediatamente questo messaggio:

VBR (Veeam Backup & Replication) invia un messaggio di test a Syslog confermando che tutto funziona come previsto.
Successivamente, riceverai un messaggio Syslog simile da Veeam:
2025-01-26T12:24:37.035294-05:00 VBR122 Veeam_MP [categoryId=0 instanceId=40001 InstallationId="d465fd95-7e66-4956-b2d2-41938cce5f34" VbrHostName="vbr122" VbrVersion="12.3.0.310" Version="1" Description="Il servizio Veeam Backup e Replication è connesso al database di configurazione: Nome server: localhost:5432 Nome database: VeeamBackup Autenticazione: Windows ID installazione: {d465fd95-7e66-4956-b2d2-41938cce5f34}"]
SIEM
Inviare e ricevere messaggi Syslog è vantaggioso, ma è impraticabile aspettarsi che qualcuno monitori continuamente una riga di comando. Per massimizzare i vantaggi di questa configurazione, dovremmo utilizzare un sistema di Gestione delle Informazioni e degli Eventi di Sicurezza (SIEM).
Un SIEM raccoglie, analizza e correla efficacemente i dati provenienti da varie fonti, consentendo di rilevare e rispondere alle minacce alla sicurezza. Ci sono numerose soluzioni SIEM disponibili, sia open-source che proprietarie, per soddisfare diverse esigenze.
Una sfida notevole quando si integrano i messaggi Syslog con un SIEM è la necessità di configurare avvisi e impostazioni su misura per la propria applicazione specifica. Tuttavia, se scegli Splunk come tuo SIEM, l'APP Veeam può semplificare notevolmente questo processo.
Per installare l'APP Veeam per Splunk, accedi al tuo account Splunk e scaricalo dalla pagina APPs.

Successivamente, carica il file .tgz nella sezione “Gestisci App” dell'interfaccia web di Splunk facendo clic sul pulsante “Installa App da File”.

Poi, scegli il tuo file e fai clic sul pulsante “Carica”.

Una volta installata l'app, Splunk ti chiederà di riavviare i servizi. Dopo aver effettuato l'accesso, troverai la nuova app Veeam pronta per l'uso.

In Veeam, dobbiamo configurare l'inoltro degli eventi Syslog per indirizzare i dati al nostro server Splunk.

Questo genererà il primo messaggio in Splunk.

Abbiamo appena iniziato a esplorare gli elementi essenziali di Syslog e dei SIEM, ma credo che questo serva come un'ottima base per tutti per iniziare a configurare la messaggistica Syslog.
Tieni presente che non puoi affrontare problemi se non sei a conoscenza della loro esistenza.