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