This post is available only in polish language
Generalnie sprawa jest dość prosta i sprowadza się do wykonania kilku operacji
1. Konfiguracja Mikrotika
Korzystając z WinBox-a wchodzimy w menu System / Logging / Actions i klikając w ikonę z plusem dodajemy akcję docelową:
Następnie wchodzimy w menu System / Logging / Rules i klikając w ikonę z plusem dodajemy regułę logowania:
Powyższe operacje możemy też wykonać z linii poleceń, wydając następujące komendy:
/system logging action add bsd-syslog=no name={Name} remote={Remote Address}:{Remote Port} src-address={Src. Address} syslog-facility=daemon syslog-severity=auto target=remote
/system logging add action={Action} disabled=no prefix={Prefix} topics=!debug
2. Konfiguracja serwera syslog
Konfiguracja serwera syslog sprowadza się do dopisania następujących lini do pliku /etc/rc.conf
syslogd_enable="YES"
syslogd_flags="-a moja.domena.pl:* -v -v"
oraz do pliku /etc/syslog.conf
+moja.domena.pl
*.* /var/log/moj.log
Następnie tworzymy plik logu
touch /var/log/moj.log
i restartujemy demona sysloga
/etc/rc.d/syslogd restart
i to wszystko :)
Zamiast nazwy domenowej możemy podać adres IP. Jeśli jednak podajemy domenę, to musi być ona rozwiązywana na adres IP, z którego będą dochodziły pakiety, a ten adres IP musi mieć ustawiony revDNS na tą nazwę domenową. Bez tego nie zadziała, a przynajmniej mi nie chciało. Tak więc jeśli coś się nie zgadza, to należy ustawić odpowiedni IP w polu "Src. Address" w ustawieniach akcji logowania Mikrotika oraz skonfigurować odpowiednio domeny w serwerze DNS (ew. wpisy w pliku /etc/hosts). Druga ważna rzecz to dodanie ":*" po nazwie domeny/IP w pliku /etc/rc.conf w zmiennej syslogd_flags. Bez tego syslogd będzie akceptował jedynie pakiety, które wyszły z portu 514 na urządzeniu źródłowym.
3. Testowanie i rozwiązywanie problemów
Aby przetestować zapis do logu możemy z linii poleceń Mikrotika wydać komendę
Powinno to poskutować pojawieniem się odpowiedniego wpisu w pliku logu na serwerze. Oczywiście bierzemy pod uwagę czy komunikat o ważności "info" załapie się na naszą regułę.
Po stronie serwera możemy sprawdzić czy pakiety docierają wydając polecenie:
tcpdump -np udp and port 514
Jeśli pakiety docierają ale mimo wszystko nie zapisują się w pliku logu, to należy przede wszystkim sprawdzić czy firewall przepuszcza ruch na tym porcie, oraz czy demon sysloga słucha na porcie 514 UDP. Jak sprawdzić to pierwsze odsyłam do manuala firewalla, natomiast nasłuch na porcie możemy sprawdzić wydając polecenie:
powinna pojawić się linia w stylu:
Możemy też sprawdzić czy syslog ma otwarty plik, do którego mają trafiać nasze logi:
Gdy wszystko zawiedzie można uruchomić demona sysloga w trybie debug, dodając flagę "-d" w zmiennej syslogd_flags w pliku /etc/rc.conf i restartując syslogd
To by było na tyle. To oczywiście najprostsza konfiguracja, ale wystarczająca dla większości potrzeb. Więcej informacji na temat konfiguracji sysloga w systemie FreeBSD jest dostępnych na stronie http://www.freebsd.org/doc/handbook/network-syslogd.html . Oprócz sysloga warto też skonfigurować rotowanie logów, żeby zbyt duże pliki nie zapchały nam dysku. Pamiętajcie też, że przesyłanie logów nie jest szyfrowane a mogą one zawierać potencjalnie niebezpieczne informacje.
1. Konfiguracja Mikrotika
Korzystając z WinBox-a wchodzimy w menu System / Logging / Actions i klikając w ikonę z plusem dodajemy akcję docelową:
- Name: dowolna nazwa
- Type: remote
- Remote Address: adres IP naszego serwera syslog
- Remote Port: 514 (jest to domyślny port UDP, na którym działa syslog)
- Src. Address: opcjonalny IP, z którego będą wychodziły pakiety
- BSD Syslog - zostawiamy odznaczone
Następnie wchodzimy w menu System / Logging / Rules i klikając w ikonę z plusem dodajemy regułę logowania:
- Topics: opcjonalnie co ma być logowane (możliwe ustawienie kilku warunków, które mają być spełnione, żeby reguła zadziałała). Proponuję ustawić !debug (wszystko oprócz komunikatów debugujących)
- Prefix: prefix z jakim komunikat ma zostać zapisany do sysloga
- Action: nazwa akcji, którą zdefiniowaliśmy w poprzednim kroku
Powyższe operacje możemy też wykonać z linii poleceń, wydając następujące komendy:
/system logging action add bsd-syslog=no name={Name} remote={Remote Address}:{Remote Port} src-address={Src. Address} syslog-facility=daemon syslog-severity=auto target=remote
/system logging add action={Action} disabled=no prefix={Prefix} topics=!debug
2. Konfiguracja serwera syslog
Konfiguracja serwera syslog sprowadza się do dopisania następujących lini do pliku /etc/rc.conf
syslogd_enable="YES"
syslogd_flags="-a moja.domena.pl:* -v -v"
oraz do pliku /etc/syslog.conf
+moja.domena.pl
*.* /var/log/moj.log
Następnie tworzymy plik logu
touch /var/log/moj.log
i restartujemy demona sysloga
/etc/rc.d/syslogd restart
i to wszystko :)
Zamiast nazwy domenowej możemy podać adres IP. Jeśli jednak podajemy domenę, to musi być ona rozwiązywana na adres IP, z którego będą dochodziły pakiety, a ten adres IP musi mieć ustawiony revDNS na tą nazwę domenową. Bez tego nie zadziała, a przynajmniej mi nie chciało. Tak więc jeśli coś się nie zgadza, to należy ustawić odpowiedni IP w polu "Src. Address" w ustawieniach akcji logowania Mikrotika oraz skonfigurować odpowiednio domeny w serwerze DNS (ew. wpisy w pliku /etc/hosts). Druga ważna rzecz to dodanie ":*" po nazwie domeny/IP w pliku /etc/rc.conf w zmiennej syslogd_flags. Bez tego syslogd będzie akceptował jedynie pakiety, które wyszły z portu 514 na urządzeniu źródłowym.
3. Testowanie i rozwiązywanie problemów
Aby przetestować zapis do logu możemy z linii poleceń Mikrotika wydać komendę
:log info "komunikat"
Po stronie serwera możemy sprawdzić czy pakiety docierają wydając polecenie:
Jeśli pakiety docierają ale mimo wszystko nie zapisują się w pliku logu, to należy przede wszystkim sprawdzić czy firewall przepuszcza ruch na tym porcie, oraz czy demon sysloga słucha na porcie 514 UDP. Jak sprawdzić to pierwsze odsyłam do manuala firewalla, natomiast nasłuch na porcie możemy sprawdzić wydając polecenie:
sockstat -4lu | grep syslogd
powinna pojawić się linia w stylu:
root syslogd 65111 9 udp4 *:514 *:*
Możemy też sprawdzić czy syslog ma otwarty plik, do którego mają trafiać nasze logi:
lsof | grep syslog
Gdy wszystko zawiedzie można uruchomić demona sysloga w trybie debug, dodając flagę "-d" w zmiennej syslogd_flags w pliku /etc/rc.conf i restartując syslogd
To by było na tyle. To oczywiście najprostsza konfiguracja, ale wystarczająca dla większości potrzeb. Więcej informacji na temat konfiguracji sysloga w systemie FreeBSD jest dostępnych na stronie http://www.freebsd.org/doc/handbook/network-syslogd.html . Oprócz sysloga warto też skonfigurować rotowanie logów, żeby zbyt duże pliki nie zapchały nam dysku. Pamiętajcie też, że przesyłanie logów nie jest szyfrowane a mogą one zawierać potencjalnie niebezpieczne informacje.
Brak komentarzy:
Prześlij komentarz