You are on page 1of 36

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

Serwery internetowe
Red Hat Linux
Autorzy: Paul G. Sery, Jay Beale
Tumaczenie: Rafa Szpoton (rozdz. 1 - 9, 19, dod. A - C),
Marek Ptlicki (rozdz. 10 - 18)
ISBN: 83-7361-415-X
Tytu oryginau: Red Hat Linux Internet Server
Format: B5, stron: 536

TWJ KOSZYK
DODAJ DO KOSZYKA

Niniejsza ksika zostaa zrecenzowana oraz zaakceptowana przez zesp ekspertw


z firmy Red Hat. Zawiera ona informacje niezbdne do poprawnej konfiguracji serwerw
internetowych dziaajcych pod kontrol Linuksa, jak rwnie zarzdzania nimi.

CENNIK I INFORMACJE

Eksperci od systemu Red Hat Linux: Paul Sery oraz Jay Beale rozpoczynaj od podstaw
istotnych informacji na temat zagadnie sieciowych, pocze z sieci Internet,
zapr sieciowych. Nastpnie w sposb bardziej szczegowy przedstawiaj sposb
konfigurowania usug sieciowych oraz internetowych, poczwszy od poczenia z baz
danych, tworzenia pocze bezpiecznych i udostpniania mediw strumieniowych.
W dalszej kolejnoci zajmuj si konfiguracj serwerw nazwy domenowej, usug poczty
elektronicznej, serwerw FTP oraz Samba. W kolejnych rozdziaach autorzy powicaj
wiele miejsca zarzdzaniu serwerami, jak rwnie umieszczaj porady dotyczce
utrzymywania zabezpiecze sieci.

ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Ten autoryzowany przewodnik okae si nieocenion pomoc podczas tworzenia


bezpiecznego, wydajnego serwera internetowego opartego na systemie Red Hat.
Autorzy podaj sprawdzone sposoby implementacji serwerw internetowych opartych na
systemie Red Hat Linux.
Konfiguracja sieci komputerowej w jednej z dwch przedstawionych topologii
Ustanowienie poczenia z sieci Internet za pomoc modemu kablowego lub DSL
Tworzenie zapory sieciowej dokonujcej filtrowania pakietw IP z uwzgldnieniem
ich stanu
Konfiguracja serwera WWW Apache 2 oraz serwera strumieniowych danych audio
Poczenie z baz danych SQL z poziomu serwera WWW oraz tworzenie
bezpiecznych pocze SSL
Tworzenie serwerw DNS, SMTP, FTP oraz Samba
Automatyzacja tworzenia kopii bezpieczestwa poprzez sie komputerow
Zabezpieczanie serwerw i wykrywanie wama
O autorach:
Paul G. Sery pracuje dla Narodowego laboratorium Sandia w Albuquerque, w stanie
Nowy Meksyk, w ktrym zajmuje si projektowaniem sieci oraz zarzdzaniem nimi.
Jay Beale jest zaoycielem oraz przewodniczcym firmy konsultingowej JJB Security
Consulting, jak rwnie gwnym programist projektu Bastille Linux, ktry ma by
uywany do lepszego zabezpieczania systemw Linux oraz HP-UX. Czsto wykada
na konferencjach powiconych bezpieczestwu systemw.

Spis treci
O Autorach ...................................................................................... 13
Przedmowa...................................................................................... 15

Cz I

Tworzenie sieci komputerowej w oparciu o system Linux.... 19

Rozdzia 1. Przykady sieci komputerowych ........................................................ 21


Przykady sieci komputerowych .......................................................................................22
Bezporednie poczenie z sieci internetow (DCI) .................................................22
Poczenie z sieci internetow za porednictwem strefy zdemilitaryzowanej (DMZI)....23
Opis funkcji serwera..........................................................................................................25
Podstawy konfiguracji sieci DCI ................................................................................26
Podstawy konfiguracji DMZI .....................................................................................28
Dodawanie podsieci do obu przykadowych sieci komputerowych .................................29
Podsumowanie ..................................................................................................................30

Rozdzia 2. Konfiguracja usug sieciowych w systemie Red Hat .......................... 33


Podstawy protokou internetowego IP ..............................................................................34
Usugi sieciowe a model OSI......................................................................................34
Podstawy protokow warstwy transportowej ............................................................35
Podstawy protokow warstwy sieci (przekazywanie pakietw IP) .................................36
Dziaanie protokow warstwy cza (ramki w sieci Ethernet).........................................37
Wygld sieci opartej na systemie Red Hat Linux .............................................................38
Wane pliki konfiguracyjne sieci................................................................................38
Wane aplikacje oraz skrypty .....................................................................................42
arp/rarp........................................................................................................................42
ifconfig........................................................................................................................43
netstat ..........................................................................................................................44
nmap............................................................................................................................44
ping .............................................................................................................................44
redhat-config-network-druid/ redhat-config-network-cmd ........................................45
route ............................................................................................................................45
sysctl ...........................................................................................................................46
tcpdump.......................................................................................................................47
modprobe ....................................................................................................................47

Serwery internetowe Red Hat Linux


Konfiguracja jednej lub wikszej liczby kart sieciowych.................................................48
Przykad 1: Konfiguracja pojedynczego interfejsu sieciowego..................................48
Przykad 2: Konfiguracja dwch interfejsw sieciowych (dwie podsieci).................52
Przykad 3: Konfiguracja routera w oparciu o system Red Hat Linux .......................55
Podsumowanie ..................................................................................................................59

Rozdzia 3. Nawizywanie poczenia z sieci Internet przy uyciu cza DSL ....... 61
Podstawy technologii DSL................................................................................................62
Terminologia stosowana w technologii DSL ....................................................................66
Oglne definicje..........................................................................................................66
Rodzaje usug DSL .....................................................................................................70
Tworzenie poczenia z sieci Internet przy uyciu cza DSL........................................71
Uzyskiwanie poczenia internetowego DSL .............................................................71
Fizyczne podczanie modemu DSL ..........................................................................71
Konfiguracja wyposaenia udostpnianego przez dostawc usugi DSL...................73
Podstawowe wskazwki przydatne podczas rozwizywania problemw.........................79
Podsumowanie ..................................................................................................................83

Rozdzia 4. Tworzenie systemu zapory sieciowej................................................. 85


Podstawy systemw zapr sieciowych .............................................................................85
Zapory sieciowe filtrujce pakiety..............................................................................86
Zapory poredniczce .................................................................................................87
Zapory hybrydowe ......................................................................................................88
Podstawy translacji adresw (NAT) ...........................................................................88
Wyjanienie przepywu pakietw w sieci Internet .....................................................89
Podstawy stanowych filtrw pakietw (Netfilter/iptables).........................................91
Tworzenie systemu zapory sieciowej................................................................................97
Ochrona sieci za pomoc prostego zestawu regu ......................................................97
Zacienianie zapory sieciowej przy uyciu acuchw definiowanych
przez uytkownika..................................................................................................104
Wpuszczanie z zewntrz pocze SSH..........................................................................109
Konfiguracja serwera SSH........................................................................................112
Modyfikacja serwera zapory sieciowej (atlas)
w celu umoliwienia korzystania z usugi SSH .....................................................114
Zarzdzanie systemem zapory sieciowej ........................................................................116
Podsumowanie ................................................................................................................117

Rozdzia 5. Rozwizywanie prostych problemw ............................................... 119


Rozwizywanie problemw przy uyciu drzewa decyzyjnego.......................................120
Rozwizywanie problemw sieciowych w systemie Red Hat Linux .............................121
Czy zostao wczone zasilanie?...............................................................................121
Czy nie zostaa uszkodzona fizyczna instalacja sieci komputerowej? .....................122
Czy przecznik sieciowy lub koncentrator jest skonfigurowany
w sposb poprawny? ..............................................................................................122
Czy interfejs sieciowy zosta skonfigurowany w sposb prawidowy?....................122
Rozwizywanie problemw z poczeniem DSL............................................................129
Sprawdzanie konfiguracji modemu DSL (routera) po stronie uytkownika ............130
Sprawdzanie konfiguracji dostawcy usugi DSL......................................................131
Sprawdzanie konfiguracji ISP...................................................................................132
Rozwizywanie problemw z bramk i zapor sieciow................................................132
Sprawdzanie konfiguracji sieciowej w systemie Red Hat Linux..............................133
Sprawdzanie tras bramki oraz przekazywania pakietw IP......................................134
Sprawdzanie skryptw zapory sieciowej ..................................................................136

Spis treci

5
Sprawdzanie moduw jdra oraz znacznikw.........................................................137
Wykorzystywanie narzdzi podsuchujcych ruch w sieci.......................................137
Dodatkowe informacje ....................................................................................................139
Podsumowanie ................................................................................................................139

Cz II

Tworzenie serwera WWW .............................................141

Rozdzia 6. Prosta konfiguracja serwera Apache............................................... 143


Podstawy jzyka HTML oraz protokou HTTP ..............................................................143
Protok HTTP..........................................................................................................143
Jzyk HTML (HTML nie jest protokoem) ..............................................................144
Serwer WWW Apache ....................................................................................................148
Dyrektywy konfiguracyjne serwera Apache.............................................................149
Plik konfiguracyjny serwera Apache ........................................................................149
Tworzenie prostej witryny WWW ..................................................................................158
Instalacja serwera Apache.........................................................................................158
Konfiguracja serwera Apache...................................................................................159
Kontrolowanie dziaania serwera Apache ................................................................162
Uywanie serwera Apache........................................................................................163
Kontrola dostpu do serwera WWW za pomoc plikw .htaccess oraz .htpasswd .....163
Uruchamianie wirtualnego serwera WWW ....................................................................164
Stosowanie protokou SSL z serwerem Apache .............................................................167
Instalacja pakietu mod_ssl ........................................................................................168
Negocjacja SSL oraz certyfikaty ..............................................................................168
Centra autoryzacji .....................................................................................................169
Konfiguracja serwera Apache w celu wykorzystywania protokou HTTP z SSL....169
Tworzenie certyfikatw podpisanych przez CA .............................................................170
Rozwizywanie problemw ............................................................................................171
Sprawdzanie systemowych plikw dziennika systemu Linux..................................172
Sprawdzanie plikw dziennika serwera Apache.......................................................172
Poczenie lokalne ....................................................................................................173
Sprawdzanie konfiguracji serwera Apache...............................................................173
Jeli mamy tak moliwo, naley uy uproszczonego pliku httpd.conf..............173
Stopniowe dodawanie nowych dyrektyw .................................................................174
Podsumowanie ................................................................................................................174

Rozdzia 7. Tworzenie poczenia z baz danych ............................................... 175


Podstawy jzyka SQL .....................................................................................................175
Instalacja oraz konfiguracja bazy MySQL......................................................................177
Dostp do serwera SQL...................................................................................................178
Tworzenie bazy danych ............................................................................................179
Wykorzystywanie bazy danych MySQL ..................................................................181
Wymiana danych z serwerem SQL przy uyciu skryptw .............................................182
Wywietlanie danych z bazy danych MySQL ..........................................................183
Wstawianie danych do bazy danych MySQL...........................................................186
Modyfikacja danych w bazie danych MySQL..........................................................187
Wykorzystywanie skryptu CGI w celu dostpu do bazy danych SQL
za pomoc przegldarki..........................................................................................190
Zabezpieczanie bazy danych MySQL.............................................................................195
Podsumowanie ................................................................................................................196

Rozdzia 8. Tworzenie prostego serwera multimedialnego ................................. 197


Wprowadzenie do technologii strumieniowej.................................................................197
Fundacja Xiph.org...........................................................................................................198

Serwery internetowe Red Hat Linux


Udostpnianie strumieni danych dwikowych przy uyciu serwera Icecast.................200
Instalacja oraz konfiguracja serwera Icecast.............................................................200
Instalacja oraz konfiguracja rda Ices....................................................................202
Udostpnianie strumieni MP3...................................................................................203
Udostpniane strumieni Ogg Vorbis.........................................................................205
Rozwizywanie problemw ............................................................................................218
Podsumowanie ................................................................................................................220

Cz III Udostpnianie prostych usug internetowych.................221


Rozdzia 9. Tworzenie serwera DNS.................................................................. 223
Podstawy systemu DNS ..................................................................................................223
Domeny.....................................................................................................................224
Strefy.........................................................................................................................224
Autorytatywne serwery nazw ...................................................................................225
Podstawy procesu tumaczenia nazwy przez klienta ................................................226
Analiza prostego dania przetumaczenia nazwy ...................................................227
Rekordy zasobw ............................................................................................................230
Stosowanie rekordu SOA..........................................................................................230
Definiowanie rekordw zasobw strefy ...................................................................232
Instrukcje konfiguracyjne oraz parametry demona bind ..........................................232
Pliki konfiguracyjne /var/named/..............................................................................234
Konfiguracja prostego serwera DNS...............................................................................235
Konfiguracja nadrzdnego serwera nazw .................................................................236
Konfiguracja pomocniczego serwera nazw ..............................................................240
Dodawanie rodkw bezpieczestwa..............................................................................241
Stosowanie list ACL .................................................................................................241
Stosowanie podpisw cyfrowych podczas wymiany stref........................................243
Uruchamianie demona named w rodowisku chroot ................................................244
Uruchamianie oraz zatrzymywanie dziaania serwera nazw ....................................245
Tworzenie wielu plikw stref..........................................................................................246
Konfiguracja serwera rozdzielonej domeny....................................................................248
Konfiguracja serwera nazw dla sieci prywatnej
w konfiguracji rozdzielonej domeny ......................................................................249
Konfiguracja serwera nazw dla sieci DMZ w konfiguracji domeny podzielonej ....251
Rozwizywanie problemw ............................................................................................252
named-checkzone......................................................................................................252
named-checkconf ......................................................................................................252
dig .............................................................................................................................253
host............................................................................................................................253
tcpdump.....................................................................................................................254
Podsumowanie ................................................................................................................254

