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 remoto syscheck e rootcheck parsing dei log in tempo reale fino a 256 agent e-mail di notifica Tipi di installazione Local: Standalone. Tutte le funzioni del server ma no logging remoto no gestione agent Tipi di installazione Agent: syscheck e rootcheck lato client invio dei log al server (cifrati) active-response Installazione e configurazione script di installazione/aggiornamento interattivo configurazione quasi completa compilazione automatizzata Analisi dei log pre-decoding decoding rules Pre-decoding Informazioni statiche: hostname nome del programma data/timestamp log Decoding Informazioni dinamiche: user ip porta azione protocollo url Decoding decoder.xml/local_decoder.xml: file di configurazione decoder scritti in xml struttura ad albero estrazione di informazioni utili per regole, activeresponse, fts ottimizzazione Rules scritte in xml struttura ad albero match in base a decoder, nome del programma, stringhe, espressioni regolari suddivise in gruppi id univoco livello di gravità personalizzabili Rules Regole semplici: match all'interno di un messaggio di log generazione 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 syslog snort-full, snort-fast apache iis squid nampg mysql_log, postgresql_log eventlog djb_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'evento gruppo di regole host di origine / sottorete di origine Syscheck e Rootcheck controllo dei file ricerca di rootkit policy Syscheck checksum MD5 di tutti i file specificati controllo periodico e confronto con i valori calcolati alert in seguito ad un cambiamento rispetto al valore iniziale opzioni per non sovraccaricare il sistema durante il controllo Syscheck frequenza o scan_time/scan_day sospensione per n secondi ogni n file ricalcolati renice del processo disabilitazione dell'auto_ignore (ignorati i file che cambiano spesso) notifica alla creazione di nuovi file Rootcheck Rootkit detection: application level rootkit kernel level rootkit Rootcheck Application level rootkit: signature Rootcheck Kernel level rootkit: confronto dei risultati di differenti system call alla ricerca di discrepanze /dev ricerca di file inusuali con permessi inusuali controllo incrociato dei pid in uso vs. output di ps porte nascoste interfacce in modalità promiscua Rootcheck Policy: applicazioni consentite configurazioni appropriate personalizzabile 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 php possibilità di consultare via web l'archivio degli alert selezionandoli per id, tipo, gruppo, importanza statistiche situazione in tempo reale Perchè usare OSSEC ottimo strumento per l'analisi dei log in tempo reale alert immediati in situazioni critiche personalizzabile, può leggere ogni tipo di log gestione centralizzata costanti aggiornamenti community e supporto commerciale Svantaggi: documentazione frammentaria, non omogenea ottimizzazione necessaria: falsi positivi, errori generici, formati di log non supportati nativamente fase di apprendimento e personalizzazione