Centralny serwer logów

Po ostanich przeróżnych problemach występujących z naszymi kochanymi ISP i długą drogą do ich naprawy postanowiłem wdrożyć centralny serwer logów. Od pewnego czasu bardzo przekonałem się do FreeBSD jako serwera toteż postanowiłem zaprząc go do tego celu. Od dłuższego czasu na różnych maszynach stosowałem syslog-ng, który do tego celu świetnie się nadaje. Pozostała tylko kwestia odpowiedniego skonfigurowania. Na szczęście okazało się to bardzo proste i jak na razie, co najważniejsze, doskonale się sprawdza.

    Instalacja – rzecz najprostsza

Robimy po prostu: cd /usr/ports/sysutils/syslog-ng && make package clean
Po pomyślnej instalacji trzeba zamienić domyślnego syslogd na nasz nowy syslog-ng – dodajemy w /etc/rc.conf:
syslog_ng_enable="YES"
syslogd_enable="NO"

Póki co jeszcze nie restartujemy tej usługi. Najpierw czas na konfigurację.

    Konfiguracja w routerze Cisco

logging trap debugging
logging facility local6
logging source-interface Loopback0
logging 10.0.0.2

    Konfiguracja syslog-ng

Do tego użyjemy predefiniowanej konfiguracji dostarczanej z syslog-ng:
cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample /usr/local/etc/syslog-ng/syslog-ng.conf
W sekcji zawierającej opisy destination dodajemy własne cele do logowania
destination routers { file("/var/log/routers/$HOST-$YEAR$MONTH$DAY.log" owner(root) group(wheel) perm(0644) dir_perm(0644) create_dirs(yes));};
w sekcji filtrów należy dodać regułę filtrowania
filter f_router1 {host(routerek); };
Oczywiście wpis routerek jest nazwą naszego routera umieszczoną w naszym dnsie lub w /etc/hosts.
W końcowej sekcji pliku pozostaje połączenie miejsca docelowego razem z filtrem co robimy za pomocą poniższych wpisów
log { source(src); filter(f_router1); destination(routerek); flags(final); };
Przy konfiguracji trzeba wziąć pod uwagę że program wczytuje konfigurację od góry do dołu. Podanie powyższej linijki na początku w połączeniu z opcją final spowoduje że tylko to dopasowanie będzie dokonane i żaden inny filtr nie będzie już potem użyty.
Na koniec pozostało tylko zatrzymanie starego syslogd i uruchomienie syslog-ng
/etc/rc.d/syslogd stop && /usr/local/etc/rc.d/syslog-ng start

Ważne do zapamiętania: po każdej zmianie w syslog-ng.conf przydałoby się go zrestartować żeby zmiany zostały uwzględnione.

This entry was posted in FreeBSD. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>