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

Scarica

ossec-prima