Co to jest local6 (i wszystkie inne lokalne #) funkcje w syslog?

44

Co rozumiem

Na serwerach * nix konfigurujemy wysyłanie dzienników za pomocą facility.severity, gdzie facilityjest nazwa (nazwijmy to) „komponentu” systemu, takiego jak jądro, uwierzytelnianie i tak dalej; i severityjest „poziomem” każdego z dzienników rejestrowanych przez narzędzie, takich jak dzienniki info(informacyjne), crit(krytyczne).

Tak więc, jeśli chcę wysłać krytyczne dzienniki jądra, użyję kern.crit.

Połączenie łatwości i ciężkości jest znane jako priorytet, na przykład ...

  • Priority = kern.crit
  • obiekt = jądro
  • dotkliwość = kryt

Pytanie

Są „wyposażenie” nazywa local0się local7.

Czym na świecie są te local#obiekty? Pytam konkretnie o to local6, ponieważ zwykle jest to najczęściej spotykane podczas wyszukiwania.

Moje pytanie jest tak naprawdę, ponieważ konfiguruję Snorta (SourceFire Intrusion Sensor) do wysyłania dzienników, więc chciałem wiedzieć, z którego facilityz nich korzystać. Moje pytanie nie jest jednak specyficzne dla Snorta, ponieważ local#urządzenia są wszędzie; na przykład w Cisco i IBM WebSphere Application Server.

Badania

  • RFC3164, w którym zdefiniowano protokół syslog, mówi tylko:

    local6 - local use 6
    

    Co tak naprawdę tego nie opisuje, w przeciwieństwie do:

    auth   - security/authorization messages
    
  • W Ubuntu man syslogpokazuje:

       LOG_LOCAL0 do LOG_LOCAL7
                      zarezerwowane do użytku lokalnego
    

    Również niejasne.

Alaa Ali
źródło

Odpowiedzi:

31

Ogólne informacje

Obiekty local0na local7to „niestandardowe” niewykorzystane linie że syslog zapewnia użytkownikowi. Jeśli programista utworzy aplikację i chce, aby logowała się do syslog lub jeśli chcesz przekierować dane wyjściowe do syslog (na przykład dzienniki Apache), możesz wysłać je do dowolnego z local#obiektów. Następnie możesz użyć /etc/syslog.conf(lub /etc/rsyslog.conf), aby zapisać dzienniki wysyłane do tego local#pliku do pliku lub wysłać go na zdalny serwer.

Odpowiedz na moje pytanie

Zadałem to pytanie, ponieważ chciałem wysłać dzienniki na zewnętrzny serwer, więc chciałem wiedzieć, który wybrać, a nie „zapisywać dzienniki w local#obiekcie”. Musiałem wrócić do dokumentacji Snorta, aby dowiedzieć się, co piszą do local#obiektów.

Alaa Ali
źródło
7

Local#obiekty są przeznaczone do użytku lokalnego i nie ma zdefiniowanego standardu (takiego jak RFC), który jest używany przez daną aplikację. Możesz więc wybrać cokolwiek chcesz. Oczywiście, niektóre aplikacje i ich programiści zgodzili się na użycie określonego obiektu, ale nie jest to oficjalny standard (jak sudo - LOCAL2, Snort - LOCAL5, ...).

dsmsk80
źródło
Co masz na myśli „mogę wybrać, co chcę”? Czy wszystkie są takie same? Nie rozumiem ostatniego zdania na temat sudo local2i snort local5; masz na myśli na niektórych urządzeniach, sudowykorzystuje local2i na innych snortjest local5?
Alaa Ali,
Mam na myśli, że możesz wybrać cokolwiek chcesz, od LOCAL0 do LOCAL6. Tak, w niektórych dystrybucjach pamiętam, że sudo domyślnie używało funkcji local2.
dsmsk80,