Rozdzia 10. Konfiguracja serwera pocztowego SMTP......................................... 255


Troch teorii na temat poczty elektronicznej ..................................................................255
Kompatybilno ........................................................................................................256
Wydajno.................................................................................................................257
Wykorzystanie ..........................................................................................................257
Kolejki.............................................................................................................................257
Parametry konfiguracyjne ...............................................................................................257
Skadnia parametrw ................................................................................................258
Wartoci bezporednie ..............................................................................................258
Pliki ...........................................................................................................................258
Bazy danych i tablice ................................................................................................258

Spis treci

7
Obsuga niechcianej poczty.............................................................................................259
Najwaniejsze parametry z pliku main.cf .......................................................................259
queue_directory.........................................................................................................259
command_directory ..................................................................................................259
daemon_directory .....................................................................................................260
mail_owner ...............................................................................................................260
default_privs .............................................................................................................260
myhostname ..............................................................................................................261
mydomain .................................................................................................................261
myorigin....................................................................................................................261
inet_interfaces ...........................................................................................................261
mydestination............................................................................................................262
local_recipient_maps ................................................................................................262
masquerade_domains................................................................................................262
masquerade_exceptions ............................................................................................262
local_transport...........................................................................................................263
alias_maps.................................................................................................................263
alias_database ...........................................................................................................263
home_mailbox...........................................................................................................263
mail_spool_directory ................................................................................................263
mailbox_command....................................................................................................264
mailbox_transport .....................................................................................................264
fallback_transport .....................................................................................................264
luser_relay.................................................................................................................264
smtpd_recipient_limit ...............................................................................................265
smtpd_timeout...........................................................................................................265
mynetworks_style .....................................................................................................265
mynetworks...............................................................................................................266
allow_untrusted_routing ...........................................................................................266
maps_rbl_domains ....................................................................................................266
smtpd_client_restrictions ..........................................................................................266
smtpd_sender_restrictions.........................................................................................267
smtpd_recipient_restrictions .....................................................................................267
smtpd_helo_required.................................................................................................267
smtpd_helo_restrictions ............................................................................................267
smtpd_delay_reject ...................................................................................................268
strict_rfc821 _envelopes ...........................................................................................268
header_checks ...........................................................................................................268
body_checks..............................................................................................................268
message_size_limit ...................................................................................................269
relay_domains ...........................................................................................................269
mynetworks...............................................................................................................269
smtpd_banner............................................................................................................269
local_destination_concurrency_limit........................................................................270
default_destination_concurrency_limit.....................................................................270
debug_peer_list .........................................................................................................270
debug_peer_level ......................................................................................................270
debugger_command..................................................................................................270
disable_vrfy_command.............................................................................................271
Konfiguracja podstawowych plikw...............................................................................271
Konfiguracja pliku master.cf ....................................................................................271
Konfiguracja pliku aliases.........................................................................................271
Konfiguracja pliku virtual.........................................................................................272
Konfiguracja pliku canonical....................................................................................272
Konfiguracja pliku access .........................................................................................272

Serwery internetowe Red Hat Linux


Wykorzystanie polece administracyjnych.....................................................................273
Terminologia serwerw poczty elektronicznej ...............................................................273
Programy typu Mail User Agent...............................................................................274
Skad poczty..............................................................................................................274
Programy typu Mail Transport Agent.......................................................................274
Nagwki poczty .......................................................................................................275
Koperta......................................................................................................................275
Przykadowe konfiguracje...............................................................................................276
Przykad 1: Wysyanie poczty ..................................................................................276
Przykad 2: Przyjmowanie poczty dla rnych domen.............................................276
Przykad 3: Wirtualne domeny w stylu systemu Postfix ..........................................277
Przekazywanie poczty midzy adresami wirtualnymi..............................................278
Przykad 4: Weryfikacja ustawie DNS dla serwera poczty ....................................280
Przykad 5: Przekazywanie caej poczty przez serwer centralny..............................287
Przykad 6: Konfiguracja serwera centralnego .........................................................288
Przykad 7: Minimalizacja iloci niechcianej poczty................................................288
Podstawy systemu spamassassin...............................................................................290
Podsumowanie ................................................................................................................291

Rozdzia 11. FTP ............................................................................................... 293


Podstawy protokou FTP.................................................................................................293
Washington University FTP (WU-FTPD) ......................................................................294
Instalacja WU-FTPD ................................................................................................295
Plik konfiguracyjny /etc/xinetd.d/wu-ftpd ................................................................296
Plik ftpaccess ............................................................................................................298
Plik ftpconversions....................................................................................................302
Konfiguracja serwera FTP trybu rzeczywistego .............................................................303
Konfigurowanie kont gocinnych ...................................................................................303
Konfiguracja kont anonimowych ....................................................................................305
Konfiguracja kont anonimowych..............................................................................305
Konfiguracja moliwoci anonimowego przesyania plikw na serwer...................306
Rozwizywanie problemw z serwerem WU-FTPD ......................................................308
Kontrola na poziomie oglnym ................................................................................309
Problemy z trybem gocinnym .................................................................................311
Problemy z trybem anonimowym.............................................................................313
Podsumowanie ................................................................................................................314

Rozdzia 12. Konfiguracja Samby ....................................................................... 315


Wprowadzenie do Samby................................................................................................315
Skadnia pliku smb.conf............................................................................................317
Parametry pliku smb.conf .........................................................................................317
Struktura pliku smb.conf...........................................................................................318
Przykady konfiguracji Samby ........................................................................................319
Konfiguracja Samby w celu wykorzystania szyfrowanych hase.............................319
Tworzenie zasobw Samby ......................................................................................323
Dostp do macierzystych katalogw uytkownikw................................................323
Uprawnienia Linuksa i Samby..................................................................................324
Wykorzystanie makr Samby .....................................................................................330
Udostpnianie drukarek sieciowych za pomoc Linuksa i Samby...........................331
Narzdzie SWAT ............................................................................................................335
Rozwizywanie problemw ............................................................................................335
Podsumowanie ................................................................................................................336

Spis treci

Cz IV Zarzdzanie serwerami linuksowymi..............................339


Rozdzia 13. Automatyzacja sieciowych kopii zapasowych................................. 341
Wprowadzenie do systemu AMANDA...........................................................................342
Szczegy systemu AMANDA .......................................................................................343
Czci serwerowa i kliencka systemu AMANDA....................................................343
Serwisy sieciowe.......................................................................................................344
Pliki konfiguracyjne..................................................................................................345
Narzdzia systemu AMANDA .................................................................................347
Wykorzystanie systemu AMANDA................................................................................348
Konfiguracja minimalistycznego systemu kopii zapasowych ..................................349
Konfiguracja prostego systemu kopii zapasowych...................................................352
Automatyzacja procesu wykonywania kopii zapasowych........................................357
Rozwizywanie problemw ............................................................................................357
Podsumowanie ................................................................................................................358

Rozdzia 14. Zwikszanie niezawodnoci serwera............................................... 361


Lokalizacja sabych punktw ..........................................................................................361
Wykorzystanie systemu plikw ext3...............................................................................363
Wykorzystanie macierzy RAID ......................................................................................365
RAID programowy ...................................................................................................365
Implementacja programowej macierzy RAID ..........................................................368
Tworzenie klastra o wysokiej dostpnoci......................................................................370
Mechanizm dziaania HA .........................................................................................371
Tryby przejcia obsugi.............................................................................................371
Tworzenie prostego klastra wysokiej dostpnoci na Linuksie................................372
Testowanie systemu Heartbeat .................................................................................374
Podsumowanie ................................................................................................................375

Cz V

Zwikszanie bezpieczestwa ........................................379

Rozdzia 15. Podstawy bezpieczestwa serwerw ............................................... 381


Zrozumienie zagroe .....................................................................................................381
Znaczenie poprawek systemowych.................................................................................382
Identyfikacja napastnikw...............................................................................................384
Kategorie napastnikw..............................................................................................384
Przewidywanie atakw....................................................................................................386
Sposoby obrony...............................................................................................................389
Podsumowanie ................................................................................................................396

Rozdzia 16. Podstawy bezpiecznej administracji systemw................................ 397


Administrator systemu a administrator bezpieczestwa .................................................397
Automatyczna aktualizacja, aty i zagroenia .................................................................398
rodowisko produkcyjne i rozwojowe............................................................................400
Automatyczne instalowanie poprawek............................................................................402
Minimalizacja, standaryzacja i upraszczanie ..................................................................404
Zrozumie minimalizacj..........................................................................................404
Trzy cnoty gwne ....................................................................................................407
Monitorowanie i bezpieczna zdalna administracja .........................................................407
Centralny system zarzdzania .........................................................................................409
Monitorowanie stanu.......................................................................................................410
Podsumowanie ................................................................................................................411

10

Serwery internetowe Red Hat Linux

Rozdzia 17. Wzmacnianie systemu.................................................................... 413


Zrozumie proces wzmacniania systemu........................................................................413
Rczne wzmacnianie systemu...................................................................................415
Blokowanie lub usuwanie niepotrzebnych programw............................................415
Powtrka z procesu uruchamiania Linuksa ..............................................................417
Kontynuacja audytu demona sieciowego..................................................................422
Automatyczne wzmacnianie systemu za pomoc Bastille Linux .............................435
Modu zabezpiecze kont uytkownikw.................................................................435
Modu bezpieczestwa procesu uruchamiania systemu ...........................................436
Konfiguracja ustawie mechanizmu PAM ...............................................................436
Modu deaktywacji demonw...................................................................................436
Modu blokujcy dostp do narzdzi ........................................................................437
Modu uprawnie do plikw.....................................................................................437
Modu dziennikw ....................................................................................................437
Modu wydruku.........................................................................................................438
Modu zabezpieczania inetd lub xinetd.....................................................................438
Modu zabezpieczenia katalogu tymczasowego .......................................................438
Modu Apache...........................................................................................................439
Modu BIND (DNS) .................................................................................................439
Modu FTP ................................................................................................................439
Modu sendmail ........................................................................................................440
Modu zapory sieciowej............................................................................................440
Modu detekcji skanowania portw ..........................................................................440
Podsumowanie ................................................................................................................440

Rozdzia 18. Proste systemy wykrywania wama............................................... 443


Sieciowe i systemowe wykrywanie wama...................................................................443
Okrelenie zakresu odpowiedzialnoci ...........................................................................444
Odpowiedzialno administratora.............................................................................444
Odpowiedzialno oznacza wadz...........................................................................446
Mechanizmy sieciowe .....................................................................................................447
Pakiety.......................................................................................................................447
Adresy IP ..................................................................................................................449
Porty..........................................................................................................................451
ICMP.........................................................................................................................454
UDP...........................................................................................................................454
TCP ...........................................................................................................................454
Rozpoznania i zagroenia .........................................................................................456
Projektowanie defensywnej konfiguracji sieci................................................................459
Filtrowanie na routerach oraz zapory sieciowe ........................................................459
Filtrowanie ingress i egress.......................................................................................460
DMZ..........................................................................................................................460
Hosty bastionowe......................................................................................................460
Dedykowane serwery................................................................................................461
Projektowanie strategii wykrywania wama .................................................................461
Ustalanie regu.................................................................................................................462
Detektory wama nie wykrywaj wama...............................................................463
Pozytywne specyfikacje s ze..................................................................................463
Negatywne specyfikacje nie s lepsze ......................................................................463
Heurystyczne wykrywanie anomalii wity Graal..............................................464
Przykadowy system NIDS Snort...............................................................................464
Opis i historia............................................................................................................464
Przegld funkcji systemu Snort (wybrane opcje wiersza polece)...........................465
Podsumowanie ................................................................................................................467

Spis treci

11

Rozdzia 19. Monitorowanie plikw dziennika oraz reagowanie na zdarzenia ......... 469
Odczytywanie systemowych plikw dziennika ..............................................................469
Rejestrowanie danych w plikach dziennika ....................................................................470
Rejestrowanie danych w plikach dziennika aplikacji ...............................................471
Rejestrowanie danych w plikach dziennika systemu................................................472
Rejestrowanie danych w hybrydowych plikach dziennika.......................................473
Syslog........................................................................................................................474
Wykonywanie akcji wybranych przez selektor...............................................................475
Pola selektorw, jednostki oraz priorytety................................................................475
Miejsca docelowe......................................................................................................477
Wykorzystywanie plikw dziennika ...............................................................................478
Analiza bezporednia ................................................................................................479
Narzdzia przetwarzajce pliki dziennika ................................................................479
egrep..........................................................................................................................480
Tworzenie raportw ..................................................................................................482
Narzdzie monitorujce pliki dziennika ...................................................................485
Zarzdzanie odpowiedziami na zdarzenia.......................................................................486
Najgorsza jest panika ................................................................................................486
Przewidywanie oznacza polityk bezpieczestwa....................................................487
Podsumowanie ................................................................................................................487

Dodatki .......................................................................................489
Dodatek A

