28. 01. 2011 Marco Sperini Garante della Privacy, NetEye, Syslog

Syslog Agent Safed, un anno di vita

Circa un anno fa iniziava la nostra attività che ha portato alla definizione ed allo sviluppo dell’agent Safed, partendo dalla base fornita da SNARE di Intersect Alliance e dalla nostra esperienza sul campo. Come il predecessore a cui ci siamo ispirati, Safed nelle varie versioni è disponibile nei termini della GNU Public License.

Gli obiettivi che ci siamo prefissati erano i seguenti:

  • ampliare l’insieme di piattaforme supportate come HP-UX, Windows a 64 bit, Ubuntu a 64 bit;
  • integrare gli agent Snare ed Epilog in un unico agent, da poter utilizzare su Windows sia per il monitoraggio degli eventi dal registro di sistema che per il monitoraggio dei file di log;
  • migliorare l’integrazione con il servizio syslog (ed in particolare con l’implementazione rsyslog utilizzata da NetEye) supportando oltre alla comunicazione via protocollo UPD anche la comunicazione su TCP e la comunicazione criptata con TLS;
  • eliminare il limite dei 4K nella comunicazione SYSLOG, rendendo la dimensione dei messaggi configurabile;
  • migliorare la robustezza della comunicazione tra agent e server, tenendo conto di eventuali malfunzionamenti a livello di rete, con una cache locale nell’agent e possibilità di ritrasmissione degli eventi;
  • introdurre alcuni accorgimenti per facilitarne l’impiego per l’adeguamento al provvedimento del Garante per la Privacy (per le versioni Windows, discovery automatica degli amministratori locali e di dominio, possibilità di impiegare ovunque le regular expression per definire criteri di filtraggio avanzati degli eventi);
  • uniformare le funzionalità di filtro tra l’agent Linux e l’agent Windows;
  • migliorare l’usabilità, introducendo delle feature standard di comunicazione che consentono la gestione centralizzata della configurazione degli agent lato server NetEye;
  • migliorare la sicurezza dell’amministrazione remota della configurazione dell’agent, con l’introduzione di HTTPS e della gestione centralizzata dei certificati;

Inizialmente ci siamo concentrati sull’ampliamento delle piattaforme supportate, ed a rendere più robusta la comunicazione tra agent e server syslog.

In particolare, poter utilizzare il solo protocollo UDP, che non offre di base alcuna garanzia sulla ricezione dei messaggi inviati dall’agent, ci sembrava una limitazione alquanto importante, soprattutto su reti congestionate. Per questo motivo si è introdotta la possibilità di utilizzare, nella comunicazione tra agent e server, anche il protocollo TCP che offre una maggiore affidabilità.
Con l’implementazione della trasmissione SYSLOG via TCP, ci siamo accorti che avevamo comunque bisogno di un qualche tipo di gestione a livello applicativo per ottenere il livello di affidabilità cercato. Il protocollo SYSLOG di per sè non prevede un acknowledge di trasmissione e così abbiamo introdotto un numero progressivo per i messaggi SYSLOG che ci permette di identificare univocamente ogni singolo messaggio, e di poter verificare lato server se ci sono stati buchi nella ricezione. In tal caso l’agent Safed è in grado di ricevere la richiesta di ritrasmissione di un particolare evento SYSLOG in base al numero univoco. Questo strato aggiuntivo a livello applicativo fra Safed e NetEye ci dà la garanzia che tutti gli eventi trasmessi siano anche stati ricevuti e ci permette di usare l’agent in maniera sicura sia in modalità UDP che TCP. Di conseguenza, adesso è più vantaggioso usare UDP con il controllo di integrità aggiuntiva, siccome UDP è molto più veloce e meno esigente in termini di risorse rispetto al protocollo TCP, risultando quindi anche più scalabile. Svantaggio di UDP è che non permette la comunicazione criptata e in tal caso bisogna usare TCP con TLS, opzione adesso disponibile nell’agent Safed.

