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.