Konfiguracja komutowanego poczenia typu dial-up z sieci Internet ...491


Lokalizacja modemu .......................................................................................................491
Nawizywanie poczenia z sieci Internet ..............................................................493

Dodatek B Automatyzacja konfiguracji serwera ............................................... 499


Instalacja systemu przy uyciu programu Kickstart .......................................................500
Tworzenie pliku konfiguracyjnego programu Kickstart .................................................500
Tworzenie dyskietki startowej programu Kickstart ........................................................501
Instalacja przy uyciu programu Kickstart......................................................................503
Tworzenie wasnych pakietw RPM...............................................................................503
Wygld pakietu RPM................................................................................................504
Przykadowy pakiet RPM .........................................................................................504

Dodatek C Stosowanie usugi DHCP ................................................................ 507


Instalacja dhcpd...............................................................................................................507
Konfiguracja stacji roboczej dziaajcej pod kontrol systemu Red Hat Linux
w celu korzystania z usugi DHCP ...............................................................................508
Konfiguracja komputera dziaajcego pod kontrol systemu Windows
w charakterze klienta DHCP ........................................................................................509

Skorowidz...................................................................................... 511

Rozdzia 18.

Proste systemy
wykrywania wama
W niniejszym rozdziale zajmiemy si systemami wykrywania wama (Intrusion
Detection System IDS). System IDS nie wie, kim jest intruz. Taki system ledzi
zdarzenia i warunki zwizane z wrog aktywnoci w komputerze lub sieci. Kto
a konkretnie administrator musi okreli, ktre sytuacje oznaczaj wamanie i upewni si, e IDS bdzie na nie odpowiednio reagowa.
W rzeczywistoci wikszo systemw IDS ma okrelony zestaw domylnych warunkw
wskazujcych, e w systemie dzieje si co niedobrego, lecz kadego dnia pojawiaj
si nowe sytuacje tego typu, wic kto musi uzupenia ustawienia IDS, tak aby reagowa na takie niestandardowe przypadki. Jak si wkrtce przekonamy, administrator
znajduje sytuacje specyficzne dla konkretnej konfiguracji, ktre chciaby uwzgldni
w reakcjach systemu wykrywania, a ktre nie byy przewidziane w standardowej konfiguracji udostpnionej przez dostawc systemu IDS.

Sieciowe i systemowe
wykrywanie wama
Wielu obcych i zych ludzi przyglda si cigle naszym komputerom. By moe spotkae si ju z ich ladami wyzierajcymi z katalogw, w ktrych wprowadzili wasne
poprawki i podmienili narzdzia systemowe na wasne, ktre bardziej im si podobay.
Biznes alarmw antywamaniowych kwitnie najbardziej w okresach, kiedy wamywacze
s bardziej aktywni. Z tego samego powodu wysok popularnoci ciesz si alarmy
antywamaniowe sieci komputerowych, czyli systemy IDS. Wielu sprzedawcw wmusza je tak samo, jak robi to z zaporami sieciowymi sugeruj jakoby byy cudownym
rodkiem rozwizujcym wszelkie problemy z intruzami. Jeli wierzysz fachowcom od
marketingu, powtrzymy to, co mwilimy ju kilkakrotnie: nie ma cudownych rodkw. Naprawd. Zaufaj nam.

444

Cz V Zwikszanie bezpieczestwa

Nie chcemy jednak deprecjonowa znaczenia zapr sieciowych czy systemw IDS.
Zarwno zapory sieciowe jak, i IDS s potrzebne pod warunkiem, e zostay waciwie
zaprojektowane. Nie uzyskamy wikszych korzyci z ich stosowania, jeli ich implementacja nie bdzie poprzedzona dokadn analiz konkretnej sieci i systemw. W tym
rozdziale omwimy oglne koncepcje zwizane z systemami IDS, a nastpnie przedstawimy bardzo ciekawy i darmowy system sieciowego wykrywania wama (NIDS)
o nazwie Snort. Nawiasem mwic, skrt NIDS oznacza Network Intrusion Detection
System, czyli system sieciowego wykrywania wama, natomiast HIDS jest skrtem
od Host Intrusion Detection System, czyli systemu wykrywania wama na poziomie
systemu (systemowy).
Sieciowe systemy IDS ledz zdarzenia w sieci w oczekiwaniu na ataki. Systemowe
IDS dziaaj w monitorowanym systemie w oczekiwaniu na nieautoryzowany dostp,
a nawet na nietypowe zachowanie systemu i uytkownikw. Zalet podejcia sieciowego jest lepsza skalowalno i o wiele wiksza prostota rozwizania. W rezultacie
w wikszoci przypadkw pojcie IDS jest utosamiane z podejciem sieciowym do
tego zagadnienia, czyli z NIDS.
Teoretycznie podejcie systemowe cechuje si wiksz dokadnoci, z mniejszym
prawdopodobiestwem faszywych alarmw, lecz do trudno o dobr implementacj
systemu HIDS opartego o analiz nietypowych zachowa. Najpopularniejsza implementacja systemu HIDS polega na sprawdzaniu integralnoci plikw systemowych.
Program tego typu monitoruje najwaniejsze pliki w systemie pod ktem wprowadzanych zmian. Podejcie to opiera si o stwierdzenie, e wamywacz w celu zwikszenia swoich uprawnie lub zachowania dostpu do systemu na stae z reguy stara si
zmodyfikowa wane konfiguracje w systemie.
W kolejnym podrozdziale zapoznamy si z koncepcj NIDS jako czci planowania
systemu bezpieczestwa. Rozpoczniemy od problemu okrelenia roli, jak chcemy
powierzy podsystemowi NIDS w caym systemie.

Okrelenie zakresu odpowiedzialnoci


Zdecydowalimy si zatem zaimplementowa NIDS w naszej sieci. Jak wspomnielimy, wie si to z koniecznoci przeprowadzenia wstpnej analizy i planowania.
Zanim zajmiemy si wic t najbardziej ekscytujc czci zadania, jak niewtpliwie s ataki sieciowe, musimy odpowiedzie sobie na kilka wanych pyta tak oczywistych, e czsto zapominamy sobie na nie odpowiedzie. Bez odpowiedzi na nie nie
ma sensu dalsze dziaanie w tym kierunku. Pytania te przeanalizujemy w kolejnych
podrozdziaach.

Odpowiedzialno administratora
Ten rozdzia ksiki zajmuje si bezpieczestwem, rozpatrzymy zatem odpowiedzialno
administratora w dziedzinie bezpieczestwa.

Rozdzia 18. Proste systemy wykrywania wama

445

Im wicej zastanawiamy si nad komputerem indywidualnie lub jako czci sieci


tym bardziej dochodzimy do przekonania, e trzeba go chroni lub pilnowa, a raczej
jedno i drugie! Podczas pierwszej sesji kontroli ruchu w sieci administratorzy niezmiennie
daj si zaskoczy iloci odbywajcych si transakcji. Takie samo odczucie towarzyszy im podczas pierwszej kontroli dziennikw na scentralizowanym serwerze dziennikw systemu sieciowego. Uwiadomienie sobie implikacji kadego bitu ruchu sieciowego i kadego wpisu w dziennikach stanowi t atwiejsz czci wikszego zadania.
Prawdziwa praca zaczyna si, gdy musimy kad z tych czci przeanalizowa w powizaniu z innymi zdarzeniami, szczeglnie wtedy gdy wci napywaj nowe informacje i pojawiaj si nowe potencjalne zagroenia systemu.
Jeli chcemy utrzyma kontrol, od samego pocztku musimy narzuci sobie ograniczenia. Musimy okreli ramy odpowiedzialnoci i moliwoci projektowanego systemu
bezpieczestwa, zanim zaczniemy zastanawia si, w jaki sposb ustawi poszczeglne
jego elementy. We wszystkich tych przypadkach musimy zastanowi si, co musimy
chroni, i nakreli zakres naszych wymaga dotyczcych bezpieczestwa.
 Zarzdzanie systemem dla pracodawcy. Jeli dla kogo pracujesz, musisz

wiedzie, czego si od Ciebie oczekuje. Odpowied na t kwesti musi by


ujta na pimie, jak w umowie. Co mam chroni? Te zagadnienia formuuj
zakres odpowiedzialnoci. Kada strategia NIDS (lub pokrewna) musi zawiera
wszystkie elementy bezpieczestwa w okrelonym zakresie odpowiedzialnoci.
Jeli okrelona strategia przynosi korzy innym, to doskonale, lecz przede
wszystkim naley skupi si na realizacji wasnych zada, jeli chcemy
osign jakiekolwiek rezultaty.
 Zarzdzanie systemem we wasnej firmie. Jeli system, ktrym zarzdzasz,

suy Twoim wasnym interesom, musisz okreli swoje oczekiwania


w stosunku do niego. Jeli Twoja firma prowadzi serwisy WWW, nie ma
potrzeby udostpniania serwera IRC (w kadym razie nie na tej samej
maszynie!). Po okreleniu wymaga biznesowych wiemy ju, co musimy
chroni. Po prostu chronimy moliwoci spokojnego prowadzenia interesw.
Ta zasada przekada si bezporednio na ochron okrelonych systemw,
a nawet okrelonych funkcji systemw.
 Zarzdzanie systemem na uytek prywatny. Mona rwnie zarzdza

systemem na wasny uytek lub te w celu udostpnienia go grupce


przyjaci. Dla zabawy. Wtedy chcesz chroni ten system dla siebie i swoich
przyjaci, aby kontynuowa zabaw.
Oczywicie chcemy ledzi wszystkie zagadnienia dotyczce serwerw (lub przynajmniej dotyczce wiadczonych przez nie usug). Chcemy rwnie ledzi inne zagadnienia, na przykad tylko ruch sieciowy skierowany do serwerw w naszej sieci. Jeli
jednak przytrafi si podejrzane pakiety skierowane do serwera lub kilku z nich, nie
mamy pewnoci, czy to byy skany w poszukiwaniu sabych punktw systemu, czy te
mieci w wyniku jakiego bdu sprztowego urzdze sieciowych w drugim kocu
wiata. Jeli jednak monitorujemy cay ruch sieciowy i widzimy, e takie same pakiety
trafiy do wikszej liczby maszyn w sieci w kolejnoci zgodnej z numeracj adresw,
wiemy ju, e mamy do czynienia ze skanem. Bdy sprztowe nie charakteryzuj si
takim uporzdkowaniem.

Cz V Zwikszanie bezpieczestwa

446

Gdy okrelimy zakres ochrony, musimy ustali zakres nadzoru, aby uzyska informacje
wystarczajce do zapewnienia tej ochrony. Naley okreli zakres monitoringu sieciowego.
Zakres monitoringu mgby z powodzeniem obejmowa cay Internet i kady komputer
w Internecie, jak rwnie podsystemy energetyczne, do ktrych podczony jest nasz
system. Oczywicie nie mamy dostpu do tych informacji, dlatego musimy skoncentrowa si na kontroli tych obszarw, ktre moemy kontrolowa. Do tej grupy naley
cay ruch przechodzcy przez monitorowany system (niezalenie od tego, czy ruch jest
skierowany do tego systemu). Mamy dostp do wszystkich dziennikw systemowych,
ktre moe wygenerowa system (niestety nie wszystkie procesy, ktre s w stanie wygenerowa informacje do dziennika, maj domylnie aktywn t funkcj). Czy posiadane informacje s wartociowe? Prawdopodobnie. Czy s wystarczajce? Na pewno nie.
Informacji nigdy nie jest wystarczajco duo. Czy posiadana ilo informacji jest rozsdna z punktu widzenia potrzeb zwizanych z wykonywanymi przez nas zadaniami?
To zaley od wasnej oceny. Nie moemy na nikim wymusi zakresu prowadzonego
monitoringu, kady musi sam to okreli. My moemy jedynie powiedzie, e zakres
monitoringu powinien odpowiada zakresowi wymaga.

Odpowiedzialno oznacza wadz


W poprzednim podrozdziale milczco zaoylimy, e administrator (czytelnik) jest
w stanie podj odpowiednie rodki bezpieczestwa na wszystkich serwerach, ktrymi
zarzdza. Innymi sowy, nikt nie bdzie pociga go do odpowiedzialnoci za zagadnienia wybiegajce poza zakres jego kontroli. W idealnym wiecie nie byoby w ogle
potrzeby podkrelania tego oczywistego faktu. W rzeczywistym jednak uwaamy, e
jest to zagadnienie, ktre warto wyranie podkreli. Jeli administrator uwaa, e pewne
zagadnienia s kluczowe w celu realizacji funkcji bezpieczestwa, lecz nie ma nad nimi
kontroli, powinien natychmiast podj ten temat na pimie.
Notatka subowa stanowi doskonae narzdzie formalne, zwykle wykorzystywane
w celu wyjanienia zagadnie. W naszym przypadku moe by z powodzeniem uyta
jako uprzejme zwrcenie uwagi na to, e kto podj bdne decyzje. Oto przykad
takiej notatki:
Od: Kto
Do: Szef i Szef Szefa
Data: 1 marca 2003r.
Temat: Haso konta root na serwerze baz danych
No to co Ty waciwie robisz?
Jeli z umowy lub zakresu obowizkw nie mona jasno wywnioskowa zakresu odpowiedzialnoci, naley wyegzekwowa taki dokument na pimie. Istnieje tendencja do obwiniania administratorw systemw za wszelkiego rodzaju problemy. Tym bardziej dotyczy to osb odpowiedzialnych
za bezpieczestwo systemw! Naley zatem jasno zdefiniowa odpowiedzialno i wszystkie
strony musz potwierdzi t umow na pimie.