Abbiamo poi affrontato il problema, sentito soprattutto nel mondo Windows, di rendere più facile ed immediata la configurazione dell’agent per il tracciamento degli accessi degli amministratori di sistema. A tal fine abbiamo integrato nell’agent la funzionalità di individuazione delle utenze con privilegi amministrativi (sia locali che di dominio), ed abbiamo migliorato il potere espressivo delle regole di filtraggio degli eventi, adottando ovunque l’uso delle espressioni regolari. Per monitorare i logon / logoff degli amministratori di sistema adesso è sufficiente effettuare una spunta di una check box e tutto viene gestito da Safed.

Introducendo l’agent in realtà IT piuttosto estese, ci siamo dovuti confrontare con la problematica di gestire la configurazione dell’agent su centinaia di host: in questo caso anche l’interfaccia web di amministrazione si rilevava insufficiente. Abbiamo così esteso quest’interfaccia in modo da consentire l’acquisizione e la fornitura della configurazione in blocco, tramite una singola richiesta http, ed offrire così la possibilità di amministrare centralmente la configurazione di tutti gli agent su NetEye in base a dei template che vengono assegnati ai singoli host. Questo rende agevole e veloce la riconfigurazione delle regole presenti sull’agent Safed da parte degli amministratori di sistema, poichè non è più necessario dover lavorare su ogni singola istanza di agent.

Infine, con la nuova versione di Safed, vengono introdotti notevoli miglioramenti relativamente alla sicurezza, sia per l’amministrazione da remoto degli agent, che per quanto riguarda la comunicazione tra agent e server syslog e per la prima volta si mette a disposizione una versione specifica per piattaforme Windows a 64 bit, superando le limitazioni che si avevano con gli eseguibili a 32 bit.

Finalmente è stata anche migliorata la funzionalità di logging dell’agent stesso, adesso configurabile e gestibile direttamente dall’interfaccia web di amministrazione remota che permette di fare del troubleshooting semplice e veloce da parte degli amministratori.

L’introduzione della comunicazione sicura tra agent e server syslog via TLS su TCP, una volta generati i certificati X.509, consente ad agent e server di verificare la rispettiva identità e di far poi viaggiare tutte le informazioni su un canale criptato.

L’interfaccia web di amministrazione remota della configurazione degli agent (cambiamenti di configurazione e verifica dettagliata dello stato dell’agent) adesso supporta anche il protocollo HTTPS, che permette di far viaggiare tutte queste informazioni su un canale criptato. Inoltre sono state create delle suite di test con il tool Selenium HQ, che ci consentono di verificare con estrema efficacia il corretto funzionamento di questa parte dell’agent attraverso dei test automatici.

L’agent Safed supporta le seguenti piattaforme: nel mondo Windows: Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008R2, sia a 32 che a 64 bit; nel mondo Unix sono supportati IBM-AIX, HP-UX, Solaris e Linux in tutti i diversi flavour.

Che cosa vogliamo fare nel 2011 ?

Ci concentriamo ad estendere le funzioni dell’agent Safed sui vari eventi dei sistemi operativi. Vogliamo raggiungere l’integrazione di audit su Linux con Safed. Un altro punto che vogliamo introdurre è il tracciamento degli eventi sui desktop, come ad esempio il collegamento di un disco usb esterno o anche di chiavette usb. In parte questi tipi di evento vengono già tracciati dall’agent ma vogliamo rendere più semplice la configurazione, così come vogliamo rendere univoca la configurazione fra i vari ambienti Microsoft Windows XP, Vista e Windows 7.

Ed ovviamente saremo ben lieti per ogni feedback vogliate fornirci, che sicuramente ci aiuterà a migliorare sempre più la qualità complessiva del nostro lavoro ed a renderlo sempre più interessante.

Marco Sperini

Marco Sperini

Author

Marco Sperini

One Reply to “Syslog Agent Safed, un anno di vita”

  1. Lorenzo says:

    è prevista la possibilità di fare simulcasting, per inviare il log a più syslog server?

    Grazie
    Loernzo

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive