PLD-doc/book: pl_book__master.docb pl_book__uslugi/pl_uslugi.chp pl_book__uslugi/pl_uslugi__syslog-n...

qwiat cvs w pld-linux.org
Sob, 9 Kwi 2005, 18:40:54 CEST


Author: qwiat
Date: Sat Apr  9 18:40:52 2005
New Revision: 5753

Added:
   PLD-doc/book/pl_book__uslugi/pl_uslugi__syslog-ng.sec
Modified:
   PLD-doc/book/pl_book__master.docb
   PLD-doc/book/pl_book__uslugi/pl_uslugi.chp
Log:
- dodanie rozdzialu o syslog-ng


Modified: PLD-doc/book/pl_book__master.docb
==============================================================================
--- PLD-doc/book/pl_book__master.docb	(original)
+++ PLD-doc/book/pl_book__master.docb	Sat Apr  9 18:40:52 2005
@@ -72,6 +72,7 @@
 <!ENTITY uslugi_samba SYSTEM "pl_book__uslugi/pl_uslugi__samba.sec">
 <!ENTITY uslugi_snort SYSTEM "pl_book__uslugi/pl_uslugi__snort.sec">
 <!ENTITY uslugi_cron SYSTEM "pl_book__uslugi/pl_uslugi__cron.sec">
+<!ENTITY uslugi_syslog-ng SYSTEM "pl_book__uslugi/pl_uslugi__syslog-ng.sec">
 <!ENTITY uslugi_jabber2 SYSTEM "pl_book__uslugi/pl_uslugi__jabber2.sec">
 <!ENTITY x SYSTEM "pl_book__x/pl_x.chp">
 <!ENTITY x_xserver SYSTEM "pl_book__x/pl_x__okienka.sec">

Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi.chp
==============================================================================
--- PLD-doc/book/pl_book__uslugi/pl_uslugi.chp	(original)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi.chp	Sat Apr  9 18:40:52 2005
@@ -18,4 +18,5 @@
     &uslugi_proftpd;
     &uslugi_samba;
     &uslugi_snort;
+    &uslugi_syslog-ng;
 </chapter>

