File di log: importanza e analisi Prima parte Yvette vodka Agostini [email protected] Valerio Hypo...

46
File di log: importanza e analisi Prima parte Yvette ‘vodka’ Agostini [email protected] Valerio ‘Hypo’ Verde [email protected]

Transcript of File di log: importanza e analisi Prima parte Yvette vodka Agostini [email protected] Valerio Hypo...

Page 1: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

Prima parte

Yvette ‘vodka’ [email protected]

Valerio ‘Hypo’ [email protected]

Page 2: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e

analisiCosa sono

Cosa ci dicono

Cosa cercare

Page 3: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

Tutto può essere fonte di log:

• l’hw, tramite il kernel

• i demoni (sshd, telnetd, inetd...)

• gli applicativi (mysql, cron, ...)

• gli utenti

File di log: importanza e analisi

Page 4: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

Esempi di log generati dall’hardware:

Jun 4 18:09:43 dhcpclient1 kernel: ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio hdb:pio

Jun 6 14:45:53 dhcpclient1 kernel: eth0 : Setting promiscuous mode

Esempi di log generati dagli utenti:

yagostinipts/0 xxx-223.xxx.xxx Thu Jun 6 15:56 still logged in

trastai pts/0 xxx-21.xx.xxx Thu Jun 6 15:30 - 15:42 (00:12)

File di log: importanza e analisi

Page 5: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

Esempi di log generati da demoni:

sendmail

Jun 2 04:02:03 xxxx sendmail[24976]: g52221tb024971: [email protected], ctladdr=<[email protected]> (0/0), delay=00:00:02, xdelay=00:00:01, mailer=esmtp, pri=270564, relay=mail.xxx.it. [xxx.xx.xxx.xx], dsn=2.0.0, stat=Sent ( <[email protected]> Queued mail for delivery)

Apache

xx.xxx.xx.xx - - [19/Dec/2001:16:22:33 +0100] "GET /apache_pb.gif HTTP/1.1" 200 2326

Cron

Jun 2 04:32:00 hostname CROND[29556]: (root) CMD (/usr/local/bin/CheckDefang.sh > /dev/null 2>&1)

Page 6: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

Esempi di log generati da applicativi:

Un generico script di backup

Finished backup at Fri Apr 19 00:00:00 CEST 2002

Starting backup at Sat Apr 20 00:00:00 CEST 2002

Squirrelmail (webmail)

xxx.xx.xx.xxx - - [18/Feb/2002:15:07:30 +0100] "GET /squirrelmail/ HTTP/1.0" 302

0 "-" "Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6b"

Page 7: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

Tracce (fingerprint) di attacchi e probe:Apache:[Tue Jun 11 04:09:11 2002] [error] [client xxx.xx.xxx.x] File does not exist: /www/virtualhosts/www.nomesito.com/MSADC/root.exe (error_log di apache che segnala un attacco NIMDA)

Ssh:Jun 9 09:39:25 sshd[17060]: scanned from xxx.xx.xxx.xx with SSH-1.0-SSH_Version_Mapper. Don't panic.(messages log file, evidenzia la signature di un version scanner per sshd)

Page 8: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

Conoscere lo stato a regime del sistema significa poter cogliere i segnali premonitori

• Dimensione anomala dei file di log• Signature di attacchi

Riconoscere tempestivamente un problema consente di avere più chances di prevenire danni (non necessariamente dovuti a intrusioni)

Page 9: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

Strumenti per l’automazione della gestione dei log:• Log rotationSi può fare “a mano” scriptando opportunamente, oppure

si può usare logrotate (ben noto a chi usa redhat), che tramite un file di configurazione e cron provvede a ruotare, comprimere, rimuovere e spedire per mail i file di log.

