OT: Analyza logovanych dat
Miroslav Prýmek
m.prymek at gmail.com
Thu Jan 29 08:54:05 CET 2009
On 28.1.2009, at 21:31, Josef Brzak wrote:
> 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
More information about the Users-l
mailing list