Rozdzia 18. Proste systemy wykrywania wama

447

Niniejsza notatka ma za zadanie udokumentowa wyniki spotkania z 28 lutego


2003r. dotyczcego zagadnie bezpieczestwa gwnego serwera bazy
danych. Po przeanalizowaniu zalece szefa systemu bezpieczestwa
(zob. poprzednia notatka z dnia 30 listopada 2002r.) dotyczcego wymogu
wykorzystania hase na koncie root suby wykorzystujce ten serwer uznay,
i spowoduje to nadmierne komplikacje procesu uwierzytelniania uytkownikw
przewyszajce zalety uzyskane z podniesienia poziomu bezpieczestwa.
Jak wida, notatka ta odwouje si do poprzedniej notatki. Gdy administrator jest osob
zatrudnion w firmie, pozostawianie ladu na papierze na temat wszelkich zdarze jest
kluczowe dla bezpieczestwa wasnej pracy. Jeli administrator pracuje na wasn rk,
rwnie powinien to robi, choby po to, by pniej przeledzi zdarzenia i upewni
si, e waciciel pamita o wszystkim, co powiedzia.
Przed dalsz analiz przygotowujc do wdroenia mechanizmu NIDS przeledmy
mechanizmy sieciowe w Internecie. Czytelnicy dobrze zaznajomieniu z terminologi
sieci TCP/IP mog pomin te rozwaania.

Mechanizmy sieciowe
Niniejszy podrozdzia omawia zagadnienia zwizane z systemami wykrywania wama,
szczeglnie sieciowymi; skupia si na konkretnym rozwizaniu o nazwie Snort. Uzgodnilimy, e do obowizkw administratora naley okrelenie zakresu kontroli zdarze
w sieci w odniesieniu do specyfiki danej instalacji. Czytelnicy, ktrzy posiadaj dobr
orientacj w zakresie zagadnie TCP/IP oraz rodzajw atakw i skanowania sieci, mog
potraktowa ten podrozdzia jak podsumowanie. Pozostali znajd w nim skromne wprowadzenie do grubych ksiek traktujcych o tych tematach, ktrych poznanie jest kluczowe w celu dalszej i skutecznej pracy z mechanizmami typu NIDS.
TCP/IP jest rodzin standardowych protokow sieciowych wykorzystywanych w Internecie (w rzeczywistoci IP jest skrtem od Internet Protocol). Protok sieciowy mona
traktowa jak jzyk, ktrym porozumiewaj si urzdzenia sieciowe podczas przesyania
komunikatw przy uyciu kabli, wiatowodw czy fal radiowych. W sieci mog by
przesyane rwnie i inne rodzaje ruchu, szczeglnie jeli wykorzystywany w niej jest
system Microsoft Windows. Innych protokow uywa rwnie sie Novell. Nie bdziemy jednak wnika w szczegy. Zajmiemy si rodzin protokow TCP/IP, poniewa
to one obsuguj komunikacj w Internecie.

Pakiety
Informacje przesyane w sieci s podzielone na kawaki, nie s przesyane cigym
strumieniem danych. Dziki temu rne transakcje mog regularnie otrzymywa fragmenty czasu w sieci. Najpierw przechodzi jeden z pakietw nadawcy A, nastpnie jeden
od nadawcy B, nastpnie od C, potem znw od A. Waciwie wikszo aktywnoci
odbywa si w trakcie pisania na klawiaturze czy przegldania stron WWW.

Cz V Zwikszanie bezpieczestwa

448

Dane s przesyane w porcjach opakowanych z obydwu stron dodatkowymi informacjami


umoliwiajcymi nawigacj i dostarczanie ich w Internecie. Typ pakietu uzaleniony
jest od przeznaczenia przesyanych danych oraz wymaganego typu transmisji.
System IDS, taki jak Snort, przeglda informacj na temat pakietw, a take dane w nich
zawarte. W rzeczywistoci z samego pakietu mona wycign mnstwo informacji!
Wikszo zapr sieciowych pracuje wycznie w oparciu o informacje na temat pakietu.
Wiele decyzji podejmowanych przez te narzdzia polega wycznie na niewaciwym
wygldzie opakowania, niezalenie od zawartoci pakietu.

Kapsukowanie
Przygldajc si bliej opakowaniu, stwierdzimy, e dane przesyane w sieci raczej nie
s zamykane w jednym pakiecie, lecz z reguy znajduj si w pakiecie, ktry znajduje
si w innym pakiecie, ktry znajduje si w kolejnym rednio wykorzystywane s
cztery warstwy takiego opakowania. Takie warstwowe pakiety mona sobie wyobrazi jako koperty woone jedna w drug, gdy kada z nich zawiera pewne informacje
czciowe, niezbdne w celu dostarczenia zawartych w nich danych. Taka informacja
w zagniedonych warstwach jest czci strategii komunikacyjnej znanej pod nazw
kapsukowania (encapsulation) lub izolacji. Taka strategia komunikacyjna jest niezbdna,
poniewa trasa przesyania danych jest skomplikowana, a my na kadym etapie podry nie chcemy zawiera w danych pakietu wicej informacji, ni to niezbdne. Pamitajmy, e trasa pakietu prowadzi od procesu na jednej maszynie w konkretnej sieci, do
drugiego procesu, najczciej na innej maszynie, niejednokrotnie w zupenie innej sieci.
Pakiet musi przej przez rne sieci na swojej drodze. Zewntrzna koperta zawsze
zawiera informacje niezbdne do podry do nastpnej sieci. Po dotarciu do niej router
zdejmuje jedn warstw pakietu (zewntrzn kopert) i nakada kolejn, zawierajc
informacj na temat podry do nastpnej sieci. Kolejne warstwy wewntrzne zawieraj coraz bardziej szczegowe informacje na temat adresu komputera w Internecie
oraz procesu na komputerze bdcym adresatem pakietu. Informacje te obejmuj rwnie rne typy wiadomoci na temat priorytetu przenoszonych danych oraz inne dane
pomagajce w bezpiecznej przesyce.

Narzut transmisyjny: komunikacja poczeniowa i bezpoczeniowa


W komunikacji sieciowej istnieje pojcie nawizywania poczenia, ktre polega na
zastosowaniu procedur sucych do zapewnienia uporzdkowanej komunikacji wysokiej niezawodnoci midzy systemami. Protokoy o niskiej niezawodnoci przesyaj
dane do adresata bez potwierdzenia powodzenia transmisji. Tego typu komunikacja
nosi nazw bezpoczeniowej. Komunikacj wysokiej niezawodnoci nazywamy poczeniow. Protokoem bezpoczeniowym z rodziny TCP/IP jest protok UDP (User
Datagram Protocol), natomiast protok poczeniowy nosi nazw TCP (Transmission
Control Protocol).

Rozdzia 18. Proste systemy wykrywania wama

449

Adresy IP
Kady interfejs sieciowy w Internecie posiada wasny adres IP. Jeli zaoymy, e wykorzystywany serwer posiada tylko jedn kart sieciow, bdzie on wacicielem co najmniej jednego adresu IP. W przypadku zastosowa domowych i maych form adres IP
jest nadawany przez dostawc usug internetowych. W firmach adres ten nadaje z reguy
administrator sieci.
Kiedy stosujemy mechanizm translacji adresw (NAT), wykorzystywane s adresy
prywatne. Jeli uywasz tego typu konfiguracji, najprawdopodobniej wiesz wystarczajco duo, by spokojnie pomin dalszy cig wywodw na temat adresw, lub
wpdzasz si w kopoty, z ktrych bdziesz mg wybrn tylko przy pomocy dobrze
opaconego specjalisty.

Adres IP jest zapisany w postaci czterech liczb o wartociach od 0 do 255. Typowy adres
IP ma nastpujc posta: 192.168.1.14. Nie wszystkie kombinacje liczb daj uyteczne
adresy IP, lecz nie musimy si tym przejmowa, poniewa to nie my je wymylamy.
Kady pakiet skierowany do naszego systemu bdzie mia wyspecyfikowany jego adres
IP w polu swojego adresu docelowego. Kady pakiet wychodzcy z systemu bdzie
mia jego adres w swoim polu adresu rdowego. Te same zasady dotycz innych systemw w sieci, ktrych ruch bdziemy monitorowa z naszego serwera. System NIDS
mona skonfigurowa w taki sposb, e bdzie monitorowa okrelone adresy rdowe
i docelowe (w dowolnych kombinacjach).

Adresy dynamiczne
Adres IP skonfigurowany na stae w systemie nazywamy adresem statycznym. Wiele
organizacji wykorzystuje odmienne podejcie polegajce na dynamicznym nadawaniu
adresw IP z predefiniowanej puli podczas uruchamiania systemu. Ten mechanizm
obsuguje protok DHCP (Dynamic Host Configuration Protocol). Wykorzystanie
tego typu mechanizmu utrudnia konfiguracj systemu NIDS, poniewa nie mona okreli adresw IP systemw, ktre miayby by ledzone przez ten system (mog by
rne po kadym uruchomieniu systemu).

DNS
Niewiele osb ma wpraw w zapamitywaniu czwrek liczb od 0 do 255 (cho podczas
pracy z systemami NIDS mona w tym doj do wprawy). Ludzi preferuj nazwy, takie
jak Alicja, Dawid czy www.yahoo.com. System DNS (Domain Name System)
jest sposobem na zwizanie adresw IP z nazwami oraz na udostpnienie wszystkim
zainteresowanym nazw systemw podczonych do Internetu. W ten sposb kada organizacja moe zarzdza list nazw wasnych serwerw podczonych do Internetu.
Gdy system zna nazw systemu docelowego, najczciej komunikuje si z serwerem
DNS w celu uzyskania odpowiedniego adresu IP, na ktry moe przesa dane. Zwrmy uwag, e danie DNS jest samo w sobie rwnie transakcj, odbywajc si przed

Cz V Zwikszanie bezpieczestwa

450

nawizaniem transakcji przesyania danych. Jeli wykorzystywany program wypisuje


informacj na temat adresu IP wraz z nazw (wiele systemw NIDS dziaa wanie w ten
sposb), czste dania DNS mog spowolni wywietlanie informacji. Zalecamy wyczenie zapyta DNS tam, gdzie to tylko moliwe zarwno w aplikacjach, jak i w poleceniach systemowych.

Routery
Komunikacja (pakiety) na swojej drodze od nadawcy do adresata przechodzi przez
rne urzdzenia zwane routerami i bramami. Router po prostu przesya pakiet z jednej sieci do drugiej. W organizacji redniej wielkoci komunikacja wewntrzna najczciej jest przekazywana za porednictwem jednego do czterech takich urzdze.
Zewntrzna komunikacja przechodzi przez 10 do 20 routerw.
W naszych rozwaaniach uywamy okrele sie lokalna oraz inne sieci. Jednak
zaawansowana technologia sieciowa nieco rozmywa granice midzy sieciami, lecz
nadal w miar konsekwentnie mona twierdzi, e granic midzy rnymi sieciami
stanowi router.
Router brzegowy jest ostatni barier midzy sieci lokaln a Internetem. Routery
posiadaj dwa lub wiksz liczb interfejsw sieciowych, kady z nich przyczony
jest do innej sieci. Jeli pakiet wysany z sieci lokalnej moe dotrze do adresata bez
potrzeby przechodzenia przez router brzegowy, oznacza to, e adresat rwnie znajduje si w sieci lokalnej. Kilka lat temu z dowolnej stacji mona byo monitorowa
kady pakiet przychodzcy do sieci lokalnej, nawet jeli by przeznaczony do innego
adresata. W wielu sieciach wykorzystujcych przestarzay lub niedrogi sprzt nadal
jest to moliwe.
Coraz popularniejsze staj si jednak sieci przeczane. W sieciach tego typu dane,
ktre docieraj do danego interfejsu sieciowego, s tylko do niego adresowane. Ruch
nieadresowany do danego interfejsu nigdy do niego nie dotrze. Jeli chcemy monitorowa ruch w sieci, administrator sieci moe skonfigurowa specjalny port na przeczniku (tzw. monitor port), na ktry bdzie dodatkowo przesyany cay ruch adresowany do pozostaych stacji przyczonych do przecznika. Jeli na przykad wykryjemy
podejrzany ruch w podsieci, ktry wydaje si pochodzi z zewntrz, lecz ruch ten nie
jest wykrywany na routerze brzegowym, mamy jasny dowd na to, e ktry z systemw w sieci zosta przejty przez wamywacza, ktry faszuje adres rdowy wysyanych przez siebie pakietw.
yj jak najlepiej z innymi administratorami!
Jak mona zauway, wiele rzeczy, ktre istniej w sieci i s nam potrzebne, zaley od administratora tej sieci. W rzeczywistoci dobre poznanie swojego administratora i jego pracy jest
jedn z lepszych inwestycji. Jeli powanie traktujesz wykorzystanie mechanizmw NIDS, bardzo
wane jest nadanie za zmianami w sieci, czsto niezauwaalnymi dla zwykych uytkownikw.
Informacje te posiada administrator sieci, poniewa to on wdraa zmiany!
Gdy co pjdzie le, nie obraaj administratora, wytykajc mu niekompetencj. Aby wykona
swoj prac, musicie koegzystowa. Pamitaj, e administrator sieci prawdopodobnie myli
o Tobie to samo, co Ty mylisz o swoich uytkownikach.

