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