zdalny serwer logów

Konfiguracja serwerów, usług, itp.
Verdan
Posty: 80
Rejestracja: 06 czerwca 2006, 17:49

Post autor: Verdan »

To może już lepiej zrobić użytek z conntracka, albo z -j LOG ? A w ogóle jeśli mowa o iptables i logowaniu, to najlepszym narzędziem do tego jest specter (tudzież ulogd, acz specter jest nieco bardziej rozwinięty).

Kod: Zaznacz cały

# apt-cache show specter

Description: packet logger for netfilter's ULOG target
 specter is a userspace logging facility for Linux. It uses netfilter
 ULOG target for packets gathering, and then passes them to attached
 plugins. Modularized structure makes specter very flexible and robust.
 It's based on ulogd, but has improved design and wider functionality.
 .
 Plugins:
  - EXEC plugin that executes given commands when specified packet is received
  - HTTP plugin that parses http traffic
  - PWSNIFF plugin that logs plaintext passwords as used with FTP and POP3
  - OPRINT simple output module, dumping specified packets to file
  - Logging plugins that emulate few logging facilities
  - mysql and postgresql extensions available via separate packages
 .
 Homepage: [url]http://joker.linuxstuff.pl/specter/[/url]
Tag: admin::logging, interface::daemon, role::sw:server, security::firewall, use::monitor
Verdan
Posty: 80
Rejestracja: 06 czerwca 2006, 17:49

Post autor: Verdan »

Kilka słów więcej o specterze, bo z Long Desc. pakietu niezbyt wiele można wywnioskować. Korzystając, z tego, że kiedyś miałem napisać o tym na 7thguard albo jakoś dziwnym zrządzeniem losu nie udało się, i został kawałek krótkiego newsa, to zamieszczam go poniżej i polecam zapoznać się z możliwościami spectera na stronie autora :) .

Na pewno część czytelników 7thguard słyszała o uniwersalnym narzędziu służącym
do logowania danych krążących w pakietach jakim jest ulogd[0].
Poniżej w kolejnym odcinku serii ,,Krótko o ... '' prezentujemy rodzimy
odpowiednik ulogd autorstwa Michała Kwiatkowskiego - specter[1].

Specter w znacznej części bazuje na ulogd w wersji 1.02 jednak posiada nieco
ulepszoną strukturę i kilka dodatkowych funkcji które sprawiają, że często bywa
dużo ciekawszym i wydajniejszym rozwiązaniem niż ulogd.

Specter nie potrzebuje dodatkowych patchy na jądro, podobnie jak ulogd,
korzysta z modułu netfiltera[2] ipt_ULOG, ma pluginową budowę i jest wysoce
konfigurowalnym narzędziem.

Nieco więcej o możliwościach spectera - pakiety można wrzucać do baz mySQL
bądź PostgreSQL (w wersji 1.4pre2 zaimplementowano obsługę SSL czego w obecnej
wersji ulogd nie można jeszcze znaleść, chociaż patch czeka w kolejce).
Jest bardzo dużo dostępnych sposobów na logowanie.

Na szczególną uwagę zasługują dwa nowe pluginy, mianowicie specter_EXEC i
specter_HTTP.
Pierwszy z nich jest całkiem sympatyczną nowością - umożliwia wykonanie
dowolnego polecenia w momencie kiedy nasz firewall natknie się na konkretnie
zdefiniowany pakiet. Dzięki temu tworzenie dużych, dynamicznych firewalli nie
jest wielką sztuką, jak również definiowanie innych ciekawych reakcji na
określony ruch w sieci (np. mruganie LEDów na klawiaturze).

Drugim nowym modułem jest specter_HTTP, o tym krótko - jest to parser ruchu
na portach naszego webserwera. Dokumentacji jest na jego temat niestety mało,
komentarzy w specter_HTTP.c również dużo nie znajdziemy.
Obsługiwanych nagłówków jest natomiast całkiem sporo.
Pozostaje mieć nadzieję, że autor uzupełni dokumentację.

Kompletna dokumentacja, z listą modułów znajduje się na stronie[3] projektu.
Migracja z ulogd do spectera nie jest trudna. Z uwagi na to, że istnieje
znaczna różnica w składni pliku konfiguracyjnego, autor spectera załączył prosty
skrypt[4] pozwalający przejść z jednej konfiguracj na drugą.
Kolejnym plusem jest fakt, że możliwe jest jednoczesne użytkowanie obywdu
daemonów (ulogd i specter).

Skrypt do konwersji pliku konfiguracyjnego, jak i mały programik do zapalania
LEDów na klawiaturze dostępne są w katalogu contrib/ w tarballu ze źródłami.

Warto pamiętać, że specter z paczki Debiana chodzi domyślnie na uprawnieniach
zwykłego użytkownika, a nie uprawnieniach administratora, dlatego moduł EXEC
ma bardzo ograniczone możliwości, warto zajżeć do
/usr/share/doc/specter/README.Debian i przeczytać manuale.

[0] http://gnumonks.org/projects/project_details?p_id=1
[1] http://joker.linuxstuff.pl/specter/
[2] http://netfilter.org
[3] http://joker.linuxstuff.pl/specter/docs-4.html
[4] http://joker.linuxstuff.pl/specter/ulogd2specter.pl


Pozdrawiam, Verdan
ufocek
Posty: 33
Rejestracja: 13 lipca 2006, 09:51

Post autor: ufocek »

Witam

To kto mi powie co w tych linijkach jest zle w konfiguracji syslog-ng dla klienta i serwera

klient)
destination d_zdalny { tcp(ip("192.168.1.50"); port(514)); };
i to jest ta linijka wyzej
Parse error reading configuration file, exiting. (line 34)
to samo mam na serwerze a linijka wyglada tak
source s_tcp { tcp(ip("192.168.1.50"); port(514) ;) ; };
dodi
Beginner
Posty: 137
Rejestracja: 24 maja 2006, 19:00

Post autor: dodi »

Tak spróbuj jak napisałem poniżej, tak na marginesie jak piszesz regułki w jednej linii to ciężko dojść co jest nie tak. Regułkę masz w klamrach więc dziel ją na linie i wtedy łatwo dojść, w którym miejscu jest błąd.

Kod: Zaznacz cały

destination log_server { tcp("10.1.2.3" port(10514)); };
Pozdrawiam.
kgb
Posty: 8
Rejestracja: 26 czerwca 2006, 10:46
Lokalizacja: /home/Mielec

Post autor: kgb »

Zrobiłem to w ten sposób:

Kod: Zaznacz cały

iptables -I FORWARD -o eth4 -s 10.10.0.0/16 -d ! 10.0.0.0/8 -p tcp --syn -j LOG --log-prefix "SYN-OUT: " --log-level 7
gdzie: adresy 10.10.x.x to adresy użytkowników LAN'u.
Następnie syslog-ng przesyła logowane informacje na serwer logów.
ODPOWIEDZ