Rozdzia 18. Proste systemy wykrywania wama

451

Podsieci (notacja CIDR)


Przy dokadniejszym spojrzeniu pojcie podsieci nieco si rozmywa. Podsie to nadal
sie. Termin podsie oznacza po prostu, e jest rozumiana jako cz wikszej sieci.
Sie jest z reguy podzielona na podsieci za pomoc routerw lub przecznikw, zatem
wczeniejsze informacje na temat routerw odnosz si rwnie do podsieci.
W podsieci musimy zna:
 jej zakres adresw IP,
 adres IP routera, ktry musz wykorzystywa systemy w sieci w celu

komunikacji z innymi sieciami. Jest to szczeglnie wana informacja,


gdy jednym z tych systemw jest serwer!
Zakresy adresw IP w podsieci najczciej okrelane s za pomoc notacji CIDR. Skrt
CIDR pochodzi od Classless Inter-Domain Routing. Jeli w notacji CIDR okrelimy
podsie w nastpujcy sposb:  , oznacza to, e adresy IP w tej podsieci musz mie pierwsze 23 bity takie same jak w adresie . Adres
podsieci  ma nastpujc reprezentacj dwjkow:


Zatem kady adres IP z pierwszymi 23 bitami takimi, jak w powyszej masce naley
do podsieci. Zatem zakres adresw obejmuje adresy od nastpujcego:


do nastpujcego:


Ten sam zakres w notacji IP obejmuje adresy od 


do  .
Podobnie podsie  obejmuje adresy od 
do 
 .

Porty
Unikalne adresy IP s podstaw komunikacji midzy systemami w Internecie. Jednak
komunikacja tak naprawd nie odbywa si midzy komputerami, a midzy procesami
dziaajcymi w tym przypadku na rnych komputerach. Dostarczenie pakietu do
komputera to nie wszystko, pakiet musi zosta dostarczony do odpowiedniego procesu,
ktry bdzie wiedzia, co z nim zrobi.
Kademu procesowi komunikujcemu si w sieci nadawany jest unikalny numer portu
z przedziau od 1 do 65535. Kady pakiet przesyany na dany adres, w ktrym warto
w polu Destination Port (port docelowy) pasuje do portu danego procesu, zostanie dostarczony wanie do niego. Oczywiste jest, e kady pakiet przesany przez ten proces bdzie
mia w polu Source Port (port rdowy) okrelony ten sam numer portu.
Wczeniej wspomnielimy o rnicach midzy protokoami TCP i UDP. Protokoy te
rni si od siebie na tyle, e ten sam numer portu moe by wykorzystany przez dwa

Cz V Zwikszanie bezpieczestwa

452

rne procesy, jeli tylko jeden z nich wykorzystuje protok TCP, a drugi UDP.
Egzemplarze tego samego portu dla protokou TCP i dla protokou UDP s uwaane za
dwa rne porty. Pierwszy z nich okrelamy jako , a drugi jako .
Zgodnie z przyjt konwencj porty od 1 do 1024 s na stae przypisane okrelonym
usugom sieciowym, na przykad proces serwera SMTP bdzie wykorzystywa port
 , serwer WWW udostpnia swoje usugi na porcie 
, usugi DNS s dostpne
na portach  oraz  (wybr protokou uzaleniony jest od tego, jakie informacje s odczytywane z serwera DNS) itd.

Procesy, gniazda i wizania


W poprzednim podrozdziale napisalimy, e serwer SMTP wykorzystuje port  ,
co oznacza, e proces serwera (na przykad sendmail) musi nasuchiwa na tym porcie
w oczekiwaniu na poczenia. W tym celu podczas uruchomienia proces serwera wywouje specjaln funkcj systemow , ktra spowoduje, e port   bdzie zwizany z procesem serwera nawet wtedy, kiedy nie jest na nim aktywne adne poczenie.
Proces nastpnie przechodzi do stanu nasuchiwania ( !!"), w ktrym jest gotowy
do przyjmowania pocze. Proces pozostaje w stanie nasuchiwania a do momentu,
gdy otrzyma poczenie lub zostanie zakoczony, w wyniku czego zwolni port.
System Linux, podobnie jak inne systemy klasy UNIX, traktuje wszystkie obiekty, tak
jak pliki. W celu przypisania sobie portu proces prosi system Linux o ustanowienie tzw.
gniazda. Gniazdo jest po prostu jedn ze stron komunikacji sieciowej. Linux zwraca
tzw. deskryptor pliku gniazda, ktry moe by uyty przez proces, podobnie jak byby
uyty zwyky plik, z t rnic, e w przypadku gniazd istnieje wiksza liczba opcji
konfiguracyjnych. Nastpnie proces wywouje funkcj  wic z tym gniazdem
okrelony port.
Proces nasuchiwania mona monitorowa z zewntrz. Gdy system nasuchuje na okrelonym porcie, na przykad  , mwi si, e port ten jest otwarty. Poniewa port
ten jest przez konwencje dedykowany serwerowi SMTP, zakada si, e na tym porcie
nasuchuje wanie serwer tego typu (na przykad sendmail). Gdy na tym porcie pojawi
si poczenie, serwer wysya informacj tekstow informujc o swojej wersji i tym
podobne dane (czasem dane te s zbyt szczegowe!).
Z samego komputera mona odczyta duo wicej informacji. Polecenie #$%&$
wypisuje stan wszystkich aktywnych gniazd, w tym gniazd w stanie nasuchiwania
( !!"). Opcja &$ spowoduje, e w wyniku zostan uwzgldnione porty nasuchujce,
opcja & spowoduje wypisanie identyfikatora (PID) oraz nazwy procesu, z ktrym jest
zwizany dany port, natomiast opcja ' zapobiega wykonywaniu zapyta DNS (DNS
lookup), o czym wspominalimy wyej.
Oto przykadowy wynik polecenia #$%&$:
 

    
 

     ! " "
 ###$%&'()###$*+,-./0! # 
 ###$0.###$*+,-(/!1
 ###$0(((###$*+,-(/!1

Rozdzia 18. Proste systemy wykrywania wama

453

 ###$(/###$*+,-&/00!
 ###$(&###$*+,-%//!
 ###$(&###$*+,-%%00!
 ###$(.0###$*+,-.(.!2 
 ###$###$*+,-../! "
 ###$&###$*+,-(/!1
 ###$&&###$*+,-(&/!
 ###$&%###$*+,-(/!1
 ###$(###$*+,-').!
 ###$(###$*+,-0'!
 ###$(&###$*+,-%&0.!
 ###$(%###$*+,-/&)!
 ###$(.###$*+,-.%'!
 ###$(0###$*+,-./&!
 ##(#%)$(##(#%)$0.).,+ 34, 0'!
 ##(#%)$(##(#%)$0.),+ 34, 0'!
 ##(#%)$&%##&&#&%.$&&0%,+ 34, &/))'!#
 0&##(#%)$&&##)&#(($%,+ 34, (%%)!
 ##(#%)$&&##//#)$0&%',+ 34, .%'!
 ##(#%)$&&##'/#)%$0,+ 34, %0!
 ##(#%)$&%###&&$&0,+ 34, .!#
 ##(#%)$&%###'$%0)0',+ 34, ''0!#
 ##(#%)$&%%#)#(#&/$.%)',+ 34, /0&!#
 ##(#%)$(&##(#%)$.'/,+ 34, %//!
 ##(#%)$&%###'($%.,+ 34, .'%0!#
 ##(#%)$&&()#0#''#&0$)&,+ 34, &)%/!

Zwrmy uwag, i procesy nasuchujce maj ustawiony adres IP na





. Niektre systemy mog mie kilka adresw IP. Kady system ma przynajmniej dwa, jednym
z nich jest adres tzw. ptli zwrotnej (loopback):  

. Adres



jest interpretowany jak wszystkie adresy w systemie. Oznacza to na przykad, e proces ##(
nasuchujcy na porcie  bdzie akceptowa poczenia zarwno przychodzce na
adres 



 , jak i  

 (oraz inne adresy, ktre mogyby by przypisane
systemowi).

lsof
Kolejny program, lsof, wypisuje nawet wiksz ilo informacji. Wywoanie programu
lsof z nazw pliku spowoduje wypisanie nazwy procesu aktualnie wykorzystujcego
dany plik. Opcja & ogranicza wypisywane procesy do wykorzystujcych gniazda danego
typu. W celu uzyskania tych informacji naley wywoa polecenie )#*+ jako root:
5

6788 -  9, +:, ,;6,<,-7 ,- 8,
'%%.=.(.0&(&''+6"#"2#$
>
//# = # "$/'0
,+ 34, 
1'%%.%=.&0/+6*$5 +,-
1'%%..=.&0/+6*$ +,-
1'%%.'=.&0/%+6*$+,-
1'%%./=.&0/0+6*$+,-
1'%%.=.(.0&(%.+6"#"2#$5
>
/# = # "$&0
,+ 34, 
1'%%.=.(.0&(%0+6"#"2#$0.'.
>5 #"2#$5
,+ 34, 

Cz V Zwikszanie bezpieczestwa

454

#'.'0=.(%/(/0.+6"#"2#$
> # #$/(.
,+ 34, 
#'.'0=.(%/(/0.+6"#"2#$
> # #$/(.
,+ 34, 
#'.'0&=.(%/(/0.+6"#"2#$
> # #$/(.
,+ 34, 
')..=.(%/'&/+6"#"2#$
> #  #$%'((
,+ 34, 

W wyniku swojego dziaania program lsof wypisa jako plik kade z gniazd, nazw
procesu wykorzystujcego gniazdo, identyfikator tego procesu oraz jego waciciela.
Informacje te mog by bardzo uyteczne do okrelenia procesu inicjujcego poczenie
sieciowe, ktrego nie powinno by w systemie i ktrego pochodzenie jest trudne do
okrelenia.

ICMP
Protok ICMP (Internet Control Message Protocol) wykorzystuje pakiety w charakterze stosunkowo niewielkich komunikatw sucych do celw informacyjnych oraz
do zarzdzania sieci. Wiele z tych komunikatw pozwala rozezna sytuacj problemu
z funkcjonowaniem systemu lub usugi oraz jego przyczyny. Na przykad podczas wysania pakietu do nieistniejcego systemu, router danej podsieci odele pakiet ICMP typu
(Destination Unreachable) o kodzie  (Host Unreachable).
Najlepiej znanym zastosowaniem protokou ICMP jest polecenie ,, wysyajce
pakiety ICMP typu  (Echo Request), po ktrych oczekuje w odpowiedzi pakietw
typu
(Echo Reply).

UDP
Jak pamitamy, UDP (User Datagram Protocol) jest protokoem komunikacji bezpoczeniowej z rodziny protokow TCP/IP. Protok ten jest wykorzystywany zwykle
wtedy, gdy na drodze komunikacji nie oczekujemy wielu routerw (lub adnego). Innymi
sowy, UDP jest wykorzystywane do realizacji usug, takich jak NFS, ktre z reguy
s wykorzystywane w sieciach lokalnych.
Z powodu braku poczenia w komunikacji UDP nagwek pakietu jest stosunkowo
niewielki. Dla uproszczenia przyjmijmy, e nagwek ten zawiera jedynie adresy oraz
porty rdowe i docelowe pakietu.

TCP
TCP jest protokoem wykorzystujcym poczenia. Nagwek pakietu zawiera sporo
informacji wykorzystywanych w celu kontroli przekazania pakietu oraz w celu odtworzenia penych danych z poszczeglnych pakietw skadowych. Protok TCP zapewnia
odtworzenie pakietw w odpowiedniej kolejnoci nawet wtedy, gdy do odbiorcy docieray one w kolejnoci zaburzonej (dwa kolejne pakiety mog teoretycznie przemieszcza si rnymi trasami, wic docieranie ich do adresata w nieoryginalnej kolejnoci

Rozdzia 18. Proste systemy wykrywania wama

455

nie jest niczym nadzwyczajnym). Protok TCP zapewnia rwnie integralno przesyanych danych. Ponadto ma on wbudowany mechanizm wysyania da ponownego
przesania na przykad uszkodzonych pakietw. Te procedury zapewniajce poprawno
transmisji s cech charakterystyczn protokow poczeniowych. Poczenia TCP
w rzeczywistoci rozpoczynaj si wymian pakietw zoonych z samych nagwkw
bez adnej zawartoci w celu nawizania komunikacji i ustalenia parametrw transmisji.
Poczenia TCP s wykorzystywane do komunikacji na dugich dystansach (w ujciu
sieciowym), na przykad przy usugach FTP oraz SSH.
TCP jest protokoem zachowujcym stan. W UDP dane s wysyane i tutaj koczy si
troska nadawcy. Protok ten nie ledzi stanu transmisji, poniewa przy transmisji bezpoczeniowej nie ma kontroli dostarczenia pakietu. W protokole TCP sprawdzany jest
stan przekazania kadego pakietu. Z tego powodu TCP musi pamita wysane pakiety,
aby potwierdzi sobie stan poprawnej wysyki po otrzymaniu potwierdzenia (lub wysa
pakiet ponownie w razie problemw).
Taka pami nazywana jest stanem. Po wysyce pakietu TCP znajduje si w stanie
oczekiwania na potwierdzenie (awaiting receipt). Po potwierdzeniu dotarcia pakietu
TCP przechodzi w stan nieoczekujcy potwierdzenia (not awaiting receipt). Oprcz
tych dwch podstawowych stanw TCP wykorzystuje inne, ktre pozwalaj na dokadn kontrol poprawnoci dostarczania danych.