[ftp://ftp.redhat.com/pub/redhat/code/logrotate/]• Swatch

Page 10: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

LogwatchE’ sviluppato in perl. Controlla a intervalli regolari,

impostabili da file di configurazione oppure da linea di comando, i file di log ricercando stringhe particolari.

E’ abbastanza semplice da configurare e modificare per venire incontro alle proprie esigenze.

Warning: installare l’ìultima versione perche’ le precedenti sono affette da un bug che consente root in locale.

[http://www.logwatch.org]

Page 11: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

File di log: importanza e analisi

swatchE’ sviluppato in perl. Controlla in tempo reale i file di log

impostati da file di configurazione alla ricerca dei particolari “trigger” da noi scelti (esempio: parsa /var/log/maillog alla ricerca della stringa EXPN). Quando incontra un trigger swatch esegue un’azione impostata da noi.

E’ abbastanza semplice da configurare e modificare. [Homepage http://www.oit.ucsb.edu/~eta/swatch/ , ma

spiegazione ottima qui: http://www.enteract.com/~lspitz/swatch.html]

[Download ftp://ftp.stanford.edu/general/security-tools/swatch/swatch-3.0.4.tar.gz]

Page 12: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

Considerazioni:

Conoscere il sistema per non dispersi nella mole delle informazioni.

Analizzare in modo incrociato le informazioni dei diversi file di log

In caso di più sistemi considerare l’opportunita’ di installare un log server per centralizzare i log

File di log: importanza e analisi

Page 13: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

FORMATO DI UN MESSAGGIO SYSLOGCome è fatto un messaggio per syslog ( RFC 3164 )

<PRI> TIMESTAMP HOSTNAME TAG CONTENT

PRI HEADER MSG

PRI

PRIORITY = FACILITY * 8 + SEVERITY

Ci sono 24 facilities e 8 severities, quindi il valore di PRI può andare da 0 a 191

Page 14: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

FORMATO DI UN MESSAGGIO SYSLOGCome è fatto un messaggio per syslog ( RFC 3164 )

<PRI> TIMESTAMP HOSTNAME TAG CONTENT

PRI HEADER MSG

PRI - LE FACILITIES ( 0-23 )

0 kern, 1 user, 2 mail, 3 daemon, 4 auth, 5 syslog, 6 lpr, 7 news, 8 uucp, 9 cron, 10 authpriv, 11 ftp, 16-23 local 0-7

PRI - LE SEVERITIES ( 0-7 )

0 emerg/panic, 1 alert, 2 crit, 3 error/err, 4 warning/warn, 5 notice, 6 info, 7 debug

Page 15: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

FORMATO DI UN MESSAGGIO SYSLOGCome è fatto un messaggio per syslog ( RFC 3164 )

<PRI> TIMESTAMP HOSTNAME TAG CONTENT

PRI HEADER MSG

HEADER

Il TIMESTAMP contiene la data locale nel formato Mmm dd hh:mm:ss

L’HOSTNAME contiene il nome dell’host che ha generato il messaggio ( senza il dominio )

Page 16: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

FORMATO DI UN MESSAGGIO SYSLOGCome è fatto un messaggio per syslog ( RFC 3164 )

<PRI> TIMESTAMP HOSTNAME TAG CONTENT

PRI HEADER MSG

MSG

Il TAG contiene il nome del programma o processo che ha generato il messaggio

Il campo CONTENT contiene l’effettivo messaggio

Page 17: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOGDIl deamon di syslogging

syslogd è il demone che consente di loggare in modi diversi tutti i messaggi di sistema, del kernel (tramite klogd) e dei demoni attivi

Le opzioni principali sono :-a Specifica sockets addizionali per ambienti chrooted-d Debug mode-f Specifica un differente file di configurazione-h Attiva l’host forwarding-mIntervallo per il --MARK-- in minuti ( 0 disattiva il mark )-p Socket da usare al posto di /dev/log-r Abilita la ricezione sulla porta 514 UDP

Page 18: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

IL FILE DI CONFIGURAZIONE DI SYSLOGD/etc/syslog.conf

Ogni riga è formata da due campi :

un campo selettore un campo di azione

separati da uno o più spazi (o tab) che definiscono rispettivamente COSA loggare e DOVE

FACILITY.SEVERITY<spazio/tab>AZIONE

Page 19: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

IL FILE DI CONFIGURAZIONE DI SYSLOGDIl campo selettore

facility.severity

* tutte le facilities o tutte le severitiesnone nessuna severity, multiple facilities e severities; multiple statement con stessa azione= esattamente una severity! negazione severity\ separazione multiline

Page 20: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

IL FILE DI CONFIGURAZIONE DI SYSLOGDIl campo azione

E’ possibile specificare diverse azioni

File normali : /

Named Pipe - FIFO : |

Terminali virtuali e console

Macchine remote : @

Lista di utenti : ,

Tutti gli utenti : *

Page 21: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

IL FILE DI CONFIGURAZIONE DI SYSLOGDEsempio

*.=info;*.=notice;*.=warning;\auth,authpriv.none;\ cron,daemon.none;\ mail,news.none /var/log/messagesTutti i messaggi con severity info, notice e warning, eccetto quelli

provenienti da facilities auth,authpriv,cron,daemon,mail,news sul file /var/log/messages

*.alert *Tutti i messaggi con severity alert o maggiore a tutti gli utenti

collegatikern.!alert; \*.=debug;*.=info;\*.=notice;*.=warn /dev/tty8 Tutti i messaggi con severity debug, info, notice e warn vengono

visualizzati su /dev/tty8 tranne quelli provenienti da kern con severity uguale o maggiore ad alert

Page 22: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

KLOGDIl kernel logger daemon

Il kernel è una preziosa fonte di log

Il kernel utilizza la funzione printk() per inviare messaggi, che se non ‘intercettati’ da nessun daemon, vengono visualizzati in console

Il daemon klogd serve ad intercettare questi messaggi ( da /proc/kmsg ) e mandarli a syslogd

Le opzioni frequenti sono -c ( forza visualizzazione in console ) e -f ( write to file )

Page 23: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

NOTE SULLA SICUREZZAChe problemi posso avere con syslog ?

ESAURIMENTO DELLO SPAZIO SU DISCO

NO AUTH

FLOOD RETE - CARICO MACCHINA

Page 24: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

COME INVIARE MESSAGGI A SYSLOGRendere i propri script e programmi più ‘loquaci’

SHELL SCRIPT

E’ possibile utilizzare il programma logger, con il quale si può inviare a syslogd un messaggio con una priorità e un tag definibile.

logger -p facility.severity -t tag message

La priorità può essere specificata numericamente o con una coppia facility.severity

Di default logga con priorità user.notice

Page 25: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

COME INVIARE MESSAGGI A SYSLOGRendere i propri script e programmi più ‘loquaci’

C

Basta includere la libreria syslog.h e utilizzari semplici funzioni come :

void openlog(char *ident, int option, int facility)void syslog(int priority, char *format)void closelog(void)

PERL

E’ possibile usare il modulo Sys::Syslog

Page 26: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

COME RENDERE (PIU’) SICURI I LOGCome evitare ‘cancellazioni accidentali’

Forwardare i log ad un log server

Scrivere i log su un dispositivo write-once come un WORM

Scrivere i messaggi direttamente su stampante

Page 27: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGUna (ottima ?) alternativa a syslogd

syslog-ng ( syslog next generation ) è un sostituto del syslogd,

scritto da Balázs Scheidler, sotto licenza GNU.

La versione di sviluppo attuale e’ la 1.5.18, mentre la versione stabile e’ la 1.4.15

Homepage : http://www.balabit.hu/en/downloads/syslog-ng/

Freshmeat :http://freshmeat.net/projects/syslog-ng/

Mailing List :http://lists.balabit.hu/mailman/listinfo/syslog-ng

Page 28: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGLe features di syslog-ng

Compatibilità con syslogd

Possibilità di filtrare sul contenuto del messaggio

File di configurazione chiaro e potente

Forwarding log via UDP/TCP, con forwarding chain

Creazione file di log basata su MACRO

Formato dei log customizzabile

Catchall statement

Page 29: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGMessage path

Approccio syslogdmessaggi filtrati in base a facility e severityfacilities troppo generiche come daemonpochi programmi consentono di ‘specificare’ la facility

Approccio syslog-ngcontrollo più preciso sul filtering dei messaggimessaggi filtrati in base a message pathUn message path è composto da :

una o più sorgenti di loguna o più regole di filteringuna o più destinazioni dei log

Quindi ci sono delle regole che legano una o più sorgenti, con uno o più filtri, in una o più destinazioni

5 statements : source, filter, destination, log, options

Page 30: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGMessage path

Sorgente

Sorgente

Sorgente

Filter

Filter

Filter

Destin.

Destin.

Destin.

Page 31: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGSorgenti

Per dichiarare una sorgente si usa questo statement nel file di configurazione :

source <identifier> { source-driver(params); source-driver(params); ... };

internal per i messaggi generati internamenteunix-stream per aprire un socket in modo SOCK_STREAMunix-dgram per aprire un socket in modo SOCK_DGRAMfile per aprire un filepipe, fifo per aprire una named pipeudp per ricevere messaggi via UDPtcp per ricevere messaggi via TCPsun-stream per aprire lo STREAM device su Solaris

Page 32: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGTipi di sorgente

internal()messaggi interni di syslog-ng

unix_dgram(owner,group,perm)apre un socket SOCK_DGRAM e si mette in ascolto

unix_stream(owner,group,perm,keep-alive,max-connections)apre un socket SOCK_STREAM e si mette in ascolto

tcp(ip,port,keep-alive,max-connections)riceve messaggi via tcp

Page 33: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGTipi di sorgente

udp(ip,port)riceve messaggi via udp

file()messaggi da file speciali come /proc/kmsg

pipe()messaggi provenienti da named pipe (HP-UX)

sun-stream()messaggi provenienti da doors (SOLARIS)

Page 34: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGFiltri

COSA LOGGARE ?

Per dichiarare un filtro si usa questo statement nel file di configurazione :

filter <identifier> { expression; };

Ogni filtro ha un identificativo unico

Un espressione può contenere parentesi, operatori booleani AND, OR e NOT e un certo numero di funzioni interne

Page 35: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGFunzioni per i filtri

and or not operatori logici

facility controllo sulle facilities specificatelevel controllo sui levels specificatiprogram controllo sul tag via regexphost controllo sull’hostname via regexpmatch controllo sul messaggio via regexpfilter controllo su una diversa filter rule

Page 36: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGDestinazioni

COME LOGGARE ?

Per dichiarare una destinazione si usa questo statement nel file di configurazione :destination <identifier> { destination-driver(params); destination-driver(params); ... };

Ogni destinazione ha un identificativo unico, ed è composto da uno o più destination drivers, ognuno dei quali supporta zero o più parametri

Page 37: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGTipi di destinazione

Le destinazioni possibili sono :

file scrive i messaggi su filefifo , pipescrive i messaggi su una named pipeunix-stream invia i messaggi su un socket SOCK_STREAMunix-dgram invia i messaggi su un socket SOCK_DGRAMudp invia i messaggi via UDPtcp invia i messaggi via TCPusertty invia i messaggi ad un utente se collegatoprogram forka, lancia un programma e manda il

messaggio allo stdin

Page 38: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGTipi di destinazione : file()

Invia i log ad un file, o ad un insieme di files.Il nome del file di destinazione può includere delle macroche vengono espanse nel momento in cui i messaggivengono scritti, così un singolo driver file() può generare più files.

Esempio :

destination hosts {

file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes)); };

Page 39: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGTipi di destinazione : file() - opzioni

log_fifo_size()numero di msg in codaDefault = Global setting

fsync()forza una fsync() del destination fdDefault = no

sync_freq()numero di linee in buffer prima della scritturaDefault = Global setting

owner()Owner del file creatoDefault = root

group()Gruppo del file creatoDefault = root

encrypt() non implementata

compress() non implementata

perm()permission maskDefault = 0600

dir_perm()dir permission maskDefault = 0600

create_dirs()consente creazione directoriesDefault = no

template()crea un file di log basato su template - usa standard macro

template_escape()abilita l’escape di ‘ e “Default = yes

remove_if_older()rimuove il file se più vecchio di n secondi. Default = 0

Page 40: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGLog paths

Una volta definito sorgenti, filtri e destinazioni, occorre in qualche modo legare tra loro queste cose

Per farlo utilizziamo lo statement loglog { source(s1); source(s2); ... filter(f1); filter(f2); ... destination(d1); destination(d2); ... flags(flag1[, flag2...]); };

Ogni messaggio proveniente da una delle sorgenti, che rispetta ogni filtro viene inviato a tutte le destinazioni

Usando il parametro flags() è possibile modificare questo comportamento, ovvero fermarsi ad esempio al primo match

Page 41: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGOption

Lo statement option serve a modificare alcune opzioni di syslog-ng options { option1(params); option2(params); ... };

time_reopen() Tempo per la riapertura di una connessione morta

time_reap() Tempo di wait per connessioni idle prima di chiuderle

chain_hostnames() Chaining dei forwarding hostuse_time_recvd() Usa data di ricezioneuse_dns() Abilita risoluzione dns ( blocking op )use fqdn() Utilizza fqdngc_idle_threshold Parametro per garbage collectorgc_busy_threshold Parametro per garbage collectorsync() Numero messaggi da tenere in bufferlog_fifo_size() Grandezza del buffer

Page 42: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGMacro

Le MACRO possono essere utilizzate in due circostanze :

filename per un destination file()

template nelle opzioni di un destination file()

Page 43: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGMacro

FACILITYfacility di provenienza

PRIORITY o LEVELpriorità del messaggio

TAGnumero esadecimale a due cifre che specifica priority + facility

DATEdata in formato %h %e %H:%M:%SJun 29 16:21:02

FULLDATEdata in formato %Y %h %e %H:%M:%S2002 Jun 29 16:21:02

ISODATEdata in formato%Y-%m-%dT%H:%M:%S%z2002-06-29T16:21:02+0200

YEARMONTH DAYWEEKDAYHOURMINSECFULLHOST

conserva il chain_hostname nella macro template

HOSTPROGRAMMSG o MESSAGEIPSOURCE (non documentata)

ip di provenienza

UNIXTIME (non documentata)data in formato unix

Page 44: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGMacro ( osservazioni )

Le MACRO applicate al filename, possono creare moltissimi file (ad esempio se si usa $PROGRAM).

Questo consente la possibilità di un attacco DoS, dove si fa in modo di far aprire molti file a syslog-ng.

I file aperti da syslog-ng, in cui non viene scritto per più di 60 secondi ( definibile ), vengono chiusi.

La macro più pericolosa è appunto $PROGRAM, poiché può assumere moltissimi valori diversi, ed in ambienti untrusted va fortemente evitata.

Page 45: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

SYSLOG-NGTuning

E’ possibile effettuare del tuning su syslog-ng specificando delle opzioni globali

gc_idle_threshold() e gc_busy_thresold() sono parametri del garbage-collector interno, che può creare problemi con protocolli di trasporto non connection-oriented come udp() o unix-dgram()

log_fifo_size() specifica la grandezza (in numero di messaggi) della coda di output, utile per previsti burst di messaggi

sync() specifica il numero di messaggi da mantenere nel buffer prima di eseguire una scrittura

Page 46: File di log: importanza e analisi Prima parte Yvette vodka Agostini vodka@s0ftpj.org Valerio Hypo Verde amover@libero.it.

DOMANDE ?

Si! Le slides saranno disponibili sul sito di

sikurezza.org