2007.03_Zaawanowane mechanizmy logowania ruchu w sieci_[Bezpieczenstwo].pdf

(1364 KB) Pobierz
332767887 UNPDF
Bezpieczeństwo
Zaawanowane mechanizmy logowania ruchu w sieci
mechanizmy logowania
ruchu w sieci
Radoslaw Podedworny
W świecie informatycznym istnieje szereg “dogmatów”, pod którymi podpisuje się większość
użytkowników – bez względu na poziom wiedzy czy jedyny słuszny system operacyjny, to ten, którego
używają. W dobie sieci komputerowych, zarówno tych lokalnych jak i globalnej Internet jest jedną
z takich prawd. To sprawnie działająca ściana ogniowa. Czasami jednak informacja o tym, że działa
staje się niewystarczająca.
U żytkownik chce wiedzieć jak działa, co zo-
Aby tego dokonać należy wykonać następujące punkty:
stało zablokowane, co puszczone, z jakich
adresów IP i na jaki port nastąpiło nieauto-
ryzowane połączenie (lub jego próba). Infor-
macje te oczywiście można logować w standardowy spo-
sób (gromadzić w pliku tekstowym), jednak metoda ta sta-
je się mało wydajna, zwłaszcza w chwili, gdy danych przy-
bywa, a my chcemy mieć do nich szybki dostęp. Do pro-
fesjonalnego przechowywania informacji służą różnego
rodzaju serwery baz danych, z drugiej strony logi ściany
ogniowej są właśnie takową informacją. Idąc tym tropem,
warto by było połączyć te dwa mechanizmy i zacząć prze-
chowywać informację nie w plikach tekstowych, a w bazie
danych. Do tego celu został stworzony ulogd.
Co nas czeka:
Ulog jest ciekawą aplikacją, nie tylko ze względu na
swoje działanie, ale także i na proces instalacji. Dla po-
prawnego uruchomienia uloga niezbędne będą:
• rekompilacja kernela oraz iptables
• instalacja nowego kernela oraz przekompilowanego
uprzednio iptables
• koniguracja serwera baz danych
• kompilacja, instalacja i koniguracja demona ulogd
• wykonanie odpowiednich wpisów w regułach ściany
ogniowej
No cóż, wydaje się to trochę trudniejsze niż klasyczne
zciągniecie źródeł, rozpakowanie i wydanie komend: ./
conigure && make && make install. Jednak w większości
nowych dystrybucji standardowo znajdują się już obydwa
moduły (kernela i iptables) tak więc najprawdopodobniej
punkty 1-2 nie będą konieczne.
Wszystkie opisane poniżej kompilacje zostały wyko-
nane na maszynie o następującej koniguracji:
• moduł kernela o nazwie ipt_ULOG.ko
• moduł iptables o nazwie libipt_ULOGD.so
• demon ulogd
• Linux CentOS 4.4
• mysql 4.1.20-1 (pochodzący z oicjalnych binarek Cent-
OS'a)
30
marzec 2007
Zaawanowane
332767887.030.png 332767887.031.png 332767887.032.png
 
Bezpieczeństwo
Zaawanowane mechanizmy logowania ruchu w sieci
• kernel 2.6.19.1 / iptables 1.3.7 (kompilo-
wane ze źródeł)
Tabela 1. Zestawienie pluginów
Lp. Nazwa Typ Opis
1 ulogd_BASE.so interpreter Plugin podstawowy, niezbędny do prawidłowego działania
demona ulogd.
2 ulogd_PWSNIFF.so interpreter Przykładowy plugin do “wyciągania” haseł z nieszyfrowa-
nych sesji FTP oraz POP3
3 ulogd_LOCAL.so interpreter Wirtualny interpreter zapisujący czas logowania pakietu
oraz nazwę hosta
Kompilowanie nie jest warunkiem koniecz-
nym. Można skorzystać z gotowych pakie-
tów jakie z pewnością dostarcza twoja ulu-
biona dystrybucja linuxa.
Przed przystąpieniem do kompilacji
i koniguracji demona ulogd, należy spraw-
dzić czy w systemie znajdują się dwa mo-
duły:
4 ulogd_OPRINT.so output
Plugin zapisujący informacje w postaci par: klucz=wartość.
Informacje zapisywane są w pliku
5 ulogd_LOGEMU.so output
Plugin emulujący cel LOG z iptables. Dane zapisywane są
w pliku
ipt_ULOG.ko
libipt_ULOG.so
6 ulogd_PCAP.so output
Plugin zapisujący dane w formacie łatwym do obróbki przez
inne narzędzia analizujące ruch w sieci (tcpdump, etheral).
Dane zapisywane są w pliku
Pierwszy z nich powstaje podczas kompilacji
kernela, drugi podczas kompilacji iptables.
Przy próbie wprowadzenia regułki od-
wołującej się do demona ulogd, brak pierw-
szego modułu objawia się komunikatem:
7 ulogd_SYSLOG.so output
Plugin zapisujacy dane za pomocą demona syslogd. Dane
zapisywane są w pliku
8 ulogd_MYSQL.so output
Plugin odpowiedzialny za zapisywanie informacji w ba-
zie danych serwera mysql. Domyślna kompilacja demona
ulogd nie posiada tego pluginu – niezbędne jest w czasie
koniguracji podanie opcji --with-mysql
[root@centos ~]# iptables
-A INPUT
-j ULOG --ulog-nlgroup 2
iptables: No chain/target/
match by that name
[root@centos ~]#
9 ulogd_PGSQL.so output
Plugin odpowiedzialny za zapisywanie informacji w bazie
danych serwera postgresql. Domyślna kompilacja demona
ulogd nie posiada tego pluginu – niezbędne jest w czasie
koniguracji podanie opcji --with-postgresql
10 ulogd_SQLITE3.so output
Plugin odpowiedzialny za zapisywanie informacji w bazie
danych serwera SQLITEv3. Domyślna kompilacja demona
ulogd nie posiada tego pluginu – niezbędne jest w czasie
koniguracji podanie opcji --with-sqlite3
Komunikat ten informuje o potrzebie kom-
pilacji kernela linuxa. Moduł odpowiedzial-
ny za pracę demona ULOG znajduje się na
następującej ścieżce koniguratora kompila-
cji kernela:
i powtórnie zainstalować. Można tego doko-
nać za pomocą poniższych komend:
Dec 31 13:41:50 centos test
IN=eth0 OUT= MAC=00:0c:29:
dc:bf:38:00:17:9a:73:94:a7:08:00
SRC=10.0.0.1 DST=10.0.0.5 LEN=68
TOS=00 PREC=0x00 TTL=64 ID=463 DF
PROTO=TCP
SPT=58375 DPT=22 SEQ=3719533378
ACK=3572150669 WINDOW=76 ACK PSH
URGP=0
Dec 31 13:41:50 centos test IN=eth0
OUT= MAC=00:0c:29:dc:bf:38:00:17:9a:
73:94:a7:08:00
SRC=10.0.0.1 DST=10.0.0.5 LEN=100
TOS=00 PREC=0x00 TTL=64 ID=464 DF
PROTO=TCP
SPT=58375 DPT=22 SEQ=3719533394
ACK=3572150669 WINDOW=76 ACK PSH
URGP=0
Dec 31 13:41:50 centos test IN=eth0
OUT= MAC=00:0c:29:dc:bf:38:00:17:9a:
73:94:a7:08:00
SRC=10.0.0.1 DST=10.0.0.5 LEN=116
TOS=00 PREC=0x00 TTL=64 ID=465 DF
PROTO=TCP SPT=58375 DPT=22
SEQ=3719533442 ACK=3572150717
WINDOW=76 ACK PSH URGP=0
Dec 31 13:41:50 centos test IN=eth0
OUT= MAC=00:0c:29:dc:bf:38:00:17:9a:
Networking Networking Options
Network packet ilteringIP:
Netilter Coniguration
make KERNEL_DIR=/sciezka/do/zrodel/
kernela && make install
Gdzie należy zaznaczyć następującą opcję ja-
ko moduł:
Domyślnie moduły iptables zostaną zainsta-
lowane w katalogu /usr/local/lib/iptables
Więcej informacji o kompilacji znajduje
się w pliku INSTALL.
ULOG Target support
ULOG
Przygotowanie do pracy demona ulog
składa się z dwóch etapów: pierwszy z nich
(moduły kernela i iptables) został opisany
powyżej – teraz czas zająć się samym pro-
gramem. Aby demon ulog zaczął popraw-
nie działać, niezbędne jest załadowanie
do pamięci odpowiednich pluginów. Są
one podzielone na dwie grupy (interpre-
ter plugins i output plugins), większość
z nich jest opcjonalna, wszystkie są łado-
wane i konfigurowane za pomoca pliku
ulogd.conf.
Dla przykładu, log wykonany za pomo-
cą modułu LOGEMU wygląda następują-
co (linie zostały połamane za pomocą zna-
ku):
Po kompilacji, plik pojawi się w katalogu z mo-
dułami kernela.
Brak drugiego z wymienionych modu-
łów spowoduje wystąpienie poniższej infor-
macji:
[root@centos ]# iptables
-A INPUT -j ULOG --ulog-nlgroup 2
iptables v1.3.7: Unknown arg
`--ulog-nlgroup'
Try `iptables -h' or 'iptables
--help' for more information.
[root@centos ]#
W tym wypadku należy zaopatrzyć się w naj-
nowsze źródła iptables,przekompilować je
www.lpmagazine.org
31
332767887.001.png 332767887.002.png 332767887.003.png 332767887.004.png 332767887.005.png 332767887.006.png 332767887.007.png 332767887.008.png 332767887.009.png 332767887.010.png
 
Bezpieczeństwo
Zaawanowane mechanizmy logowania ruchu w sieci
73:94:a7:08:00
SRC=10.0.0.1 DST=10.0.0.5
LEN=95 TOS=00 PREC=0xC0
TTL=64 ID=9324 PROTO=ICMP
TYPE=3 CODE=3
Dec 31 13:41:50 centos test
IN=eth0 OUT= MAC=00:0c:29:dc:
bf:38:00:17:9a:73:94:a7:08:00
SRC=10.0.0.1 DST=10.0.0.5
LEN=95 TOS=00 PREC=0xC0
TTL=64 ID=9325 PROTO=ICMP
TYPE=3 CODE=3
Tabela 2. Zapis danych modułu OPRINT
===>PACKET BOUNDARY
pwsniff.user=radek
tcp.res2=0
tcp.res1=0
tcp.in=0
tcp.syn=0
tcp.rst=0
tcp.psh=1
tcp.ack=1
tcp.urg=0
tcp.window=46
tcp.reserved=0
tcp.offset=0
tcp.ackseq=2357811418
tcp.seq=2354752657
tcp.dport=21
tcp.sport=44545
ip.fragoff=16384
ip.id=64431
ip.csum=10995
ip.ihl=5
ip.totlen=64
ip.ttl=64
ip.tos=16
ip.protocol=6
ip.daddr=10.0.0.5
ip.saddr=10.0.0.1
oob.out=
oob.in=eth0
oob.mark=0
oob.time.usec=303128
oob.time.sec=1168087309
oob.preix=
raw.pktlen=64
raw.pkt=raw.mac=00:0c:29:dc:bf:38:00:17:9a:
73:94:a7:08:00
===>PACKET BOUNDARY
pwsniff.pass=tajne
tcp.res2=0
tcp.res1=0
tcp.in=0
tcp.syn=0
tcp.rst=0
tcp.psh=1
tcp.ack=1
tcp.urg=0
tcp.window=46
tcp.reserved=0
tcp.offset=0
tcp.ackseq=2357811452
tcp.seq=2354752669
tcp.dport=21
tcp.sport=44545
ip.fragoff=16384
ip.id=64433
ip.csum=10993
ip.ihl=5
ip.totlen=64
ip.ttl=64
ip.tos=16
ip.protocol=6
ip.daddr=10.0.0.5
ip.saddr=10.0.0.1
oob.out=
oob.in=eth0
oob.mark=0
oob.time.usec=754549
oob.time.sec=1168087311
oob.preix=
raw.pktlen=64
raw.pkt=raw.mac=00:0c:29:dc:bf:38:00:17:
9a:73:94:a7:08:00
W powyższym przykładzie logowano sesję
FTP. Dodatkowo włączono moduł sniffują-
cy, który zalogował nazwę użytkownika oraz
hasło (radek/tajne).
W tym miejscu warto pamiętać o pew-
nej zasadzie budowania pliku koniguracyj-
nego ulogd.conf: w pierwszej kolejności na-
stępuje deinicja modułów, które będą łado-
wane wraz ze startem programu a dopiero
w dalszej części pliku znajdują się sekcje kon-
igurujące.
Posiadając wiedzę teoretyczną o działa-
niu demona ulogd, można przystąpić do je-
go instalacji. W chwili powstawania niniej-
szego opracowania najnowszą stabilną wer-
sją była 1 .24 do pobrania np. z tej lokalizacji:
http://freshmeat.net/projects/ulogd/
W niniejszej koniguracji używane będą
trzy pluginy: BASE, MYSQL oraz PWSNIFF.
Koniguracja i kompilacja demona będzie
wyglądać następująco:
./conigure --with-mysql
–with-mysql-log-ip-as-string
&& make && make install
Powyższa linia skonigurowała demona ulogd
tak, aby zostałe skompilowany ze wsparciem
dla współpracy z bazą danych mysql. Dodat-
kowo zostało wskazane, iż adresy IP mają być
w bazie logowane nie w formie liczby ale łań-
cucha znaków. Dzięki temu wyniki zapisywa-
ne w bazie będą przedstawione w czytelnej
formie.
Po poprawnej kompilacji demon ulogd
powinien zainstalować się w systemie. Jeśli
nie podane zostało inaczej plik wykonywal-
ny powinien znajdować się w katalogu /usr/
local/sbin/
W katalogu źródeł znajduje się przykła-
dowy plik koniguracyjny ulogd.conf. Nale-
ży go przenieść do katalogu /etc – tam do-
myślnie demon będzie go szukał podczas
startu.
W katalogu źródeł ulogd znajduje się
również plik ulogd.init, za pomocą które-
go można ustawić, aby usługa była aktyw-
na razem ze startem systemu. Do tego celu
należy:
Zanim demon zostanie uruchomiony za po-
mocą polecenia service należy wyedytować
plik /etc/init.d/ulogd i sprawdzić na jakiej
ścieżce skrypt będzie szukał pliku wykonywal-
nego. Standardowo w skrypcie jest to /usr/
sbin/ulogd a jak napisano powyżej domyśl-
nie demon zainstalował się w /usr/local/sbin.
Należy zmienić tą scieżkę w skrypcie /etc/
init.d/ulogd, w przeciwnym razie dostaniemy
komunikat o niemożliwości znalezienia pliku.
Czas na pierwszą próbę działania demo-
na ulogd. Polegać ona będzie na logowaniu
danych do pliku za pomocą modułu LOGE-
MU i loogowana bedzie sesja ssh. W pierw-
szej kolejności należy stworzyć i załadować
odpowiednią regułę iptables:
• przekopiować ten plik do katalogu /etc/
init.d (dodatkowo zmienić mu nazwę na
ulogd)
• wykonać w tym katalogu polecenie: chk-
conig --add ulogd
• sprawdzić za pomocą polecenia chkcon-
ig --list ulogd czy demon został pomy-
slnie skonigurowany. Wynik działania
powyższej komenty powinien wyglądać
następująco:
ulogd 0:wyłączone
1:wyłączone
2:wyłączone
3:włączone
4:włączone
5:włączone
6:wyłączone
iptables -I INPUT 1 -p tcp
--dport 22 -j ULOG
--ulog-nlgroup 1
--ulog_preix test1
32
marzec 2007
332767887.011.png 332767887.012.png 332767887.013.png
 
Bezpieczeństwo
Zaawanowane mechanizmy logowania ruchu w sieci
Listing 1. Wydruk zawartości
[ radek @ centos ] $ mysql - u uloguser - p
Enter password :
Welcome to the MySQL monitor . Commands end with ; or \ g .
Your MySQL connection id is 31 to server version : 4 . 1 . 20
Type ' help ; ' or ' \h ' for help . Type ' \c ' to clear the buffer .
mysql > \ r ulogbaza
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with - A
Connection id : 32
Current database : ulogbaza
mysql > select raw_mac , ip_saddr , ip_daddr , tcp_sport , tcp_dport from ulog ;
+-------------------------------------------+----------+----------+-----------+-----------+
| raw_mac | ip_saddr | ip_daddr | tcp_sport | tcp_dport |
+-------------------------------------------+----------+----------+-----------+-----------+
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 53593 | 22 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 48916 | 21 |
| 00 : 0 c : 29 : dc : bf : 38 : 00 : 17 : 9 a : 73 : 94 : a7 : 08 : 00 | 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 53593 | 22 |
+-------------------------------------------+----------+----------+-----------+-----------+
18 rows in set ( 0 . 01 sec )
mysql > select ip_saddr , ip_daddr , ip_protocol , oob_in , tcp_sport , tcp_dport , pwsniff_user , pwsniff_pass from ulog ;
+----------+----------+-------------+--------+-----------+-----------+--------------+--------------+
| ip_saddr | ip_daddr | ip_protocol | oob_in | tcp_sport | tcp_dport | pwsniff_user | pwsniff_pass |
+----------+----------+-------------+--------+-----------+-----------+--------------+--------------+
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 53593 | 22 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | radek | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | tajne |
www.lpmagazine.org
33
332767887.014.png 332767887.015.png 332767887.016.png 332767887.017.png 332767887.018.png 332767887.019.png 332767887.020.png 332767887.021.png 332767887.022.png 332767887.023.png
 
Bezpieczeństwo
Zaawanowane mechanizmy logowania ruchu w sieci
Listing 1. Wydruk zawartości c.d.
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 48916 | 21 | NULL | NULL |
| 10 . 0 . 0 . 1 | 10 . 0 . 0 . 5 | 6 | eth0 | 53593 | 22 | NULL | NULL |
+----------+----------+-------------+--------+-----------+-----------+--------------+--------------+
18 rows in set ( 0 . 00 sec )
mysql > quit
Bye
[ radek @ centos ] $
Uwaga! - poprawne zbudowanie reguł jest
kluczowym warunkiem poprawności dzia-
łania demona ulogd. Jeśli będą one zbyt re-
strykcyjne, nic nie będzie traiać do demo-
na ulogd a tym samym logi będą puste.
Z drugiej jednak strony logowanie całego
ruchu (zwłaszcza na systemach pełniących
rolę routerów) również mija się z celem.
W takim wypadku informacji może być tak
dużo, że przestaną one być czytelne. Tam
gdzie można, należy stosować preix'y (w po-
wyższym przypadku zastosowany został
preix test1). Dobrym pomysłem jest również
logowanie tylko tych pakietów, które ini-
cjują połączenia – np. z podniesioną lagą
SYN.
Kolejnym etapem testu będzie stworzenie
pliku koniguracyjnego o nazwie ulog.test1.
Jego składnia wygląda następująco:
rmem=131071
# parametry bufora odbiorczego
bufsize=150000
# parametry bufora odbiorczego
plugin="/usr/local/lib/ulogd/
ulogd_BASE.so"
# załadowanie głównego pluginu
plugin="/usr/local/lib/ulogd/
ulogd_LOGEMU.so"
# załadowanie pluginu LOGEMU [LOGEMU]
# sekcja koniguracji pluginu LOGEMU
ile="/var/log/ulogd.syslogemu"
# plik, w którym zapisany
zostanie wynik
# działania modułu
sync=0
# wskazanie, czy dane w pliku
mają być zapisywane
# synchronicznie (1) czy nie (0)
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:308 registering
interpreter `oob'
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:308 registering
interpreter `ip'
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:308 registering
interpreter `tcp'
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:308 registering
interpreter `icmp'
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:308 registering
interpreter `udp'
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:308 registering
interpreter `ahesp'
Sat Jan 6 14:09:41 2007 <3>
ulogd.c:363 registering
output `syslogemu'
[global]
nlgroup=1
# ta wartość musi być taka sama
jak podana
# powyżej w regule iptables
logile="/var/log/ulogd.log"
# plik logów działania demona
ulogd loglevel=1
# poziom logowania 1-8.
Im mniejszy poziom tym
# logi bardziej szczegółowe
Teraz z linii poleceń należy uruchomić demo-
na ulogd wskazując mu powyższy plik kon-
iguracyjny:
Ulogd działa – teraz należy wygenerować
trochę ruchu na port 22 i patrzeć na wyni-
ki zapisane w pliku /var/log/ulogd.syslogemu .
Ostatnim krokiem jest przeniesienie pliku
koniguracyjnego do katalogu /etc , nadanie
mu nazwy ulogd.conf i uruchomienie ulogd
jako demona za pomocą polecenia:
ulogd -c /sciezka/do/pliku/ulog1.test1
Demon powinien poinformować, jakie mo-
duły zostały zarejestrowane:
Sat Jan 6 14:09:41 2007 <3> ulogd.c:
308 registering interpreter `raw'
service ulogd start
Tabela 3 Parametry
Parametr Opis
--ulog-nlgroup N Parametr wskazujący numer grupy multicastowej do której wysyłane są dane.
Wartość N pdana w regule musi być identyczna z wartością parametru nlgroup
wskazaną w pliku koniguracyjnym ulogd.conf
--ulog cprange N Wskazanie ilośći bajtów jaka ma być kopiowana z każdego pakietu. Wartość
domyślna “0” oznacza kopiowanie całej zawartości
--ulog-qthreshold N Wymuszanie rozładowania kolejki w chwili pojawienia się N+1 pakietu
--ulog-preix STRING Łańcuch tekstowy dodawany do każdego zalogowanego pakietu
Format pliku syslogemu powinien byc po-
dobny do listingu, znajdującego się pod
tabelą opisującą moduły ulogd. Analo-
gicznie, dla otrzymania wyników drugie-
go listingu, plik koniguracyjny powinien
wyglądac następująco:
[global]
nlgroup=1
logile="/var/log/ulogd.log"
34
marzec 2007
332767887.024.png 332767887.025.png 332767887.026.png 332767887.027.png 332767887.028.png 332767887.029.png
 
Zgłoś jeśli naruszono regulamin