SYN, ACK, FIN


W nagwkach TCP wystpuj tzw. bity znacznikw (flag bits) bity wczone lub
wyczone, informujce o stanie komunikacji na obydwu jej kocach. Bity znacznikw
s okrelane na podstawie ich pozycji w nagwku. W niniejszym podrozdziale zapoznamy si ze znacznikami SYN, ACK oraz FIN.
Znacznik SYN oznacza, e dany pakiet ma na celu zainicjowanie sesji komunikacyjnej. Znacznik ten znacza zatem mniej wicej tyle, co chciabym z tob rozmawia.
Znacznik ACK z kolei, e dany pakiet zawiera potwierdzenie otrzymania poprzedniego pakietu. Oznacza on tyle, co usyszaem ci.
W celu zainicjowania sesji system A wysya do systemu B pakiet skadajcy si z samych
nagwkw. W nagwku bdzie ustawiony tylko znacznik SYN. W odpowiedzi system
B wysya do systemu A pakiet speniajcy dwie funkcje: po pierwsze, informuje za
pomoc ustawionego znacznika ACK o tym, e pakiet inicjujcy doszed. Po drugie,
informuje system A, i system B jest gotowy do nawizania poczenia, w tym celu
ustawiony jest w nim rwnie znacznik SYN.
Po otrzymaniu tego pakietu system A wysya do B pakiet potwierdzajcy z ustawionym
tylko znacznikiem ACK. Wtedy nie jest ju ustawiony znacznik SYN. W tym momencie obydwa systemy ju zakomunikoway, e chc rozmawia, wic nie ma potrzeby
dalszego informowania o tym fakcie.
Ta wymiana pakietw -!, -!-./0 oraz ./0 nazywana jest potrjn inicjacj (triple
handshake) poczenia TCP.

Cz V Zwikszanie bezpieczestwa

456

Gdy system A nie ma ju nic do wysania, przekazuje systemowi B pakiet z ustawionym


znacznikiem FIN. W pakiecie tym jest ustawiony rwnie znacznik ACK, potwierdzajcy
otrzymanie poprzedniego pakietu. System B potwierdza zakoczenie poczenia, wysyajc pakiet ze znacznikiem ACK. Protok TCP uwzgldnia rwnie sytuacj, w ktrej
system A chce zakoczy komunikacj, lecz system B nadal ma dane do wysyki. W tej
sytuacji poczenie, nazywane pzamknitym (half-closed), pozostanie w tym stanie,
do momentu gdy system B wyle do systemu A pakiet z informacj FIN-ACK, a system
A odpowie mu na to pakietem ze znacznikiem ACK.
Powyszy opis procedur komunikacyjnych mia na celu przyblienie niektrych szczegw komunikacji TCP, a take posuy jako podstawa do konfiguracji systemu NIDS.

Numerowanie znacznikw SEQ i ACK


Protok TCP obsuguje numeracj sekwencji  1 oraz potwierdze ./0. Sytuacja ta
moe si nieco skomplikowa. W uproszczeniu system A upewnia si, i system B
otrzyma pakiety w odpowiedniej kolejnoci, nadajc im kolejne numery. Gdy system
B otrzymuje pakiet, odsya systemowi A pakiet z potwierdzeniem (znacznik ACK)
zawierajcy liczb potwierdzajc rwn numerowi pakietu plus jeden. Oznacza to, e
w nastpnym pakiecie wysyanym przez system B zostanie wysana liczba potwierdzajca ostatnio otrzymany pakiet przesany przez A.
System B to samo robi z wysyanymi przez siebie pakietami. Kada ze stron komunikacji przy inicjacji wybiera niezalenie pocztkowy numer sekwencji, zatem system B
rozpoczyna komunikacj z innym numerem sekwencji od systemu A. Dobrze zaimplementowane protokoy komunikacyjne wykorzystuj jak najbardziej przypadkowe
pocztkowe numery sekwencji, co zabezpiecza przed prbami przejcia sesji TCP.

Rozpoznania i zagroenia
Poznalimy podstawy funkcjonowania rodziny protokow TCP/IP, nadszed czas,
aby omwi niektre sposoby wykorzystania ich przez napastnikw. Oglnie mwic,
dziaania podejmowane przez napastnikw mona z grubsza podzieli na rozpoznania
i zagroenia.
Rozpoznanie (lub skanowanie) oznacza prb zdobycia wikszej iloci informacji na
temat systemu bez wyrzdzania mu krzywdy. W rzeczywistoci wikszo rozpozna
ma na celu zwrcenie na siebie jak najmniejszej uwagi, aby unikn wykrycia. Zagroeniem jest kada prba wyrzdzenia szkody lub przejcia kontroli nad systemem.

Skanowanie portw SYN oraz SYNFIN


Skanowanie typu SYN jest bardzo powszechne. Wykorzystuje one protok potrjnej
inicjacji. Jak pamitamy, system A wysya do systemu B pakiet z ustawionym znacznikiem -!, oczekujc pakietu z ustawionymi znacznikami -! i ./0. Zamy, e system A nie dokoczy sekwencji inicjacji. System B odczeka okrelony czas i zamknie

Rozdzia 18. Proste systemy wykrywania wama

457

poczenie ,ponownie przechodzc w stan oczekiwania na nastpny pakiet -!. System


A jednak ju wie, e port w systemie B, z ktrego otrzyma pakiet -!&./0, jest otwarty.
Gdy system A wyle kolejno takie pakiety SYN do wszystkich portw poniej 1024,
zgromadzi informacje na temat usug udostpnianych przez system B. Dane na temat
tych usug mona wywnioskowa z odpowiedzi systemu B. Zamiast jednak potwierdzi poczenie, system A wysya pakiet z ustawionym znacznikiem 2 (reset), ktry
natychmiast koczy poczenie. W trakcie tego procesu system A dodatkowo otrzymuje
prbk inicjujcych numerw sekwencji, na podstawie ktrych moe okreli poziom
ich przypadkowoci. Poniewa sekwencja potrjnej inicjacji nie dobiega koca, adna
z usug w systemie B nie zapisze w dziennikach informacji o poczeniu z systemu A.
Skanowanie typu SYNFIN wykorzystuje gbiej ukryt przypado protokou TCP.
Protok ten nie przewiduje bowiem moliwoci wystpienia niemoliwych kombinacji
znacznikw. Pakiet zawierajcy znacznik -! (chc rozpocz sesj komunikacyjn)
oraz 3! (chc zakoczy t sesj komunikacyjn) nie ma okrelonego znaczenia
w definicji protokou. Z powodu, e nie istnieje okrelone zachowanie w odpowiedzi
na pakiet tego typu, sposb, w jaki zachowa si system B, zaley od implementacji
w nim mechanizmw sieciowych. Jedno jest pewne w wikszoci, a moe nawet we
wszystkich systemach z rodziny UNIX odpowied na taki pakiet zaley od tego, czy
dany port jest otwarty, czy nie. Sposb reakcji na pakiet SYNFIN daje sporo informacji na temat systemu operacyjnego, czasem nawet na temat numeru wersji lub konkretnej wersji atki. Ponadto napastnik uzyskuje informacje na temat otwartych portw.

Ataki typu odmowa usugi (DoS)


Ataki typu odmowa usugi (DoS Denial of Service) nie stanowi prb wamania do
systemu, lecz raczej prb zablokowania usugi udostpnianej przez atakowany system.
Czasem zdarza si, e atak typu DoS powoduje zawieszenie caego systemu. Najprostsze ataki typu DoS to ataki zalewajce (flood), polegajce na wysyaniu do usugi
wikszej iloci ruchu, ni jest ona (lub cay system) w stanie obsuy. Jednym z przykadw takiego ataku jest bombardowanie pocztowe (mail bombing) serwera pocztowego lub skrzynki konkretnego uytkownika.
Nieco bardziej wyrafinowan form ataku typu DoS jest zalewanie pakietami -! (syn
flooding). Wczeniej opisalimy mechanizm wykorzystania pakietw -! w celu wykrycia otwartych portw bez nawizywania poczenia (system ofiary odpowie sekwencj
-!&./0, a nastpnie zaczeka na pakiet ./0, gdy go nie otrzyma w okrelonym czasie,
zamknie poczenie). Zamy teraz, e system A wysya tysice pakietw -! do systemu B i kontynuuje ich wysyk bez przerwy. W pewnym momencie wyczerpi si
zasoby sieciowe systemu B, poniewa bdzie on oczekiwa na tysice pakietw ./0,
ktre nie nadejd. System B zostanie w ten sposb odcity od Internetu, poniewa przez
ten zalew nie przedr si adne prawdziwe poczenia.
Inne rodzaje atakw typu DoS opisujemy w podrozdziale Ataki przepenienia bufora.

Cz V Zwikszanie bezpieczestwa

458

Ataki wykorzystujce bdy w systemie


Programy pisz ludzie, nie maszyny. Linux te jest napisany przez ludzi. Maj oni nieznon wad braku konsekwencji i popeniania bdw w projekcie lub implementacji
jest to jedna z cech twrczych umysw. Gdy taki bd zostanie wykorzystany przez
kogo innego w celu zmuszenia systemu do wykonania operacji nieprzewidzianych
przez jego twrc, mamy do czynienia z dziur bezpieczestwa.
Ta historia przytrafia si naprawd. Jedna z wczeniejszych wersji serwera sendmail
posiadaa polecenie 45$ (czarownik). Po nawizaniu poczenia na porcie  
i przesaniu do serwera polecenia 67 system odpowiada komunikatem Please pass,
oh mighty wizard (czyli: Prosz wejd, o potny czarowniku) i uytkownik uzyskiwa
dostp z prawami konta root do caego systemu. Polecenie 67 byo zapewne ciekaw
funkcj wspomagajc proces diagnostyki systemu, lecz z pewnoci wielkim przeoczeniem byo pozostawienie jej w oficjalnej wersji programu! Zdobycie wiedzy na
temat polecenia 67 nie byo trudne, szczeglnie w sytuacji gdy kod rdowy systemu by powszechnie dostpny. Jako jedyny komentarz pozostawmy to, e obecne
wersje systemu sendmail nie posiadaj ju tej wspaniaej funkcji.

Ataki przepenienia bufora


Gdy w programie zostaje wpisana niewielka ilo informacji, dane te s zwykle przechowywane w pamici operacyjnej, na przykad podczas logowania si w systemie program login do momentu podania hasa zapisuje w pamici nazw uytkownika. Zatem
program wykorzystuje dodatkow pami oprcz tej, ktra suy w celu przechowywania kodu wykonywalnego i danych pocztkowych. Nic w tym nadzwyczajnego.
Ile pamici potrzebuje program w celu przechowywania nowych danych? Identyfikator
uytkownika rednio ma rozmiar omiu bajtw, haso prawie na pewno poniej 15 bajtw. Oszczdnie napisany program logowania do systemu przewidzi zatem okoo 30
bajtw na nazw uytkownika i haso. Co si jednak stanie, gdy kto wprowadzi 31znakowy napis jako nazw uytkownika? Porzdnie napisany kod zliczy bajty przed
zapisem ich w pamici i odmwi przyjcia ostatniego bajtu a do momentu oprnienia bufora. Zdumiewajca ilo kodu nie jest jednak porzdnie napisana.
Gdy do takiego programu wprowadzane s dane o rozmiarze wikszym od rozmiaru
zaalokowanej pamici, a program nadal je przyjmuje, dane te zaczynaj nadpisywa
inne obszary pamici. Takie wykroczenie programu poza obszar zaalokowanej pamici
nazywamy przepenieniem bufora. Gdy taki program dziaa z prawami konta root, moe
bez przeszkd nadpisa kady obszar pamici w systemie. Przepenienie w nim bufora
moe nawet nadpisa kod wykonywalny systemu operacyjnego, co prowadzi do niekontrolowanego restartu lub zawieszenia systemu. Zaawansowane wykorzystanie przepenienia bufora polega na umieszczeniu w danych wejciowych odpowiednio spreparowanych
danych w taki sposb, e zastpi one odpowiedni cz systemu operacyjnego i pozwol
w sposb kontrolowany przej przez napastnika prawa bdnie napisanego programu
w systemie (czyli czsto prawa konta root). Pierwszy opisany typ przepenienia bufora jest
atakiem typu DoS, drugi za udanym wykorzystaniem bdu w systemie do wamania.

Rozdzia 18. Proste systemy wykrywania wama

459

Ataki wykorzystujce aplikacje


Do tej pory nie bralimy pod uwag danych przekazywanych w pakietach. W kocu to
jest gwna przyczyna istnienia pakietw. Dane mog by komunikatami przekazywanymi midzy serwerami, adresem URL wysyanym do serwera WWW lub praktycznie
dowolnymi danymi przeznaczonymi dla aplikacji sieciowej.
Demony httpd i sshd, podobnie jak oprogramowanie komunikacji sieciowej, s podatne
na ataki wykorzystujce bdy w programowaniu.
Bdnie skonfigurowany serwer WWW pozwoli na uzyskanie dostpu do katalogw
systemowych za pomoc adresu URL zawierajcego elementy cieki typu ../../...
W ten sposb mona wskaza pliki i katalogi spoza drzewa katalogw serwera WWW,
na przykad ../../etc/passwd. Niedawno odkryto niewielki bd przepenienia bufora
w serwerze sshd. Niemal natychmiast pojawi si sposb uzyskania praw konta root
za pomoc tego bdu. Otrznicie si po tym potkniciu trwao sporo czasu.
Atakw tego typu nie mona wykry, analizujc nagwki pakietw, poniewa ataki
zawarte s w samych danych przesyanych przez te pakiety.

