Syslog, è un modo standardizzato (o protocollo) di produrre e inviare informazioni di log ed eventi da sistemi Unix/Linux e Windows (che producono log di eventi) e dispositivi (router, firewall, switch, server, ecc.) sulla porta UDP 514 a un collettore centralizzato di messaggi di log/eventi che è noto come server Syslog.
Una delle ragioni principali per cui Syslog è stato così ampiamente accettato in tutto il settore è stata la sua semplicità – Non c’è quasi nessuna uniformità o standardizzazione quando si tratta del contenuto che un dispositivo, un server o un sistema operativo è scritto e invia informazioni di log.
Si tratta semplicemente di inviare e trasportare messaggi sul protocollo Syslog senza conferma di ricezione (da qui l’uso di UDP).
Inoltre, non ci sono requisiti complessi tra il dispositivo di invio e il server di ricezione/raccolta, poiché i messaggi Syslog sono semplicemente inviati indipendentemente dal fatto che ci sia o meno un ricevitore configurato all’altro capo.
Le basi
- Definizione e panoramica
- Porte e livello OSI
- Collettore e server
- Componenti del messaggio/pacchetto Syslog
Definizione e panoramica
Syslog sta per “System Logging Protocol,”ed è utilizzato su dispositivi come router, switch, firewall, punti di accesso wifi, server Unix/Linux (i server Windows utilizzano i log di eventi, che possono essere utilizzati in combinazione con un server Syslog) e altri dispositivi di rete.
Si usa per memorizzare eventi o messaggi di log localmente all’interno del dispositivo e inviare le informazioni degli eventi/log a un collettore (altrimenti noto come server Syslog) per raccogliere, organizzare e filtrare tutti i log e i dati.
Semplicemente, un server o un altro dispositivo di rete può essere configurato per generare messaggi Syslog/Event e inoltrarli a un Syslog Server (o demone), che poi permette agli amministratori di rete di tracciare e monitorare quei dispositivi in rete di eventuali problemi o problemi che devono essere affrontati immediatamente.
Un messaggio/evento viene inviato dal dispositivo a un collettore (o server) usando UDP, che è un protocollo senza connessione.
I messaggi sono di solito testo e di solito non più grande di 1024 byte.
Siccome vengono inviati tramite UDP, nessuna ricevuta di trasmissione o di arrivo viene inviata all’originatore, il che significa che se un pacchetto viene perso durante la trasmissione, è andato!
Un Server/Daemon permette di raccogliere, filtrare, organizzare, impostare avvisi per determinati eventi da una posizione nella rete.
Avere tutti i dati delle informazioni di log in un unico posto ti dà anche la possibilità di creare rapporti elaborati, diagrammi e grafici per visualizzare alcuni aspetti dei tuoi sistemi e infrastrutture.
Porta e livello OSI
Syslog fa parte del livello di trasporto nel modello OSI, utilizzando User Datagram Protocol (UDP) per trasportare/trasferire informazioni attraverso la rete.
Numero di porta Syslog: UDP 514
Syslog Server/Daemon o Collector
Il Server/Daemon ascolta i messaggi Syslog che gli vengono inviati, ma a differenza di altri protocolli di monitoraggio, come SNMP, il server non può richiedere informazioni da inviare da un dispositivo, poiché il protocollo non supporta questo tipo di comportamento.
Semplicemente, è come guardare la televisione dal vivo, quello che ti mostrano in diretta è quello che ottieni, non puoi richiedere che ti mostrino qualcos’altro, è una trasmissione a senso unico.
Si raccomanda che i server Syslog siano pesantemente equipaggiati con grandi quantità di spazio su disco, CPU e memoria per eseguire rapporti più grandi e avere una lunga storia di log da più dispositivi, oltre a mantenere eventi/log più vecchi per scopi storici.
Raccogliere, compilare e calcolare grandi quantità di dati, insieme alla configurazione di avvisi e monitor è una parte molto importante per assicurarsi di conoscere lo stato della propria rete e dei componenti che la compongono.
Cosa rende un messaggio/pacchetto Syslog
Un pacchetto Syslog è composto da 3 parti e non può superare i 1.204 byte (o 1 Kb):
- PRI – Valore di priorità
- HEADER – Intestazione
- MSG – Messaggio
PRI – Valore di priorità
Il Valore di priorità è la prima parte del messaggio Syslog, che comprende esattamente 3, 4 o 5 caratteri ed è delimitata da parentesi angolari (“<” e “>”), e rappresenta la Facility e laSeverity del messaggio.
I valori di priorità sono calcolati come segue: Facility Value * 8 + Severity Value = Priority Value
Per esempio: se ottieni una Facility “Mail System”, il valore è 2, e un Severity Value di 1 (Alert: l’azione deve essere presa immediatamente), allora il valore di priorità = <> (i valori di priorità sono racchiusi tra parentesi angolari, o tra parentesi minori e maggiori).
I valori di priorità e gravità sono codificati numericamente con valori decimali e hanno i seguenti valori assegnati.
Facility Codes
Facility Codes è un componente di un’applicazione o di un sistema operativo che genera un Log/Event Message dalla tabella sottostante:
Codice numerico | Facility | |
---|---|---|
0 | messaggi del kernel | |
1 | messaggi a livello utenteutente | |
2 | mail di sistema | |
3 | demoni di sistema | |
4 | messaggi di sicurezza/autorizzazione | |
5 | messaggi generati internamente da syslogd | |
6 | stampante di linea | |
7 | sistema di notizie di rete | |
8 | sistema UUCP | |
9 | orologio demone | |
10 | messaggi di sicurezza/autorizzazione | |
11 | demoneFTP | |
12 | NTP | |
13 | Log audit | |
14 | Log alert | |
15 | clock daemon | |
16 | uso locale 0 | |
17 | uso locale 1 | |
18 | uso locale 2 | |
19 | uso locale 3 | |
20 | uso locale 4 | |
21 | uso locale 5 | |
22 | uso locale 6 | |
23 | uso locale 7 |
Riferimento: http://www.ietf.org/rfc/rfc3164.txt
Codici di gravità
I codici di gravità sono un codice numerico o un numero che si traduce in un livello di gravità o in un messaggio. Una lista di Codici Numerici e il suo messaggio corrispondente sono evidenziati nella tabella sottostante:
Codice numerico | Severità |
---|---|
0 | Emergenza: Il sistema è inutilizzabile |
1 | Allarme: L’azione deve essere presa immediatamente |
2 | Critico: Condizioni critiche |
3 | Errore: Condizioni di errore |
4 | Avviso: Condizioni di Attenzione |
5 | Avviso: Condizione normale ma significativa |
6 | Informativo: Messaggi informativi |
7 | Debug: Messaggi di livello Debug |
Riferimento: http://www.ietf.org/rfc/rfc3164.txt
Header
La porzione di intestazione di un pacchetto Syslog contiene le seguenti informazioni:
- Timestamp – la combinazione di DATA e ORA in cui il messaggio è stato generato inizialmente (in base all’orario di ogni singolo sistema). Assicurati che il tempo di ogni sistema sia sincronizzato per mantenere i timestamp corretti.
- Hostname o indirizzi IP del dispositivo di rete
MSG – (porzione di messaggio del pacchetto)
L’ultima parte del pacchetto Syslog è l’MSG, che userà il resto dello spazio disponibile di un pacchetto. L’MSG conterrà informazioni generate dal dispositivo con informazioni riguardanti il log o l’evento. L’MSG contiene anche 2 campi:
- TAG – indica il processo o il programma che ha attivato o generato il messaggio.
- CONTENUTO – contiene i dettagli del messaggio.