SEC – simple event correlator

Logowanie zdarzeń oraz analiza logów to dosyć istotna sprawa, o czym wie każdy kto administruje systemami, sieciami itp.

Zazwyczaj analizuje się logi po wystąpieniu jakiegoś zdarzenia. Niekoniecznie musi to być od razu włamanie na serwer. Częściej jest to bardziej trywialne zdanie w rodzaju sprawdzenia dlaczego coś np. działa błędnie.

Gdyby tak jednak dostać informacje z logów w chwili wystąpienia zdarzenia?

Do tego służą narzędzia do analizy logów w czasie rzeczywistym. Jednym z moich ulubionych jest SEC, czyli Simple Event Correlator. W tandemie np. z syslogiem-ng sprawdza się naprawdę świetnie. Analizuje przekazywany mu strumień logów i po rozpoznaniu zadanego wzorca podejmuje zdefiniowaną akcję.

Wzorce definiuje się przy pomocy wyrażań regularnych, (to naprawdę nic strasznego, w zasadzie podstawy to przedszkole każdego administratora *nixa), a akcją może być niemal cokolwiek: komenda systemowa, własny skrypt. Zastosowania ogranicza więc tylko nasza pomysłowość.

Analiza przeprowadzana przez SEC nie sprowadza się tylko do przeglądania jednego logu. Program potrafi korelować wystąpienia kilku różnych zdarzeń w rożnym czasie z różnych logów. W przypadku scentralizowanego logowania na jednej maszynie można również powiązać zdarzenia pochodzące z różnych maszyn.

Program jest napisany w PERLU więc nie wymaga kompilacji. Polecam zapoznać się z dokumentacją. Program jest cały czas rozwijany, a jego lista dyskusyjna jest cały czas żywa. Sam autor bardzo intensywnie się na niej udziela. Nie jest to również jakiś nowy projekt. Najlepiej zacytuje posta od autora wysłanego na listę 23.03.2011:

hi all,

a small note that might be interesting for some. The first public version of SEC (1.0) was released 10 years go, in March 23 2001.

Few facts about the 1.0 version:
– it had 3,059 lines and 75KB of code (in contrast, the latest 2.6.0 version has almost 10,000 lines and 280KB of code)
– it supported 7 rule types (Single, SingleWithSuppress, Pair*, SingleWith*Threshold*, Suppress)
– 6 actions were implemented (logonly, shellcommand, create, delete, event, reset)
– 2 pattern types were supported (regular expressions and substrings) – rules had positional parameters, for example: Single | DontCont | SubStr | this is a test | my event description | logonly

I would like to thank all list members for exchanging many interesting
ideas which have supported the development of SEC. My special thanks
goes to John Rouillard for many creative discussions and for being
active in the SEC community for almost a decade 🙂

kind regards,
risto

Jeśli więc ktoś szuka podobnego narzędzia to polecam zapoznanie się z SEC-em.

Skomentuj

*