Projektowanie defensywnej
konfiguracji sieci
Przed rozpoczciem konfiguracji systemu NIDS naley pozna konfiguracj sieci.
W tym podrozdziale zapoznamy si z wybranymi strategiami wykorzystywanymi do
budowania stosunkowo bezpiecznych sieci.

Filtrowanie na routerach oraz zapory sieciowe


Jak wiemy, routery s bramami midzy sieciami. Wiele routerw ma moliwo
blokowania okrelonych typw pakietw wysyanych z sieci lub do niej. Jeli wiemy,
e okrelony system powoduje problemy, moemy skonfigurowa router w taki sposb, e bdzie odrzuca wszelkie pakiety z adresem rdowym wskazujcym na ten
komputer. Gdy jeden z komputerw wymaga szczeglnej ochrony, router moe filtrowa pakiety z adresem rdowym zoliwego hosta i adresem docelowym systemu
wymagajcego szczeglnej ochrony. Gdy chcemy chroni okrelone usugi, moemy
filtrowa tylko wybrane porty docelowe itd.
Zapora sieciowa (firewall) jest specjalnym systemem pozwalajcym na definiowanie
regu przepuszczania i blokowania pakietw przy uyciu bardziej zaawansowanych
zestaww regu, ni pozwala na to router. Zaawansowana zapora sieciowa potrafi
blokowa skany typu SYN i zapobiega zalewowi pakietw dziki kontroli stanu pocze. Zapora sieciowa moe na przykad w imieniu systemu w sieci lokalnej negocjowa poczenie z systemem poza sieci, nastpnie negocjowa poczenie z systemem
w sieci, a w kocu zestawi te dwa poczenia porednie w jedno wirtualne poczenie.

Cz V Zwikszanie bezpieczestwa

460

Oczywicie zapora sieciowa nadal bdzie podatna na atak typu zalewu pakietami SYN,
lecz w tym przypadku dodatkowe zasoby musz by zabezpieczone tylko na zaporze,
a nie na wszystkich systemach z dostpem do Internetu.

Filtrowanie ingress i egress


Jest to rodzaj prostych regu, ktrych stosowanie w zaporze sieciowej lub routerze jest
bardzo zalecane. Zamy, e posiadamy sie lokaln o adresach 



888 lub
w notacji CIDR 





 Regua 1. Na interfejsie zewntrznym blokujemy wszystkie przychodzce
pakiety z adresami rdowymi z sieci 



888. To jest filtr ingress.


 Regua 2. Na interfejsie wewntrznym blokujemy wszystkie przychodzce
pakiety z adresami rdowymi spoza sieci 



888. To jest filtr egress.

Filtrowanie ingress zabezpiecza przed pakietami udajcymi pakiety pochodzce z sieci


lokalnej, lecz naprawd przychodzce z zewntrz. Filtrowanie egress zabezpiecza systemy spoza naszej sieci przed pakietami wysyanymi przez komputery z sieci lokalnej,
lecz udajcymi systemy z innej sieci.
Zalety filtrowania ingress s oczywiste. Zalety filtrowania egress ujawniaj si dopiero
wtedy, gdy faceci w czerni wyledz rdo ataku na serwer rzdowy umiejscowione
w naszej sieci, po czym otrzymamy o trzeciej nad ranem telefon od Wielkiego Brata
ze stanowcz prob wytumaczenia tej sytuacji. Zaufaj nam. Skonfiguruj filtrowanie
egress. Zawczasu.

DMZ
Termin DMZ jest stosunkowo mao obrazowy. Dokadnie oznacza on stref zdemilitaryzowan. W naszym kontekcie oznacza wydzielon cz sieci midzy routerem
a zapor sieciow lub midzy dwoma zaporami. Koncepcja DMZ-tu polega na tym,
e wydzielona jest cz sieci, ktra musi by eksponowana w Internecie. Pozostaa
cz sieci jest kryta za dodatkow zapor i nie jest dostpna bezporednio przez systemy z Internetu. Caa komunikacja systemw z sieci prywatnej nastpuje za porednictwem jednego, dobrze zabezpieczonego systemu umieszczonego w DMZ.

Hosty bastionowe
Koncepcja hostw bastionowych wie si z koncepcj DMZ-tu. Gdy chcemy udostpni
bezpieczny serwer WWW, jedn ze strategii jest skonfigurowanie serwera udostpniajcego wycznie usug WWW. W serwer ten inwestujemy sporo czasu i wysiku, konfigurujc go w bezpieczny sposb za pomoc at i technik wzmacniajcych (hardening). Ten
serwer staje si hostem bastionowym WWW i najprawdopodobniej wylduje w DMZ.
Hosty bastionowe s niez strategi nawet wtedy, gdy nie wykorzystuje si konfiguracji typu DMZ.

Rozdzia 18. Proste systemy wykrywania wama

461

Dedykowane serwery
Wykorzystanie dedykowanych serwerw stanowi strategi administracyjn i strategi
bezpieczestwa. Koncepcja polega na wiadczeniu pojedynczych usug na kadym
z serwerw tak, aby serwer FTP udostpnia jedynie usugi FTP, serwer SSH wycznie
pozwala na zalogowanie si za pomoc SSH, serwer pocztowy uruchamia jedynie
serwer SMTP itd.
Z punktu widzenia administracji w przypadku koniecznoci zaoenia poprawki na
serwer FTP nie ma problemu z okreleniem komputerw, na ktrych trzeba to zrobi.
Nie ma rwnie obaw o efekty uboczne dziaania takiej poprawki na przykad na nasz
serwer HTTP.
Z punktu widzenia bezpieczestwa mamy lepszy wgld w sytuacj i wiemy, ktre serwery mog by podatne na bdy typowe dla serwerw FTP. Co wicej, wiemy, ktre
z serwerw z ca pewnoci nie s podatne na tego typu bdy, poniewa na nich nie
s w ogle zainstalowane adne programy wykorzystujce protok FTP. Mona rwnie skonfigurowa router lub zapor sieciow w taki sposb, e nie bdzie przepuszcza
ruchu dotyczcego nieobsugiwanych usug do danych adresw docelowych. Innymi
sowy, dla IP nalecego do serwera poczty nie ma sensu przepuszczanie pakietw kierowanych na port 21 (FTP).
Oczywicie blokowanie portw, ktre i tak nie s otwarte, wydaje si nieco przesadne
i brzmi jak strategia jednoczesnego uywania paska i szelek. W tym dziwnym wiecie
trudno okreli, co to jest nadmiar zabezpiecze. Z drugiej strony, czy lepiej wykaza
za duo ostronoci, czy za mao?
Po okreleniu strategii obronnych nadszed czas na instalacj alarmu antywamaniowego na wypadek, gdyby mimo caych zabiegw zabezpieczajcych komu udao si
przedosta przez bariery.

Projektowanie strategii
wykrywania wama
Serwery przypisalimy ich usugom, bastiony s maksymalnie wzmocnione, a reguy
zapr sieciowych s zaaplikowane. Nadszed czas na skonfigurowanie systemu NIDS.
Przypomnijmy sobie twierdzenia z podrozdziau Okrelenie zakresu odpowiedzialnoci.
Zadajmy sobie ponownie to pytanie. Za co jestem odpowiedzialny? Czy jest to podsie,
konkretny serwer czy tylko okrelona usuga na konkretnym porcie w wybranym serwerze naley skupi si dokadnie na tym, co mamy chroni.
System NIDS monitorujcy serwer moe by zainstalowany na tym serwerze lub na
innej stacji pod warunkiem, e cay ruch kierowany do serwera jest widziany z tej stacji.
Umieszczenie systemu NIDS na tym samym komputerze, ktry ma by monitorowany,
jest najprostszym podejciem i zapewnia dostp do odpowiedniego ruchu sieciowego.

Cz V Zwikszanie bezpieczestwa

462

Umieszczenie systemu NIDS na innym serwerze daje jednak nastpujce korzyci.


 Procesy zwizane z dziaaniem systemu NIDS nie bd miay wpywu

na dziaanie monitorowanego serwera. W przeciwnym razie zalew dziwnych


pakietw spowoduje, e system NIDS bdzie z przejciem generowa
statystyki, rysowa wykresy i dostarcza raporty, a dla waciwej funkcji
serwera zabraknie czasu. Jest to zagadnienie, ktre naley wzi pod rozwag,
planujc wykorzystanie zaawansowanej konfiguracji systemu NIDS.
 Gdy monitorowany system przejmie wamywacz, system NIDS dziaajcy

na nim moe zosta wyczony lub, co gorsza, rwnie zmodyfikowany przez


wamywacza w taki sposb, e bdzie generowa raporty wskazujce
na prawidow prac.
W kadym razie wydaje si, e najlepszym miejscem umieszczenia systemu NIDS jest
ta sama podsie w stosunku do routera i zapory sieciowej, w ktrej znajduje si monitorowany system. Gdy wykorzystany jest tylko jeden NIDS, powinien on monitorowa
cay ruch przechodzcy przez najbliszy router. Gdy wykorzystane s dwa systemy
NIDS, lub jeden z dwoma czujnikami, jeden z nich powinien monitorowa ruch za routerem i zapor, a drugi przed nimi. W ten sposb bdziemy widzie, co si dzieje za zapor i czy zapora i router nadal wykonuj swoj prac prawidowo.
Oczywicie naley monitorowa ruch do kadego z chronionych systemw i z niego,
co sprowadza nas ponownie do zakresu odpowiedzialnoci. Z drugiej strony, monitoring powinien obejmowa jak najwikszy moliwy zakres zagadnie. Pakiet SYN na
port  moe by pomyk. Pakiety SYN na port 21 wszystkich maszyn w sieci
(a nawet na nieuywanych adresach) z ca pewnoci s skanowaniem sieci. Z nieyczliwymi intencjami.
Zatem nawet gdy administrator konfigurujcy system NIDS nie jest odpowiedzialny
za wszystkie systemy w sieci, z ca pewnoci powinien wiedzie, kiedy jeden z nich
wyglda na przejty przez napastnika. Ten system moe w takim przypadku zacz
monitorowa ruch w sieci na rzecz napastnika. Po okreleniu miejsca umieszczenia
systemu NIDS naley ustali zakres zagadnie, ktre bdzie kontrolowa.

Ustalanie regu
W tym podrozdziale zajmiemy si nastpujcymi tematami.
 Detektory wama nie wykrywaj wama.
 Pozytywne specyfikacje s ze.
 Negatywne specyfikacje nie s lepsze.
 Heurystyczne wykrywanie anomalii wity Graal.

Rozdzia 18. Proste systemy wykrywania wama

463

Detektory wama nie wykrywaj wama


Ju o tym wspominalimy. Wic powtrzymy, bo to wane. Wykrywanie wama jest
prawdopodobnie najlepszym okreleniem, ktre zostao wymylone przez dostawcw
tego typu rozwiza po prostu po to, by klienci zrozumieli, o co chodzi. W najlepszym
przypadku systemy IDS wykrywaj ataki, a nie udane wamania. W najgorszym
systemy IDS wykrywaj podejrzany ruch, ktry przypomina atak. Wikszo systemw
IDS zaledwie sprawdza dane i nagwki pakietw w poszukiwaniu wzorcw znanych
atakw i raportuje takie dopasowania. Naley pamita o tym, czytajc wyniki pracy
systemu IDS.

Pozytywne specyfikacje s ze
Wiemy, e niektre pakiety oznaczaj kopoty. Kady pakiet z jednoczenie ustawionymi znacznikami SYN i FIN oznacza ze wieci. Jeli pakiet SYN zawiera dane, co
si popsuo w sieci. Pakiety SSH z doklejonym na kocu tekstem /bin/sh lub znanymi
sekwencjami kodw uruchamiajcych powok (shellcode) oznaczaj prb wywoania
przepenienia bufora (z drugiej strony istnieje pewne drobne prawdopodobiestwo, e
zakodowane dane bd miay posta przypominajc shellcode).
Pozytywne specyfikacje dziaaj tak. Gdy bierzemy udzia w okazaniu i przygldamy
si szeregowi osb w celu wybrania osoby podejrzanej, przypominamy sobie plakaty
osb ciganych. Kto, kto jest w caym kraju cigany za przestpstwa, jest podejrzany
z definicji.
Gwn wad pozytywnych specyfikacji jest to, e najpierw musz by utworzone.
A wic jeli napastnik uyje nieznanego wczeniej ataku lub nawet wystarczajco
zmodyfikuje typowy atak, nie zostanie wykryty przez IDS.

Negatywne specyfikacje nie s lepsze


Najpierw zajlimy si atw stron okreleniem rzeczy zych. Teraz nadszed czas
na odrobin kreatywnego mylenia. Okrelmy rzeczy, ktre oglnie mog by w porzdku, lecz w danej sytuacji nie powinny wystpowa.
 Czy ktrykolwiek z serwerw w sieci udostpnia usug telnet? Jeli nie,
poczenia na port   nie powinny mie miejsca.
 Czy zapora sieciowa blokuje port 25/tcp na wszystkich komputerach

