-: In questa lezione
ci concentreremo sul monitoraggio e sull'auditing.
Cominciamo con il monitoraggio.
Quando parliamo di monitoraggio, uno
dei compiti principali di un analista della sicurezza
è proprio quello di monitorare la rete.
Siamo come dei detective.
Cerchiamo di eliminare tutto
ciò che non sembra corretto e questo
può essere fatto manualmente o in modo automatizzato.
Ora, syslog è un protocollo che consente a diverse apparecchiature
e applicazioni software di trasmettere i loro log o record
di eventi a un server centralizzato.
Ora syslog seguirà un modello client-server standard.
Questo è lo standard definitivo per la registrazione
di eventi da sistemi distribuiti in rete.
Il syslog viene utilizzato in molti dei sistemi su cui
si lavora quotidianamente.
Ora syslog funziona sulla maggior parte dei sistemi operativi e sulla maggior
parte delle apparecchiature di rete.
Quindi, sia che si utilizzi un router Cisco, sia
che si utilizzi una macchina Windows o un server Linux, tutti
possono utilizzare il syslog.
Ora, quando inviamo questi messaggi,
che aspetto ha un messaggio syslog?
Un messaggio syslog contiene un paio di cose.
Contiene un codice PRI, che è un codice di priorità.
Contiene un'intestazione e una parte di messaggio.
Parliamo di ciascuno di essi.
In primo luogo, abbiamo il codice PRI, la priorità,
che verrà calcolata in base alla struttura
e al livello di gravità dei dati.
Poi, abbiamo un'intestazione
che conterrà il timestamp dell'evento
e il nome dell'host.
Così sappiamo da dove proviene e che ora era.
Infine, abbiamo la parte del messaggio, che
contiene il processo di origine dell'evento
e il relativo contenuto, in pratica quali dati sono accaduti e di
cosa volete parlarci?
E questa è l'idea della parte del messaggio.
Questo è il nocciolo del messaggio.
Ora, quando abbiamo trattato il
syslog, ci sono un paio di svantaggi nella versione originale.
Il protocollo originale si basava su UDP.
Questo può causare problemi di consegna in caso di reti congestionate,
perché UDP è un protocollo "fire and forget".
Lo invia e non attende la risposta
e la conferma.
E quindi si presume che sia arrivato lì.
Se la rete è congestionata,
è possibile che i dati vengano interrotti
e che quindi le informazioni non arrivino al server
di log e non vengano registrate.
All'inizio questo poteva andare bene, perché
si dava per scontato che tutti
i membri della rete fossero affidabili,
ma oggi non è più così.
Vogliamo assicurarci che i nostri dati arrivino a destinazione.
Dovremo quindi trovare una soluzione a questo problema.
La seconda cosa è che non ci sono molti
controlli di sicurezza di base.
Non c'era nulla come la crittografia o l'autenticazione
inclusa di default in syslog.
Anche questo era un altro inconveniente.
Quindi, nelle moderne implementazioni di syslog, abbiamo
corretto questi aspetti.
A causa di questi problemi di sicurezza,
le implementazioni di syslog più recenti hanno aggiunto molte
caratteristiche e capacità diverse.
E qui ne parleremo di un paio.
Le prime implementazioni più recenti utilizzano il protocollo
TCP per una consegna coerente.
In questo modo, se la rete si congestiona e il messaggio
non riesce ad arrivare a destinazione,
il sistema lo riconsegnerà più volte perché
utilizza il protocollo TCP.
Il secondo miglioramento, le implementazioni
più recenti, possono utilizzare TLS, o transport layer security,
per crittografare i messaggi inviati ai server.
In questo modo i dati in transito non possono
essere letti da qualcun altro sulla rete.
Può essere letto solo dall'endpoint che lo ha inviato
e dal server che lo sta ricevendo.
La terza cosa è
che le implementazioni più recenti utilizzano anche MD5 e SHA1
per fornire autenticazione e integrità.
In questo modo i messaggi possono avere un'autenticazione e un'integrità
del messaggio mentre transitano sulla vostra rete, per
assicurarsi che non vengano manipolati da nessun altro.
Anche in questo caso, molte altre funzioni.
Non mi sto concentrando troppo su questo set,
perché i tre principali che ci interessano sono
passati a TCP per una consegna coerente.
Siamo passati a TLS per la crittografia
e abbiamo iniziato a usare MD5 e SHA1 per l'autenticazione
e l'integrità.
Questa nuova versione del server
è solitamente chiamata syslog-ng, per syslog next generation,
o rsyslog.
L'ultima cosa che vorrei menzionare a proposito
di syslog è che syslog viene spesso usato per indicare tre cose.
Può riferirsi al protocollo con cui vengono inviati i dati.
Può riferirsi al server, come nel caso di un server syslog,
o può riferirsi alle voci di log stesse, come
nel caso dei dati syslog.
Spesso si dice semplicemente syslog
e si intendono tutti e tre o uno qualsiasi di questi
tre, a seconda del contesto.
Quindi fate attenzione
quando sentite parlare gli addetti
ai lavori per assicurarvi
di capire quale dei tre sta parlando
di SNMP è il prossimo.
SNMP è il protocollo di gestione della rete semplice.
È un protocollo TCP che aiuta a monitorare i dispositivi
e i computer collegati alla rete.
SNMP è incorporato nei sistemi di gestione e monitoraggio
della rete ed è molto utilizzato nel concetto
di gestione e monitoraggio.
SNMP è suddiviso in tre componenti.
Ci sono i dispositivi gestiti, l'agente
e i sistemi di gestione della rete stessi.
Parliamo di dispositivi gestiti.
Si tratta di computer e altri dispositivi collegati alla rete
che vengono monitorati attraverso l'uso di agenti
da un sistema di gestione della rete.
Gli agenti sono software caricati su un dispositivo gestito.
Questo ci permette di reindirizzare le informazioni
al sistema di gestione della rete che si
occuperà del monitoraggio.
Il sistema di gestione della rete, o NMS,
è il software eseguito su uno o più server che
controlla il monitoraggio
di tutti i dispositivi e i computer collegati alla
rete.
SNMP è il collante che fa dialogare tutti e tre
questi elementi, utilizzando il protocollo SNMP.
Come si presenta tutto questo all'interno della rete?
Qui, sullo schermo, potete vedere un breve schema.
A sinistra abbiamo la nostra stazione di gestione della rete,
o NMS, che fa parte del nostro sistema di gestione della rete.
Questo fungerà da manager e
invierà e riceverà messaggi
a tutti i dispositivi gestiti della rete,
router, switch e server, giusto?
Ora, quando vuole informazioni,
invia una richiesta di tipo
"get" e i dispositivi rispondono con una richiesta
di tipo "set".
Esiste anche una cosa chiamata richiesta di trappola,
che riceve informazioni non richieste dai dispositivi
di gestione, che inviano le informazioni
necessarie a intervalli periodici.
Quindi, quando si effettua la gestione della rete utilizzando SNMP,
si hanno due opzioni per l'invio dei dati.
È possibile inviarlo attraverso la rete
in uso, il che è noto come comunicazione
in-band, oppure inviarlo fuori banda.
Quando si parla di in-band,
significa che i dati di gestione vengono inviati
sulla stessa rete che trasporta le informazioni
aziendali e i dati normali.
È più economico e più facile, ma è meno sicuro.
Ora, per essere più sicuri,
è necessario creare una rete fuori banda.
Si tratta di una rete secondaria in
cui avviene tutta la gestione, ma
è ancora presente la rete primaria in-band
in cui avvengono tutti i dati che gli utenti
riceveranno.
La gestione dovrebbe sempre essere
condotta su una rete fuori banda, perché aumenta la sicurezza
e porta la funzione di gestione fuori dal luogo in cui gli utenti
possono toccarla o vederla.