29 kwi, 2009
Rejestrowanie zdarzeń w sieci, czyli konfiguracja SYSLOG-NG
Zamieszczony przez: Michał Posyłek w: Logowanie zdarzeń w SYSLOG-NG
Założenia:
- Posiadamy sieć w której są urządzenia CISCO.
- Adres serwera na którym będzie zainstalowany syslog-ng to: 10.1.4.100
- Chcemy agregować zdarzenia na jednym serwerze, z podziałem na odrębne pliki w zależności od źródła
- Posiadamy 3 urządzenia (routery CISCO) o adresach: 10.1.1.254/24, 10.1.2.254/24 oraz 10.1.3.254/24
Co nam potrzeba:
- serwer z Linuxem (np. zainstalować Debiana – patrz porada „..instalacja linuxa poprzez PXE „)
A. instalujemy usługę syslog-ng (opis dla Debiana)
1. Logujemy się jako root na nasz serwer i w zależności od dostępu do Internetu instalujemy serwer syslog-ng:
- posiadamy dostęp do Internetu: wpisujemy apt-get install syslog-ng
– nie posiadamy
- ściągamy paczkę syslog-ng dla wybranego przez nas systemu operacyjnego:
- architektura i386 (32-bitowy lub64-bitowy)
- inne architektury na stronie: klik
– instalujemy paczkę poleceniem: dpkg -i nazwa_pliku.deb
B. konfiguracja usługi syslog-ng
1. Otwieramy do edycji plik konfiguracyjny usługi: nano /etc/syslog-ng/syslog-ng.conf
2. Jeżeli serwer ma logować tylko zdarzenia od wybranych naszych 3 urządzeń, to możemy usunąć wszystko poza wpisem options { … tutaj nie ruszamy … };
3. Poniżej wprowadzamy opis źródła z którego zbieramy logi przez usługę (standardowo jest to transmisja udp na port 514): source siec { udp(ip(0.0.0.0) port(514)); };
———–
- Zakładamy, że logi będa zapisywane w katalogu: /home/SYSLOG/<router_x>/<rok>/<miesiąc>, gdzie x to numer 1 -3, naszego routera
- Nazewnictwo plików będzie zgodne ze schematem: Dzien_y-router_x.log, gdzie y to numer dnia miesiąca
———–
4. Ustalamy miejsce zapisywania plików z logami:
destination df_router_1 { file(„/home/SYSLOG/router_1/$R_YEAR/$R_MONTH/Dzien_$R_DAY-router_1.log” template(„$ISODATE <$FACILITY.$PRIORITY> $HOST $MSG\n”) template_escape(no)); };
destination df_router_2{ file(„/home/SYSLOG/router_2/$R_YEAR/$R_MONTH/Dzien_$R_DAY-router_2.log” template(„$ISODATE <$FACILITY.$PRIORITY> $HOST $MSG\n”) template_escape(no)); };
destination df_router_3{ file(„/home/SYSLOG/router_3/$R_YEAR/$R_MONTH/Dzien_$R_DAY-router_3.log” template(„$ISODATE <$FACILITY.$PRIORITY> $HOST $MSG\n”) template_escape(no)); };
5. Definujemy filtr, który ma za zadanie filtrować:
- informacje z tylko określonymi poziomami ważności (tzw. severity) – w przykładzie jest cały zakres (czyli jest nie potrzebny, ale dodałem aby było wiadomo gdzie można przycinać nie zmieniając ustawień na urządzeniu źródłowym)
- kierować informacje z okreslonych źródeł do określonych plików, zdefioniowanych w p-kcie 4.
filter f_router_1 {
host(10.1.1.254) and //adres źródła
level(debug..emerg); //poziom ważności komunikatu
};
filter f_router_2{
host(10.1.2.254) and
level(debug..emerg);
};
filter f_router_3 {
host(10.1.3.254) and
level(debug..emerg);
};
6. Dokonujemy związania źródła, filtru oraz miejsca docelowego dla logów:
log {
source(siec); //”siec” to nazwa źródła komunikatów zdefiniowana w p-kt 3
filter(f_router_1); //”f_router_1″ to nazwa filtru - pkt 5
destination(df_router_1); //”df_router_1″ to nazwa miejsca do zapisu logów zdefioniwana w p-kt 4
};
log {
source(siec);
filter(f_router_2);
destination(df_router_2);
};
log {
source(siec);
filter(f_router_3);
destination(df_router_3);
};
7. Zapisujemy plik (dla przykładowego edytora NANO to kombinacja ctrl+o) i wychodzimy z edytora (ctrl+x)
Usługa została skonfigurowana
.
8. Start usługi: /etc/init.d/syslog-ng start Jeżeli poprawnie wystaruje będzie komunikat: Starting system logging: syslog-ng. (uwaga: jeżeli zmienimy start na stop to usługę zatrzymamy, a jeśli na restart to zrestartujemy)
Skoro już usługa działa poprawnie i powinna startować automatycznie przy uruchomieniu systemu.
C. konfiguracja urządzeń CISCO
1. Logujemy się po kolei na urządzenia i w trybie konfiguracji (znak zachęty: (config)#) wpisujemy:
logging trap informational //podwyższamy poziom logowania do info (czyli poziom debug na syslogu jest już nieważny, ponieważ i tak komunikaty o takim poziomie nie wyjdą z urządzenia)
logging timestamp //dodawanie znacznika czasu do wysyłanych komunikatów
logging host 10.1.4.100 //adres naszego serwera z syslog-ng
logging enable //uruchamiamy wysyłanie logów
———–
I to już wszytko. Od tego momentu powinny napływać logi z urządzeń, które następnie w ładny, uporządkowany sposób będą zapisywane w wybranych katalogach.
———–
--------
Oceń artykuł:


Wasze opinie …