Syslog – narzędzie do zarządzania logami

Informacje podstawowe

Syslog służy do zarządzania komunikatami wysyłanymi przez jądro systemu jak również przez programy użytkowe, które zdecydują się korzystać z tej metody (przeważnie są to mniejsze programy, większe robią to samodzielnie).

Plikiem konfiguracyjnym dla sysloga jest /etc/syslog.conf. Jego budowa jest dość prosta. Standardowo hash (‚#’) oznacza komentarz. Wpisy właściwe składają się z par: właściwości (facility) i priorytetu oraz przeznaczenia komunikatu.

Przykład:

daemon.err                                                      -/var/log/daemons/errors

Właściwości (facility) mogą przyjąć jedną z wartości:

  • auth – wszystko związane z autoryzacją (np.: logowania użytkowników),
  • authpriv
  • cron – wiadomości wysyłane przez demona cron odpowiedzialnego za cykliczne wykonywanie prac,
  • daemon – wiadomości od demonów (programów działających ciągle i w tle),
  • kern – komunikaty jądra systemu,
  • lpr – komunikaty systemu wydruku,
  • mail – komunikaty systemu pocztowego,
  • mark
  • news – programy serwera news,
  • security – to samo co auth,
  • syslog – komunikaty samego sysloga,
  • user
  • uucp
  • local0 – local7 – lokalne wiadomości o poziomie między 0 a 7

Priorytet wiadomości może przyjmować jedną z wartości

  • debug
  • info
  • notice
  • warning
  • warn (same as warning)
  • err
  • error (same as err)
  • crit
  • alert
  • emerg
  • panic (same as emerg)

Wartości error, warn i panic są przestarzałe i nie powinny być już używane.

Celami mogą być:

  • plik (np. /var/log/messages)
  • konkretna konsola (np. /dev/ttyS12)
  • aktualna konsola, na której pracuje użytkownik ( /dev/console)
  • inny komputer (np. @10.9.91.12)

Przykłady zastosowania dyrektyw:

kern.*                       /var/adm/kernel
kern.crit @finlandia
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info

Praca sysloga w architekturze klient – serwer

Uruchomienie klienta wysyłającego logi

W celu zmuszenia klienta do wysyłania danych na inny serwer należy podać jako cel nazwę komputera poprzedzoną małpą.

kern.crit                    @finlandia

Uruchomienie serwera zbierającego logi

Aby Syslog ma zbierać logi z zewnętrznych serwerów należy uruchomić go z parametrem -r. W przypadku dystrybucji Mandriva należy dodać parametr -r do opcji SYSLOGD_OPTIONS w pliku /etc/sysconfig/syslog.

SYSLOGD_OPTIONS="-m 0 -r"

W efekcie syslog podczepi się pod port udp numer 514 i będzie oczekiwał na połączenia.

[root@localhost ziutus2]# netstat -nlpu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:514 0.0.0.0:* 2111/syslogd

Bezpieczeństwo rozwiązania

Rozwiązanie to nie jest zbyt bezpieczne, gdyż połączenie nie jest szyfrowane a protokół udp nie zwraca informacji czy komunikat dotarł.

Wysyłanie komunikatów do programu Syslog-ng

Program syslog-ng ma możliwość odbierana komunikatów z tradycyjnego sysloga. Daje nam to możliwość lepszego zarządzania logami na serwerze logów (główna zaleta stosowania sysloga-ng). Więcej o tej możliwości dowiesz się z tematu poświęconemu syslogowi-ng.

Dodaj komentarz