oprcz serwera poczty? Jeli tak, to ruch na tym porcie na innych maszynach
oznacza kopoty.
 Czy zachcasz uytkownikw do wymiany pirackiego oprogramowania

(tzw. warez) i obrotu plikami MP3 na serwerze NFS? Nie? Skd zatem wzi
si ruch midzy tym serwerem i portem  na irc.copyright.violation.net?
 Czy w organizacji wykorzystuje si wycznie Linuksa? Skd zatem tyle

ruchu protokou NetBIOS (usugi sieciowe MS Windows) w sieci?

Cz V Zwikszanie bezpieczestwa

464

S to specyfikacje negatywne. Aby je znale, naley najpierw nakreli dokadny szkic


oczekiwanego ruchu w sieci, a nastpnie zacz poszukiwa w niej czegokolwiek, co
nie pasuje do tego obrazka.

Heurystyczne wykrywanie anomalii wity Graal


Jak wspomnielimy, naley cigle monitorowa sie w poszukiwaniu rzeczy, ktre nie
powinny si w niej pojawia. Niektre fakty jednak staj si oczywiste po duszym
czasie. Jak na przykad Krzy z marketingu, ktry wylogowuje si z systemu codziennie
o 16:30, bo pieszy na Happy Hours do swojej ulubionej restauracji. Nie ma moliwoci
poznania tego wzorca z gry, chyba e kto monitoruje ruch w sieci przez dugi okres
czasu.
Kto powie: Nic wielkiego, napisz system NIDS, ktry bdzie zapamitywa wzr
zdarze, a nastpnie raportowa wszelkie odstpstwa od niego. Bd sawny!. Pomys
nie jest zy, lecz do tej pory znany jest jeden system realizujcy tego typu funkcje w sposb skuteczny prawie w kadym rodowisku. Ten system kady z nas nosi pomidzy
uszami. Uywaj tego systemu! Ogldaj od czasu do czasu ruch w sieci. Porwnuj go do
wpisw w dziennikach systemowych. Przyzwyczaj si do wzorcw i jeli to moliwe
wymyl sposb konfiguracji systemu NIDS w taki sposb, aby reagowa na odstpstwa
od nich.
Jeli jednak kto znajdzie sposb na automatyzacj tego procesu, potrzebny mu bdzie
agent handlowy w takim wypadku chtnie suymy.
W nastpnym podrozdziale przyjrzymy si przykadowej implementacji mechanizmu
NIDS, czyli programowi Snort.

Przykadowy system NIDS Snort


Snort jest tak prosty, elastyczny i skuteczny, jakim sami go uczynimy. Ma niewielkie
wymagania dotyczce pamici i obcienia procesora. Ponadto jest darmowy. Trudno
nie doceni takich cech.
Uytkownicy lubicy kod rdowy zapraszamy na stron www.snort.org/dl, gdzie
znajd najnowsz wersj.

Opis i historia
Snort pojawi si na scenie sieciowej podczas prelekcji na konferencji LISA (Large
Installation System Administration) w listopadzie 1999 roku. Marty Roesch odpowiedzia na zapotrzebowanie, tworzc system NIDS nieco bardziej funkcjonalny od programu tcpdump, lecz mniejszy i taszy od wszystkich innych. Od tej pory Snort rozwija
si systematycznie bez zwikszania komplikacji instalacji, konfiguracji i uytkowania.

Rozdzia 18. Proste systemy wykrywania wama

465

Cho Snort posiada wiele opcji, mona uywa go w najprostszej konfiguracji, wczeniej przez kilka minut trzeba poczyta doczony do niego plik README. Marty zaoy firm o nazwie Sourcefire, ktra zajmuje si rozwojem i sprzeda specjalizowanych dodatkw do systemu Snort. Cho wielu z nas moe wykorzystywa Snort w takiej
postaci, w jakiej jest dostpny, to wielkie organizacje maj zupenie inne potrzeby.
Komercyjne firmy, jak jest Sourcefire, s w stanie takie potrzeby zrealizowa.

Przegld funkcji systemu Snort


(wybrane opcje wiersza polece)
Snort posiada sporo opcji wiersza polece. Przyjrzyjmy si najwaniejszym z nich,
ktre pozwol skoni ten system do pracy.
Snort moe ledzi pakiety na interfejsie sieciowym lub odczytywa je ze zrzutu w pliku.
Chcemy monitorowa sie. Opcja &%+9# wskazuje systemowi Snort nazw interfejsu sieciowego, na ktrym ma ledzi pakiety, najczciej interfejsem tym bdzie eth0.
Jeli nie jestemy pewni, pomocny moe okaza si program netstat -in, ktry wypisze
list aktywnych interfejsw sieciowych.
Wynik dziaania programu Snort mona przekierowa do katalogu dziennika. Domylnie Snort stara si uporzdkowa dane pakietw w strukturze katalogw we wskazanym katalogu dziennika. Kady z podkatalogw w tym katalogu odpowiada adresowi
IP i zawiera pliki odpowiadajce portom rdowym, docelowym i protokoom. Jeli
Snort nie jest uruchomiony na systemie-puapce (tzw. honeypot), kiedy taki poziom
szczegowoci jest podany, mona wyczy ten mechanizm za pomoc opcji '!.
Snort moe generowa ostrzeenia w oparciu o okrelone w konfiguracji reguy dopasowania to jest gwne dziaanie, ktrego oczekujemy od systemu NIDS. Domylnie
pliki lduj w pliku w katalogu dziennika, ktry w domylnej konfiguracji znajduje si
w /var/log/snort/. Opcja &)%:$$)*, pozwala zmieni pooenie katalogu dziennika.
Opcja &# spowoduje zapisywanie ostrzee w pliku ;$)*,#.
Reguy wykorzystywane przez Snort zapisywane s w plikach. W gwnym pliku z reguami mona wykorzysta instrukcj adujc inny plik z reguami, dziki czemu reguy
mona wygodnie organizowa w osobne pliki. Opcja &%):<,) wskazuje systemowi gwny plik z reguami.
Zalecamy uruchamianie systemu Snort z wykorzystaniem katalogu zawierajcego
nastpujce podkatalogi:
 )*,#: zawierajcy ostrzeenia w pliku alerts,
 )#: zawierajcy wszystkie reguy, w tym gwny plik regu,
 *</*$: plik zawierajcy peny wiersz polece uruchamiajcy system

Snort z odpowiednimi opcjami.


Przykadem moe by nastpujce polecenie:


-
#!
#!=!=?

Cz V Zwikszanie bezpieczestwa

466

Polecenie to uruchamia system Snort w trybie nasuchu na porcie eth0, wykorzystujcy


reguy z katalogu ./rules i zapisujcy ostrzeenia w katalogu ./logs.
Peny wykaz opcji wiersza polece mona uzyska, wykorzystujc opcj &(.

Reguy i wicej regu


Dobry podrcznik regu systemu Snort mona znale pod adresem www.snort.org/docs/
writing_rules. Waciwy podrcznik nosi nazw Snort Users Manual. Nie mamy zamiaru
uzupenia go w niniejszej ksice, lecz przedstawimy kilka prostych regu bdcych
modyfikacjami przykadowych z dystrybucji systemu Snort. Oto pierwsza z nich:
 @,A+,- ?-,+ 2
>@478,?-,+ 2"$B6 -:--BC5 $C

Powysza regua generuje ostrzeenie w wyniku napotkania pakietu SYNFIN. Zmienne


= > 2!.<!  oraz =?@A <!  stanowi adresy podsieci w notacji CIDR zdefiniowane
w pliku regu. Drugie pole zawiera nazw protokou. Nastpne jest wyraenie w postaci:
D EFGH2>D EFGH2>
>D  H2>D  H2>

Alternatywna forma dopasowuje pakiet przechodzcy w dowolnym kierunku:


D >D >D>D >D >

Reszta reguy (w nawiasach) ma nastpujcy format:


 I $ ="CJ I $ ="CK

Opcja #, ustawia tre komunikatu zapisywanego przy dopasowaniu reguy. Komunikat zostanie zapisany do dziennika wraz ze znacznikiem czasu (time stamp), adresem
i portem rdowym i docelowym oraz z innymi informacjami na temat pakietu.
Opcja +)$,# definiuje znaczniki, ktre musi posiada pakiet, aby wywoa ostrzeenie.
W tym przypadku dopasowany zostanie pakiet zawierajcy znaczniki -! i 3!.
Zwrmy uwag na zmienne =?@A <!  oraz = > 2!.<! . Snort, podobnie jak wikszo innych systemw NIDS, najlepiej dziaa, gdy jest dopasowany do rodowiska.
Ustawienie tych zmiennych w pliku konfiguracyjnym systemu Snort pozwoli wykrywa
ataki na systemy w sieci lokalnej i unikn faszywych alarmw.
Kolejny przykad:
 @,A+,- ?-,+ 2
>@478,?-,+ 2"$B4,67 ,=1 BC
$BL///) 555555L!!BC

Opcja * w tej regule wyszukuje dane w pakiecie pasujce do cigu znakw
w argumencie. Liczby pomidzy liniami pionowymi (B) okrelaj cig liczb szesnastkowych, kada para cyfr okrela jeden bajt. Fragment /bin/sh stanowi ju zwyky tekst.
Przedstawiona regua wyszukuje w danych znany shellcode uywany do uzyskania
uprawnie konta root w systemie. Ta regua dopasuje kady pakiet IP (zarwno protokou TCP, jak i UDP).

Rozdzia 18. Proste systemy wykrywania wama

467

Nastpnie moemy wyprbowa regu wykorzystujc konkretny adres w sieci. Zamy, e serwer FTP dziaa w naszej sieci tylko pod adresem 



 . Kady ruch
FTP na inny adres jest uwaany za podejrzany, wic dodajemy nastpujc regu:
  2 2
>M#&#.#0&"$BIN 2 O+BC

W tym przykadzie przemycilimy wan moliwo. Znak wykrzyknika (C) przed


adresem oznacza kady adres inny od 10.20.400.15. Znak wykrzyknika jest bardzo
uyteczny podczas definiowania specyfikacji negatywnych, ktre omwilimy wczeniej. Gdyby dana maszyna obsugiwaa wycznie serwer FTP, mona by zastosowa
nastpujc regu:
  2 2
>#&#.#0M&"$B I 2O H +BC

W tym momencie docenie ju zalety prostoty. Serwer dedykowany umoliwia zastosowanie znacznie prostszych regu wykrywania atakw!

Wtyczki: przetwarzanie wstpne i kocowe (portscan)


Snort zosta zaprojektowany tak, aby atwo byo dodawa do niego now funkcjonalno
za pomoc wtyczek (plugins) przetwarzajcych dane przed obrbk ich przez Snort lub
po ich wykorzystaniu. Wtyczki definiuje si w plikach regu i, jak ma to miejsce w przypadku wikszoci zagadnie zwizanych z systemem Snort, skadnia wykorzystania
wtyczek opisana jest w pliku snort.conf dostarczanym w dystrybucji systemu Snort.
Zalecamy stosowanie szczeglnie wtyczki portscan. Pozwala na prost i szybk identyfikacj skanowania portw przez odnajdywanie charakterystycznych pakietw skierowanych jednoczenie na wiele portw (mona zdefiniowa liczb pakietw i okres
czasu), a nastpnie zapisuje wyniki w okrelonym pliku. Plik wynikowy dziaania tej
wtyczki warto zapisa w katalogu ./logs lub utworzy specjalny katalog ./scans sucy
w tym celu.

Podsumowanie
W niniejszym rozdziale omwilimy systemy NIDS jako integraln cz strategii
obronnej w sieci. Przed opisaniem zagadnie systemw NIDS rozpatrzylimy uyteczne strategie sieciowe, takie jak wykorzystanie dedykowanych serwerw, konfiguracj zapr sieciowych i uycie dedykowanych hostw bastionowych w podsieci DMZ.
Nastpnie omwilimy systemy NIDS w wietle projektu sieci i podanej lokalizacji
tego systemu. Zarwno zakres dziaania, jak i lokalizacja systemu NIDS ma wpyw
na reguy monitorowania ruchu sieciowego zdefiniowane w tym systemie. Nie uda si
wykorzysta wszystkich zalet stosowania systemu NIDS, zapory sieciowej i innego
oprogramowania wspomagajcego bezpieczestwo, jeli bdziemy je traktowa jak
magiczne pudeka czarodziejskim sposobem rozwizujce wszystkie problemy. Najlepsze wyniki dziaania mechanizmw obronnych uzyskamy wtedy, gdy kady z jego
elementw bdzie uzupenia i wspomaga dziaanie drugiego, a nad wszystkim bdzie
panowa administrator.

468

Cz V Zwikszanie bezpieczestwa

Nastpnie opisalimy zagadnienia projektowania strategii bezpieczestwa uwzgldniajcej wykorzystanie systemu NIDS. Czci planu byo wprowadzenie do systemu Snort
i pokazanie zagroe w sieci, ktre czyhaj na nasze systemy kadego dnia. Innym
celem byo przedstawienie strategii bezpieczestwa jako wsppracujcych elementw
obejmujcych kontrol dostpu do sieci, dedykowane serwery i system NIDS. Naszym
celem byo rwnie zaciekawienie czytelnika, poniewa jestemy pewni, e w tej chwili
konfigurujesz swj system NIDS, zamiast czyta te sowa. Owocnej parcy ze Snortem!

You might also like