Added: PLD-doc/book/pl_book__uslugi/pl_uslugi__syslog-ng.sec
==============================================================================
--- (empty file)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi__syslog-ng.sec	Sat Apr  9 18:40:52 2005
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<section id="uslugi_syslog-ng">
+<title>Syslog-ng</title>
+
+	<section id="uslugi_syslog-ng_wstep">
+		<title>Wstęp</title>
+		<para>
+			W <productname>PLD</productname> domyślnie instalowanym
+			systemem magazynowania zdarzeń systemowych (logów) jest
+			<productname>syslog-ng</productname> (syslog - new
+			generation), zajął on miejsce klasycznego tandemu
+			<productname>syslogd</productname> i
+			<productname>kalogd</productname>. 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.
+		</para>
+		<para>
+			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
+			<productname>syslog-ng</productname>).
+		</para>
+	</section>
+
+	<section id="uslugi_syslog-ng_konfiguracja">
+		<title>Konfiguracja</title>
+		<para>
+			Konfiguracja demona polega na zdefiniowaniu pewnych obiektów,
+			a na następnie połączenie ich ze sobą w reguły. Mamy trzy
+			rodzaje obiektów: źródła, filtry i cele. Źródła wskazują
+			miejsca pochodzenia komunikatów, filtry pozwalają
+			selekcjonować dane, cele zaś wskazują sposób i miejsce magazynowania
+			logów (zwyczajowo jako pliki tekstowe w katalogu
+			<filename>/var/log</filename>). Całą konfigurację umieszczamy
+			w jednym pliku:
+			<filename>/etc/syslog-ng/syslog-ng.conf</filename>.
+		</para>
+
+		<itemizedlist>
+			<listitem>
+				<para>Źródła - definiujemy je następująco:</para>
+				<para><emphasis>source $nazwa { $źródło($opcje); };</emphasis></para>
+				<para>
+najpopularniejsze źródła komunikatów to:
+				<itemizedlist>
+					<listitem>
+						<para>internal - komunikaty demona syslog-ng</para>
+					</listitem>
+					<listitem>
+						<para>tcp - komunikaty od innych komputerów w sieci (TCP)</para>
+					</listitem>
+					<listitem>
+						<para>udp - komunikaty od innych komputerów w sieci (UDP)</para>
+					</listitem>
+					<listitem>
+						<para>pipe - nazwane potoki</para>
+					</listitem>
+					<listitem>
+						<para>unix-stream - gniazda uniksowe</para>
+					</listitem>
+				</itemizedlist>
+					przykłady:	
+	<screen>source src { internal(); };
+source  udp  { udp(); };
+source  tcp  { tcp(ip(192.168.1.5) port(1999) max-connections(20)); };</screen>
+				</para>
+				<para>
+					Pierwszy z przykładów jest źródłem
+					komunikatów 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 oczekuje komunikatów
+					od komputera 192.168.1.5 na porcie 1999 z
+					ograniczeniem do 20 połączeń.
+				</para>
+			</listitem>
+						
+			
+
+			<listitem>
+				<para>Filtry:</para>
+					<para>
+						<emphasis>filter $nazwa	{ $rodzaj($wartość);
+						};</emphasis>
+					</para>
+				
+				<para>
+					rodzaje:
+					<itemizedlist>
+						<listitem>
+							<para>
+								facility - pochodzenie zdarzenia: cron, daemon,  mail, ... - szczegóły w dodatku</para>
+						</listitem>
+						<listitem>
+							<para>level	- priorytet: emerg, alert, crit, ... - szczegóły w dodatku</para>
+						</listitem>
+						<listitem>
+							<para>host - filtrowane po nazwie hosta z użyciem wyrażeni regularnych</para>
+						</listitem>
+						<listitem>
+							<para>program - filtrowane po nazwie programu z użyciem wyrażeni regularnych</para>
+						</listitem>
+					</itemizedlist>
+					przykłady:
+					
+<screen>filter f_emergency { level(emerg); };
+filter f_daemon    { facility(daemon); };
+filter f_foo       { host("foo"); };
+filter f_su_sudo   { program("^su|sudo$"); };</screen>
+
+					Pierwszy przykładowy filtr przepuszcza jedynie
+					powiadomienia o najpoważniejszych błędach.
+					Drugi zdarzenia pochodzące od demonów, trzeci
+					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 - użycie
+					wyrażeń regularnych.
+				</para>
+				<para>
+					W filtrach możemy używać operatorów
+					logicznych (<emphasis>and</emphasis>,
+					<emphasis>or</emphasis>,
+					<emphasis>not</emphasis>):
+
+<screen>filter f_syslog  { not facility(authpriv, cron, lpr, mail, news); };
+filter f_ppp     { facility(daemon) and program(pppd) or program(chat); };</screen>
+				</para>
+			</listitem>
+
+
+			<listitem>
+				<para>
+					Cele - ogólna definicja:</para>
+					<para><emphasis>destination $nazwa { $cel($miejsce); };</emphasis>
+				</para>
+				<para>
+najpopularniejsze cele:
+				<itemizedlist>
+					<listitem><para>file - plik tekstowy / urządzenie znakowe (/dev/)</para>
+					</listitem>
+					<listitem>
+						<para>usertty - ekran terminala wskazanego użytkownika</para>
+					</listitem>
+					<listitem>
+						<para>tcp - komunikaty do loghosta (TCP)</para>
+					</listitem>
+					<listitem>
+						<para>udp - komunikaty do loghosta (UDP)</para>
+					</listitem>
+				</itemizedlist>
+przykłady:
+<screen>destination kernel        { file("/var/log/kernel"); };		
+destination  console_all  { file("/dev/tty12"); };		
+destination  root         { usertty("root"); };			
+destination  loghost      { udp("10.0.0.1"); };</screen>
+
+
+					W pierwszym przykładnie komunikaty są kierowane
+					do pliku <filename>/var/log/kernel</filename>, w
+					drugim będą wyświetlane na dwunastym
+					wirtualnym terminalu. Trzeci cel spowoduje
+					wyświetlanie komunikatu 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).
+				</para>
+			</listitem>
+
+
+
+
+			<listitem>
+				<para>
+					Regułki - przykłady budowania:</para>
+<para><emphasis>log { source($źródło); destination($cel); };</emphasis></para>
+<para><emphasis>log { source($źródło); filter($filtr1); filter($filtr2); destination($cel); };</emphasis></para>
+<para>
+np.:
+<screen>
+log { source(src);  destination(console_all); };
+log { source(src);  filter(f_news); filter(p_crit);  destination(uucp); };</screen>
+</para>
+			</listitem>
+		</itemizedlist>
+		<para>
+			Po zakończonej konfiguracji demon musi zostać ponownie uruchomiony:
+			<screen># service syslog-ng reload</screen>
+		</para>
+	</section>
+
+
+
+
+
+	<section id="uslugi_syslog-ng_uwagi">
+		<title>Uwagi</title>
+		<itemizedlist>
+			<listitem>
+				<para>
+					Syslog-ng posiada w swoim pliku konfiguracji
+					sporo przykładowych obiektów i regułek -
+					gotowych do wykorzystania w naszych
+					zastosowaniach.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Podobnie jak poprzednik nie kontroluje
+					objętości logów, tak więc nie można zapomnieć o
+					programie rotującym np.
+					<productname>logrotate</productname>.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					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).
+				</para>
+			</listitem>
+		</itemizedlist>
+	</section>
+
+
+
+
+	<section id="uslugi_syslog-ng_dodatek">
+		<title>Dodatek</title>
+		<para>
+			System operacyjny posiada wewnętrzny, niezależny od
+			demona logów, schemat klasyfikowania zdarzeń, dzielą
+			się one na dwie grupy:
+		</para>
+		<para>Pochodzenie komunikatów (facility):</para>
+		<table frame='all'>
+		<title></title>
+			<tgroup cols='' align='center' colsep='1' rowsep='1'>
+
+				<thead>
+					<row>
+						<entry>Nazwa</entry>
+						<entry>Opis</entry>
+					</row>
+				</thead>
+		
+				<tbody>
+					<row>
+						<entry>user</entry>
+						<entry>różnorodne programy zwykłych użytkowników</entry>
+					</row>
+					<row>
+						<entry>mail</entry>
+						<entry>komunikaty podsystemu poczty elektronicznej</entry>
+					</row>
+					<row>
+						<entry>daemon</entry>
+						<entry>różnorodne demony systemowe</entry>
+					</row>
+					<row>
+						<entry>auth, authpriv</entry>
+						<entry>bezpieczeństwo (autoryzacja użytkowników)</entry>
+					</row>
+					<row>
+						<entry>syslog</entry>
+						<entry>syslog</entry>
+					</row>
+					<row>
+						<entry>lpr</entry>
+						<entry>drukarka</entry>
+					</row>
+					<row>
+						<entry>news</entry>
+						<entry>system grup dyskusyjnych (Usenet)</entry>
+					</row>
+					<row>
+						<entry>uucp</entry>
+						<entry>podsystem UUCP</entry>
+					</row>
+					<row>
+						<entry>cron</entry>
+						<entry>demony zegarowe: AT, CRON</entry>
+					</row>
+					<row>
+						<entry>ftp</entry>
+						<entry>serwer FTP</entry>
+					</row>
+				</tbody>
+
+			</tgroup>
+		</table>
+		<para>Priorytety (level):</para>
+		<table frame='all'>
+		<title></title>
+			<tgroup cols='' align='center' colsep='1' rowsep='1'>
+
+				<thead>
+					<row>
+						<entry>Nazwa</entry>
+						<entry>Opis</entry>
+					</row>
+				</thead>
+		
+				<tbody>
+					<row>
+						<entry>emerg</entry>
+						<entry>system już nie nadaje się do użytku</entry>
+					</row>
+					<row>
+						<entry>alert</entry>
+						<entry>poważna awaria - należy podjąć natychmiastową akcję</entry>
+					</row>
+					<row>
+						<entry>crit</entry>
+						<entry>zdarzenie krytyczne</entry>
+					</row>
+					<row>
+						<entry>err</entry>
+						<entry>błędy</entry>
+					</row>
+					<row>
+						<entry>warning</entry>
+						<entry>ostrzeżenia</entry>
+					</row>
+					<row>
+						<entry>notice</entry>
+						<entry>ważne zdarzenia</entry>
+					</row>
+					<row>
+						<entry>info</entry>
+						<entry>informacje</entry>
+					</row>
+					<row>
+						<entry>debug</entry>
+						<entry>dodatkowe informacje - przydatne przy odpluskwianiu</entry>
+					</row>
+				</tbody>
+
+			</tgroup>
+		</table>
+	</section>
+
+</section>




Więcej informacji o liście dyskusyjnej pld-doc