Post on 03-May-2015
OSSEC HIDS, Host Based Intrusion Detection System
Aurora Mazzone, INFN Sezione di Torino
Parte Prima
Il progetto
Open source, GPLv3 Principale sviluppatore: Daniel D. Cid, Third
Brigade La versione attuale è la 1.6.1 WebUI versione 0.3 Supporto dalla mailing list Supporto commerciale dalla Third Brigade
Host based intrusion detection system
analisi dei log in tempo reale analisi periodica dei file vitali del sistema ricerca di rootkit monitoraggio e applicazione delle policy segnalazione situazioni critiche o anomale via
e-mail active-response altamente personalizzabile
Sistemi operativi supportati
GNU/Linux OpenBSD/NetBSD/FreeBSD Solaris Mac OS X 10.x Windows 2000/XP/2003/Vista/2008 (solo agent)
Tipi di installazione
server local agent
Tipi di installazione
Server:
logging remotosyscheck e rootcheckparsing dei log in tempo realefino a 256 agente-mail di notifica
Tipi di installazione
Local:
Standalone. Tutte le funzioni del server ma
no logging remotono gestione agent
Tipi di installazione
Agent:
syscheck e rootcheck lato clientinvio dei log al server (cifrati)active-response
Installazione e configurazione
script di installazione/aggiornamento interattivoconfigurazione quasi completacompilazione automatizzata
Analisi dei log
pre-decodingdecodingrules
Pre-decoding
Informazioni statiche:
hostnamenome del programmadata/timestamplog
Decoding
Informazioni dinamiche:
useripportaazioneprotocollourl
Decoding
decoder.xml/local_decoder.xml: file di configurazione
decoder scritti in xmlstruttura ad alberoestrazione di informazioni utili per regole, active-
response, ftsottimizzazione
Rules
scritte in xmlstruttura ad alberomatch in base a decoder, nome del programma,
stringhe, espressioni regolarisuddivise in gruppiid univocolivello di gravitàpersonalizzabili
Rules
Regole semplici:
match all'interno di un messaggio di loggenerazione dell'alert
Rules
Regole composite:
correlazione di più eventi in base al tipo di regola, gruppo di cui fa parte, importanza, frequenza, host, user, giorno, ora, etc.
Formati di log supportati
syslogsnort-full, snort-fastapacheiissquidnampgmysql_log, postgresql_logeventlogdjb_multilog
Formati di log NON supportati
Per tutti gli altri tipi di log è possibile scrivere decoder e regole personalizzati.
Alert via e-mail
configurazione del livello di importanza di un evento in grado di generare l'invio di una mail
configurazione granulare dell'invio delle e-mail
Alert via e-mail
Configurazione granulare:
importanza dell'eventogruppo di regolehost di origine / sottorete di origine
Syscheck e Rootcheck
controllo dei filericerca di rootkitpolicy
Syscheck
checksum MD5 di tutti i file specificaticontrollo periodico e confronto con i valori
calcolatialert in seguito ad un cambiamento rispetto al
valore inizialeopzioni per non sovraccaricare il sistema durante
il controllo
Syscheck
frequenza o scan_time/scan_daysospensione per n secondi ogni n file ricalcolatirenice del processodisabilitazione dell'auto_ignore (ignorati i file che
cambiano spesso)notifica alla creazione di nuovi file
Rootcheck
Rootkit detection:
application level rootkitkernel level rootkit
Rootcheck
Application level rootkit:
signature
Rootcheck
Kernel level rootkit:
confronto dei risultati di differenti system call alla ricerca di discrepanze
/devricerca di file inusuali con permessi inusualicontrollo incrociato dei pid in uso vs. output di psporte nascosteinterfacce in modalità promiscua
Rootcheck
Policy:
applicazioni consentiteconfigurazioni appropriatepersonalizzabile
Active-response
Script: reazione in base ad un evento.
Blocco temporaneo di un ip, disabilitazione utenti, etc. in base ai valori isolati dai decoder.
WebUI
phppossibilità di consultare via web l'archivio degli
alert selezionandoli per id, tipo, gruppo, importanza
statistichesituazione in tempo reale
Perchè usare OSSEC
ottimo strumento per l'analisi dei log in tempo reale
alert immediati in situazioni critichepersonalizzabile, può leggere ogni tipo di loggestione centralizzatacostanti aggiornamenticommunity e supporto commerciale
Svantaggi:
documentazione frammentaria, non omogeneaottimizzazione necessaria: falsi positivi, errori
generici, formati di log non supportati nativamente
fase di apprendimento e personalizzazione