PLD-doc/queue/syslog-ng.txt
qwiat
cvs w pld-linux.org
Nie, 3 Kwi 2005, 03:15:41 CEST
Author: qwiat
Date: Sun Apr 3 03:15:39 2005
New Revision: 5709
Added:
PLD-doc/queue/syslog-ng.txt
Log:
- draft
Added: PLD-doc/queue/syslog-ng.txt
==============================================================================
--- (empty file)
+++ PLD-doc/queue/syslog-ng.txt Sun Apr 3 03:15:39 2005
@@ -0,0 +1,197 @@
+Syslog-ng
+================================================================================
+
+WSTĘP
+
+W PLD domyślnie instalowanym systemem magazynowania zdarzeń systemowych (logów)
+jest syslog-ng (syslog - new generation), zajÄ
Å‚ on miejsce klasycznego tandemu
+syslogd i kalogd. Jest to program o bogatych opcjach konfiguracji,
+zapewniajÄ
cy wiÄ™kszÄ
pewność działania, a co za tym idzie
+większe bezpieczeństwo logów.
+
+Większe bezpieczeństwo zapewnia możliwość użycia protokołu TCP w komunikacji z
+tzw. loghostem, aby jednak korzystać z dobrodziejstw tego protokołu na obu
+maszynach musi być użyty demon "nowej generacji". Możliwa jest także
+komunikacja z klasycznym syslogiem, w tym wypadku musimy użyć protokołu UDP
+i portu 514 (wartość domyślna dla syslog-ng).
+
+
+
+
+
+INSTALACJA
+
+# poldek -i syslog-ng
+
+
+
+KONFIGURACJA
+
+W pliku konfiguracji Syslog-ng mamy 3 rodzaje obiektów: źródła, filtry i cele.
+Konfiguracja demona polega na zdefiniowaniu obiektów, a na nastÄ™pnie poÅ‚Ä
czenie
+ich ze sobÄ
w reguły.
+
+
+Źródła
+------
+ŹródÅ‚a definiuje siÄ™ nastÄ™pujÄ
co:
+
+ source $nazwa { $źródło([$opcje]); };
+
+ - $nazwa - będzie używana w regułkach
+ - $źródÅ‚o - informacja skÄ
d pochodzÄ
komunikaty
+ - $opcje - dodatkowe opcje
+
+najpopularniejsze źródła komunikatów to:
+ -internal - komunikaty demona syslog-ng
+ -tcp - komunikaty od innych komputerów w sieci (TCP)
+ -udp - komunikaty od innych komputerów w sieci (UDP)
+ -pipe - potoki nazwane
+ -unix-stream - gniazda uniksowe
+
+przykłady:
+ source src { pipe ("/proc/kmsg" log_prefix("kernel: ")); unix-stream("/dev/log"); internal(); };
+ source udp { udp(); };
+ source tcp { tcp(ip(192.168.1.5) port(1999) max-connections(20)); };
+
+Pierwszy z przykÅ‚adów jest ogólnym źródÅ‚em komunikatów: jÄ
dra, systemowych,
+i syslog-a.
+Drugi tworzy źródło komunikatów wysyłanych z dowolnej maszyny w sieci - nasłuch na
+domyślnym porcie (514 UDP)
+Trzeci nasłuchuje komunikatów od komputera 192.168.1.5 na porcie 1999 z
+ograniczeniem do 20 poÅ‚Ä
czeń.
+
+
+
+Cele
+----
+Cel to miejsce gdzie logi sÄ
kierowane, najbardziej najczęściej sÄ
to pliki
+tekstowe przechowywane zwykle w katalogu /var/log. Ogólna definicja celu:
+
+ destination $nazwa { $cel([$miejsce]); };
+
+najpopularniejsze cele:
+ -file - plik tekstowy / urzÄ
dzenie znakowe (/dev/)
+ -usertty - ekran terminala wskazanego użytkownika
+ -tcp - kounikaty do loghosta (TCP)
+ -udp - kounikaty do loghosta (UDP)
+
+
+ destination kernel { file("/var/log/kernel"); };
+ destination console_all { file("/dev/tty12"); };
+ destination root { usertty("root"); };
+ destination loghost { udp("10.0.0.1"); };
+
+
+W pierwszym przykÅ‚adnie komunikaty sÄ
kierowane do pliku /var/log/kernel, w
+drugim logi bÄ™dÄ
wyświetlane na dwunastym wirtualnym terminalu. Trzeci cel
+spowoduje wyświetlanie komunikaty na ekranie terminala użytkownika root.
+Czwarty obiekt pozwoli na wysyłanie komunikatów do loghosta o adresie
+IP 10.0.0.1 (uwaga na zgodność protokołów TCP/UDP u nadawcy i odbiorcy).
+
+
+
+
+Filtry
+------
+Jak sama nazwa wskazuje filtry majÄ
za zadanie wyselekcjonowanie określonych
+zdarzeń dla danej regułki.
+
+ filter $nazwa { $rodzaj($wartość); };
+
+rodzaje:
+ - facility - pochodzenie zdarzenia: cron, daemon, mail, ... - szczegóły na końcu rozdziału
+ - level - priorytet: emerg, alert, crit, ... - szczegóły na końcu rozdziału
+ - host - filtrowane po nazwie hosta z użyciem wyrażeni regularnych
+ - program - filtrowane po nazwie programu z użyciem wyrażeni regularnych
+
+przykłady:
+
+ filter f_emergency { level(emerg); };
+ filter f_daemon { facility(daemon); };
+ filter f_foo { host("foo"); };
+ filter f_su_sudo { program("^su|sudo$"); };
+
+Pierwszy przykładowy filtr przepuszcza jedynie powiadomienia o
+najpoważniejszych błędach.
+Drugi zdarzenia pochodzÄ
ce od demonów, trzecie wybiera zdarzenia pochodzÄ
ce od
+komputera majÄ
cego w nazwie ciÄ
g "foo". Ostatni odfiltrowuje zdarzenia
+wywoływane w skutek działania programów su i sudo przy użyciu wyrażeń regularnych.
+
+
+W filtrach możemy używać różnych rodzajów filtrów poÅ‚Ä
czonych za pomocÄ
+operatorów logicznych (and, or, not):
+
+ filter f_syslog { not facility(authpriv, cron, lpr, mail, news); };
+ filter f_ppp { facility(daemon) and program(pppd) or program(chat); };
+
+
+
+
+
+Regułki
+-------
+ReguÅ‚ka Å‚Ä
czy źródÅ‚o, filtr i cel w jednÄ
logicznÄ
całość, obiekty
+nie poÅ‚Ä
czone w reguÅ‚ki bÄ™dÄ
ignorowane.
+Przykład budowania regułek:
+
+ log { source($źródło); destination($cel); };
+ log { source($źródło); filter($filtr1); filter($filtr2); destination($cel); };
+
+ np.:
+
+ log { source(src); destination(console_all); };
+ log { source(src); filter(f_news); filter(p_crit); destination(uucp); };
+
+
+
+
+
+Demon musi zostać ponownie uruchomiony po rekonfiguracji:
+
+ # service syslog-ng reload
+
+
+
+ZAKOŃCZENIE
+
+Syslog-ng posiada w swoim pliku mnóstwo gotowych do użycia obiektów
+i regułek, które możemy wykorzystać do naszych potrzeb.
+
+syslog-ng podobnie jak jego poprzednik nie kontroluje objętości logów,
+tak więc nie można zapomnieć o programie rotacji logów np. "logrotate".
+
+W ramach ochrony przed atakami DoS syslog-ng obsługuje domyślnie do 10
+poÅ‚Ä
czeń sieciowych, aby to zmienić należy użyć parametru
+"max-connections" w opcjach źródła (patrz przykłady).
+
+
+
+DODATEK
+
+System operacyjny posiada wewnętrzny, niezależny od demona logów, schemat
+klasyfikowania zdarzeÅ„, dzielÄ
siÄ™ one na dwie grupy:
+
+pochodzenie komunikatów (facility):
+user - różnorodne programy zwykłych użytkowników
+mail - komunikaty podsystemu poczty elektronicznej
+daemon - różnorodne demony systemowe
+auth, authpriv - bezpieczeństwo (autoryzacja użytkowników)
+syslog - syslog
+lpr - drukarka
+news - system grup dyskusyjnych (Usenet)
+uucp - podsystem UUCP
+cron - demony zegarowe: AT, CRON
+ftp - serwer FTP
+
+priorytety (level):
+emerg - system już nie nadaje się do użytku
+alert - poważna awaria - należy podjÄ
ć natychmiastowÄ
akcjÄ™
+crit - zdarzenie krytyczne.
+err - błędy
+warning - ostrzeżenia
+notice - ważne zdarzenia
+info - informacje
+debug - dodatkowe informacje - przydatne przy odpluskwianiu.
+
+
Wiêcej informacji o li¶cie dyskusyjnej pld-doc