OT: Analyza logovanych dat

Jan Dusatko jan at dusatko.org
Thu Jan 29 09:51:34 CET 2009


> > Ahoj,
> >
> >  predne se omlouvam za dotaz, ktery neni primo o BSD, ale je
> >  obecneho charakteru.
> >
> >  Provozuji sit, kde je nekolik serveru s FreeBSD, RedHat Linuxem
> >  a SuSE Linuxem. Na vsech serverech jsem si nainstaloval syslog-ng,
> >  kterym jsem nahradil klasicky syslog (u RedHatu a FreeBSD). Na
> >  SuSE uz se syslog-ng pouziva defaultne. Na jednom serveru v siti
> >  jsem si vytvoril centralni syslog server, na ktery loguji servery
> >  z cele site. Rad bych nejak nalogovana data automaticky a i on-line
> >  analyzoval a podle nadefinovanych udalosti se neco stane napr.
> >  posle se mail nebo SMSka. Provozujete nekdo neco podobneho? Ja jsem
> >  nasel nekolik odkazu:
> >
> >  http://sourceforge.net/projects/syslogscripts
> >  http://www.crypt.gen.nz/logsurfer/
> >  http://kodu.neti.ee/~risto/sec/
> >  http://web.suffieldacademy.org/ils/netadmin/docs/software/syslog/
> >
> >  Jde mi hlavne o prakticke poznatky. Vlastni scripty si psat nechci,
> >  rad bych pouzil uz neco hotoveho.
> >
> >  Predem dekuji za pripadna poznatky, doporuceni nebo odkazy.
> >
> > 			  Pepa Brzak
> >
> > --
> > FreeBSD mailing list (users-l at freebsd.cz)
> > http://www.freebsd.cz/listserv/listinfo/users-l
> 
> Mno, s "necim hotovym" Ti nepomuzu. Ale jestli chces poznatky,
> tak ja jsem na to sel od lesa tak, ze jsem si napsal skript, ktery
> logy analyzuje pomoci regexu zhruba takhle:
> 
> 1. mam mnozinu "templates", ze kterych se pomoci funkce vyrobi regexy:
> plog.addProcessRe("sshd",template="User .+ from $hacker$ not allowed
> because not listed in AllowUsers")
> plog.addProcessRe("sshd",template="Invalid user .+ from $hacker$")
> 
> 2. log se prochazi a u kazdeho radku se hleda regex, ktery matchuje,
> napr:
> sshd: User billgates from 207.46.248.248 not allowed because not
> listed in AllowUsers
> 
> 3. ke kazdymu regexu se vytvori seznam namatchovanych hodnot a pocet,
> kolikrat se objevily, napr:
> "User .+ from $hacker$ not allowed because not listed in AllowUsers"
> hacker="207.46.248.248", numMatched=10
> hacker="a.b.c.d", numMatched=15
> 
> 4. takhle mam pravidla pro vsechno, co se normalne v lozich objevuje
> 5. radky, ktery se nenamatchovaly, se vypisou, protoze dost
> pravdepodobne je to neco obzvlaste
> hodnyho pozornosti
> 
> Napsat takovej skript neni tezky a prijde mi to docela elegantni. Ale
> jestli chces
> nutne neco hotovyho... :)
> 
> Mirek

Z hotoveho lze pouzit napriklad kombinaci OSSEC a Zabbix. Přes OSSEC
je mozne zasilat informace na e-mail (doslo k pokusum o prihlaseni ...),
Zabbix umi komunikovat přes SMS a Jabber. Protože Zabbix umoznuje
tvorit pravidla, ktere se divaji do databaze, nebo obsahuji vysledek
scriptu, neni tak velky problem informace od OSSEC posilat nejenom 
do e-mailu, ale i do fronty, kterou prezvyka script a preda Zabbixu.
Ve vysledku pak je mozne podle urovne dostat varovani pri SUDO SU -,
pri prihlaseni uzivatele ktery ma na SUDO prava, hlaseni o coredump
a podobne zalezitosti. Navic, nemusim se trapit s konfiguraci odesilani
SMS, jenom to chce cas a projit bazary s mobily.

Honza





More information about the Users-l mailing list