2006 06 Analiza Naruszeń i Egzekwowanie Polityki Bezpieczeństwa


Analiza Naruszeń
i Egzekwowanie Polityki
Bezpieczeństwa
Narzędzia
Arrigo Triulzi, Antonio Merola
stopień trudności
W artykule przedstawiamy możliwości wykorzystania Systemu
Detekcji Włamań Sieciowych (ang. Network Intrusion Detection
System, NIDS) jako narzędzia do weryfikacji specyficznych
rodzajów awarii zapory oraz jako mechanizmu wspomagającego
egzekwowanie polityki bezpieczeństwa.
formułowanie polityki bezpieczeństwa mamy zazwyczaj do czynienia z tzw. białą li-
wiąże się bezpośrednio z takimi czyn- stą zasad (ang. white-listing rules), które de-
Snościami jak konfiguracja zapory oraz finiują dozwolone akcje. Lista ta jest ogra-
przygotowanie infrastruktury monitorowania niczona pojedynczą zasadą złap-wszystko
logów w celu wykrycia ewentualnych nad- (ang. catch-all), która blokuje wszystkie nie-
użyć. Niestety, administratorzy zapominają pożądane akcje. Pojęcie zasada (ang. rule)
często o pewnej istotnej sprawie: otóż zapory w odniesieniu do zapory, to pewien opis (za-
ogniowe (tak jak wszystkie inne urządzenia pisany w formacie zależnym od konkretnego
przetwarzające) są zawodne. Istnieje spo- produktu), który stanowi wskazówkę odno-
ra liczba dobrze znanych błędów w różnych śnie traktowania określonego typu ruchu w
produktach tego typu, zarówno komercyjnych sieci. Na przykład, moglibyśmy zdefiniować
jak i wywodzących się z ruchu Open Source.
Zapory są często dzielone na dwie kategorie
Z artykułu dowiesz się...
w odniesieniu do początkowych założeń kon-
figuracyjnych. Kategoria pierwsza zakłada,
" wykrywać naruszenia polityki bezpieczeństwa w
że wszystko to na co nie ma bezpośredniego
odniesieniu do reguł zapory,
przyzwolenia jest zabronione. Drugie podej-
" wykrywać błędy w konfiguracji zapory,
ście opiera się na twierdzeniu, że wszystko
" stosować mechanizmy egzekwowania polityki
to, co nie jest w bezpośredni sposób zabro-
bezpieczeństwa.
nione, jest dozwolone. Patrząc z historyczne-
go punktu widzenia, w przeszłości bardziej
Powinieś wiedzieć...
popularna była forma druga (tzw. zapory po-
" posiadać przynajmniej podstawową wiedzę na
zwalające), jednak wraz z rozwojem Interne-
temat zapór ogniowych oraz narzędzi IDS,
tu i pojawianiem się coraz większej liczby za-
" znać obsługę narzędzi OpenBSD pf oraz
grożeń podejście pierwsze zaczęło zyskiwać
Snort.
coraz więcej zwolenników i stało się równo-
prawną alternatywą. Przy takim podejściu
hakin9 Nr 6/2006 www.hakin9.org
34
Różnicowa Analiza Pracy Zapory
następującą zasadę: zezwalaj na
Listing 1. Konfiguracja narzędzia OpenBSD pf
dostęp do naszej zewnętrznej wi-
tryny korporacyjnej z wewnętrznej
ext_if = "ne1"
sieci. Tak określona zasada jest ty-
int_if = "ne2"
powym przykładem wpisu do białej ext_office ="10.105.0.0/16"
int_lan ="192.168.10.0/24"
listy, jako że definiuje ona pewne
int_hosts_auth = "{ 192.168.10.167/32, 192.168.10.168/32, 192.168.10.189/32,
dozwolone i przewidziane zacho-
192.168.10.190/32, 192.168.10.213/32, 192.168.10.214/
wanie. Zadanie zapory polega na
32, 192.168.10.215/32 }"
dopasowaniu każdego ruchu poja-
(...)
wiającego się w sieci do wpisów na
swojej białej liście. Jeśli dopasowa-
#Ten wpis będzie blokował cały ruch wchodzący na obydwu interfejsach
nie będzie udane, ruch zostanie au-
block in all
tomatycznie przepuszczony; w każ-
(...)
dym innym przypadku ruch zosta-
#Ten wpis pozwala wewnętrznym hostom int_hosts_auth odwoływać się do sieci
nie zablokowany i fakt ten zostanie
10.105/16
odnotowany (najprawdopodobniej
pass in on $int_if proto tcp from $int_hosts_auth to $ext_office keep state
w postaci wpisu do loga). flags S/SA
pass out on $ext_if proto tcp from $int_hosts_auth to $ext_office modulate
Zastanówmy się jednak co się
state flags S/SA
stanie gdy zapora ulegnie awarii. I
(...)
właśnie w tym momencie pojawia
się problem: okazuje się ruch, któ-
ry powinien być zablokowany może włamań do naszej sieci. W związku z pimy się na bardziej zaawansowa-
bez żadnego problemu wpływać do tym potrzebujemy jakiegoś dodatko- nych produktach, przeznaczonych
naszej sieci. Spowodowane jest to wego mechanizmu, który byłby od- do ochrony dużych sieci korpora-
oczywiście brakiem aktywności re- powiedzialny za monitorowanie za- cyjnych.
guły złap-wszystko. Awaria zapory chowania firewalla. Transformacja mechanizmów
wiąże się też zazwyczaj z nieprawi- obsługi konfiguracji zapór, od linii
dłowym działaniem mechanizmu ra- Konfiguracja zapory: poleceń do zaawansowanych inter-
portowania. Innymi słowy: oprócz te- projektowanie fejsów graficznych sprawiła, że do
go, że podejrzane pakiety mogą bez Sposoby konfiguracji zapory ewolu- obsługi mechanizmów zabezpie-
problemu penetrować zakątki naszej ują. Na początku proces ten był po- czeń sieci korporacyjnej nie potrze-
sieci, to na dodatek nie pozostanie strzegany jako czarna magia (ob- ba już wysokce wykwalifikowanych
po nich żaden namacalny ślad. Sy- sługa dostępna wyłącznie z pozio- pracowników  dla firmy jest to nie-
tuację tę można wyobrazić sobie ja- mu linii komend). Na dzień dzisiej- wątpliwie duża oszczędność. Jed-
ko strażnika, który zasnął na służ- szym firewalle oferują użytkowni- nak z drugiej strony, brak specja-
bie: docelowa reguła (np. zatrzy- kom zaawansowane interfejsy gra- listycznej wiedzy mści się w przy-
muj na wejściu wszystkie obce oso- ficzne typu pokaż i przyciśnij. Za- padku kiedy zapora ulega awarii.
by) jest aktywna, ale nie egzekwo- pory stały się również bardziej po- W ekstremalnych sytuacjach sła-
wana ze względu na błąd systemu pularne w kręgach mniej doświad- bo wykwalifikowany pracownik mo-
(strażnik zasnął). Podsumowując, je- czonych użytkowników  mamy tu że w ogóle nie zauważyć, że coś
śli przyjmiemy możliwość wystąpie- do czynienia z tzw. personalnymi fi- się popsuło..
nia błędów w zaporze, to nie może- rewallami, które można instalować Przy projektowaniu konfigura-
my pokładać w tym mechanizmie ca- na indywidualnych stacjach robo- cji firewalla dobrą praktyką jest bez-
łego zaufania odnośnie wykrywania czych. W niniejszym artykule sku- pośrednie tłumaczenie reguł opisa-
nych w ramach polityki bezpieczeń-
stwa danej organizacji na reguły za-
pory. Prosta, acz efektywna polityka
bezpieczeństwa polega na zabloko-
waniu bezpośredniego dostępu z ze-
wnętrznych sieci do wewnętrznego
intranetu firmy, przy czym cały do-
zwolony ruch przechodzi przez tzw.
pełnomocników (ang. Proxies). Za-
daniem pełnomocników jest prze-
chwytywanie i weryfikacja różnych
Rysunek 1. Uproszczona struktura sieci postrzegana z punku widzenia
typów ruchu w sieci (e-mail, web,
zapory
FTP, itd.) i transfer tego ruchu do
www.hakin9.org hakin9 Nr 6/2006 35
Narzędzia
właściwych punktów przeznaczenia. tor linii telefonicznej  wszystko to konfigurację przy każdym bootowa-
Procedura taka powinna być stoso- w zależności od tego jakie karty niu systemu.
wana zarówno dla ruchu wchodzą- rozszerzeń dołączymy do urządze- Przedstawione wyżej zasa-
cego jak i wychodzącego. nia. W ramach niniejszego artykułu dy tworzą mechanizm autoryza-
Oczywiście i tutaj zdarzają się będziemy rozważać urządzenie re- cji dla przepływu ruchu pomię-
tzw. wyjątki prezesa. To ostatnie prezentujące zaporę opartą na re- dzy określonymi hostami w sieci
określenie wiąże się z faktem, że gułach, która działa w kontekście 192.168.10/24 oraz dowolnym ho-
wspomniane wyjątki łączą się za- dwóch warstw: wewnętrznej i ze- stem z sieci 10.105/16. Klauzula
zwyczaj z dodatkowymi wymagania- wnętrznej (patrz Rysunek 1). block in all będzie blokować każ-
mi ze strony managementu (na przy- Rozważmy prostą zaporę dą inną próbę dostępu. Z teoretycz-
kład żądanie dostępu do wewnętrz- przedstawioną na Listingu 1. Za- nego punktu widzenia, na tym eta-
nej sieci z domu, lub w trakcie podró- pora ta opiera się na narzędziu pie możemy śmiało powiedzieć, że
ży). Aby uzyskać tego typu niestan- OpenBSD pf. W tym przykładzie żadne nielegalne pakiety nie po-
dardowe efekty trzeba dodać do za- wewnętrzna warstwa sieci jest zde- winny opuścić naszej wewnętrznej
pory dodatkowe reguły. Z czasem finiowana jako 192.168.10/24, zaś sieci. Pozostaje nam jeszcze konfi-
wyjątki się mnożą i wolno aczkol- cała reszta oznacza warstwę ze- guracja mechanizmu logowania; je-
wiek nieuchronnie polityka prywat- wnętrzną. W warstwie wewnętrznej śli wykonamy ten dodatkowy krok
ności staje się coraz bardziej złożo- definiujemy adres 10.105/16 jako to wszelkie próby naruszenia zdefi-
na, co z kolei sprawia trudności przy zdalną sieć biurową, do której nale- niowanych powyżej reguł będą wy-
monitorowaniu. ży zapewnić dostęp użytkownikom. słane do odpowiednich hostów lo-
Struktura sieci z punktu widze- Podstawowa zasada naszej polity- gujących gdzie będzie je można
nia zapory powinna być jak naj- ki bezpieczeństwa mówi, że połą- monitorować.
prostsza; preferuje się tu wyodręb- czenia przychodzące są dozwolo-
nienie dwóch warstw: wewnętrznej ne tylko wtedy gdy pojawiły się jako Różnicowa Analiza
i zewnętrznej. Oczywiście w prak- odpowiedzi na żądania wychodzą- Pracy Zapory
tyce rzeczywistość jest bardziej ce z hostów podłączonych do sieci Posiadając konfigurację i przykła-
skomplikowana  firewalle posiada- wewnętrznej. W konfiguracji mamy dową sieć powinniśmy pomyśleć od
ją zazwyczaj zarówno wielokrotne wpisy definiujące dziury oraz wyra- wprowadzeniu dodatkowych mecha-
warstwy wewnętrzne (np. kilka pod- żenia block in all. Zakładamy rów- nizmów monitorowania w celu wyła-
sieci w jednej firmie) jak i zewnętrz- nież, że zapora OpenBSD zosta- pania defektów w działaniu zapory.
ne (np. połączenia obsługiwane ła poprawnie skonfigurowana  w Optymalnie byłoby sprawdzać czy
przez różne podmioty ISP). Zjawi- taki sposób, że może działać jako każda z reguł określonych w konfigu-
sko tego typu wiąże się z często router, wliczając w to weryfikację racji została zachowana, ze szcze-
stosowaną praktyką pakowania jak konfiguracji sieciowych adresów IP. gólnym uwzględnieniem reguły blo-
największej liczby usług w ramach Aby uzyskać ten efekt należy umie- kującej niepożądany ruch.
pojedynczego systemu. Jako przy- ścić wpis net.inet.ip.forwarding=1 W tej sytuacji potrzebna nam
kład można przytoczyć tu chociaż- w pliku /etc/sysctl.conf, oraz wpis będzie możliwość porównywania
by systemy oferowane przez firmę pf=YES w pliku /etc/rc.conf.local. w czasie rzeczywistym ruchu ze-
Cisco, gdzie router może służyć ja- Dzięki temu pf będzie się automa- wnętrznego z ruchem wewnętrznym
ko zapora, switch będz koncentra- tycznie włączał i wczytywał swoją i mechanizmu alarmowania jeśli wy-
niki porównania nie będą odpowia-
dać naszym regułom. W tym ce-
lu zmodyfikujemy nasz prosty dia-
gram architektury sieci dodając dwa
punkty monitorujące (patrz: Rysu-
nek 2).
We wspomnianych punktach mo-
nitorujących możemy podłączyć do-
wolny Systemu Detekcji Włamań
(ang. Intrusion Detection System,
NIDS), dla którego określimy wyma-
gane zasady. W punktach tych mo-
żemy zastosować zarówno mecha-
nizm odzwierciedlania portów jak i
TAPy w celu przekazania ruchu do
Rysunek 2. Uproszczony schemat przykładowej sieci rozszerzony o punkty IDS (patrz: ramka Kopiowanie ru-
monitorujące chu).
www.hakin9.org
36 hakin9 Nr 6/2006
Różnicowa Analiza Pracy Zapory
W ramiach niniejszego artyku- ramy niniejszego artykułu, jednak pośrednio połączyć do zewnętrz-
łu jako NIDS użyjemy narzędzia postaramy się przedstawić kilka nych systemów. Działanie takie,
Snort. Przedstawione tu techniki faktów mocno przemawiających za określone jest jako dzwonienie do
mogą być z powodzeniem stosowa- tym aby monitorować również ruch domu (ang. calling home), może
ne w połączeniu z dowolnym, pro- wychodzący. Po pierwsze, warto prowadzić do całkowitego przeję-
gramowalnym narzędziem NIDS wziąć pod uwagę, że najnowsze cia przez twórcę (lub twórców) wi-
dostępnym na rynku. Na tym eta- wirusy dla systemu Windows, któ- rusa kontroli nad komputerem ofia-
pie najczęściej występującym błę- re oprócz generowania ogromnej ry. Zainfekowany komputer mo-
dem koncepcyjnym jest ograniczo- ilości wychodzących wiadomości że być pózniej nadużywany w nie-
ne myślenie w kategoriach jedne- email (do których załączone są za- malże dowolny sposób: poczynając
go kierunku przepływu ruchu. Co zwyczaj poufne pliki), otwierają tyl- od rozsyłania spamu lub blokowa-
prawda wykracza to trochę poza ne furtki czy wręcz próbują się bez- nia sieci IRC, a kończąc na włama-
niach do innych, zewnętrznych sys-
temów lub przechwytywania waż-
Kopiowanie ruchu nych informacji przy pomocy urzą-
Aby analizować lub monitorować ruch w sieci trzeba najpierw uzyskać do niego
dzeń takich jak drukarki, serwe-
dostęp; aby sprostać temu zadaniu można wykorzystać hub, SPAN lub TAP. Naj-
ry druku, narzędzia monitorowania
bardziej popularna metoda węszenia przepływających pakietów opiera się na hu-
sieci lub zle skonfigurowane opro-
bie  urządzeniu, które potrafi powtarzać pakiety na wszystkich interfejsach. W tej
gramowanie.
sytuacji wystarczy dla danego sensora bądz sondy przełączyć interfejs na działa-
Gdybyśmy rozważali jedynie ruch
nie w tryb masowym (ang. promiscuous mode)  i sprawa załatwiona. Oczywiście,
przychodzący, oczywiste byłoby, że
w sieciach korporacyjnych nie korzysta się z hubów; ze względu na wysoki stopień
wystarczyłby pojedynczy sensor w
zaawansowania tych topologii wykorzystuje się w tym przypadku raczej switche
wewnętrznej warstwie naszej sieci.
bądz routery. W takim odniesieniu do śledzenia ruchu należy zaadoptować SPAN
Sensor ten byłby zaprogramowany
lub TAP. Przyjrzyjmy się różnicom w tych rozwiązaniach. SPAN (skrót od angiel-
skiej nazwy Switched Port Analyzer) określany jest również mianem odzwierciedla- tak, aby sygnalizować wszelkie błę-
nia portów. Mechanizm ten jest bardzo prosty i polega na konfiguracji przełączania dy w konfiguracji zapory w sytuacji
portu pod który podłączony będzie sensor lub sonda, tak aby odbierał on ruch z in- kiedy teoretycznie niedopuszczalny
nych portów. Mimo swojej prostoty i faktu, iż mechanizm ten jest wspierany niemal-
ruch pojawia się w naszej wewnętrz-
że przez wszystkich producentów sprzętu sieciowego, dochodzą tu do głosu pewne
nej sieci. Biorąc pod uwagę wysoce
niedogodności: chociażby problem dużego obciążenia sieci, który powoduje prze-
prawdopodobną możliwość pojawie-
rwy w dostawie pakietów do docelowego portu SPAN; co więcej  również błędne
nia się niepożądanego ruchu w dru-
pakiety oraz występowanie błędów w pierwszej i drugiej warstwie zazwyczaj też łą-
gą stronę, należy uznać zasadność
czy się z występowaniem kłopotów. Inny problem wiąże się z pojemnością: na przy-
istnienia zewnętrznego sensora.
kład aby rejestrować pełny, dwókierunkowy ruch na każdym łączu o przepustowo-
ści 100 Mbps, SPAN port musiałby mieć pojemność 200 Mbps. Jeśli chcemy unik-
Konfiguracja NIDS
nąć wymienionych tu kłopotów warto rozważyć wykorzystanie TAP.
TAP (skrót od angielskiej nazwy Test Access Port), jest dedykowanym urzą-  sensor wewnętrzny
dzeniem, zaprojektowanym w celach monitoringowych. Jest to port stałego do- Zajmijmy się teraz konfiguracją we-
stępu, pozwalający podłączyć sensor lub sondę w celu pasywnego monitorowa- wnętrznego sensora. Zbiór reguł bę-
nia. TAP przechwytuje pełny ruch - włącznie z błędami i obsługuje dane w trybie
dzie określony tu bardzo prosto:
full-duplex, przy czy strumień danych jest rozbity na dwie linie: TX i RX. Ze względu
na ostatni z wymienionych faktów, w celu odtworzenia oryginalnego ruchu potrze-
" Zmienna $INSIDE definiuje pod-
ba dwóch interfejsów sieciowych; ten sam efekt można uzyskać korzystając z wir-
sieć 192.168.10/24, którą określi-
tualnego interfejsu (więcej szczegółów na ten temat można znalezć pod adresem
liśmy wcześniej jako sieć biuro-
http://sourceforge.net/projects/bonding). Alternatywna opcja polega na tym aby
wą.
użyć narzędzia mergecap (lub czegoś podobnego) w celu stworzenia pojedyncze-
" Zmienna $OUTSIDE definiuje
go przepływu z dwóch strumieni danych. Można również podłączyć TAP do switcha
wszystko inne: !$INSIDE (sym-
zaś sensor/sondę podpiąć do odzwierciedlonego portu na tym switchu, albo sko-
bol wykrzyknika jest używany w
rzystać z agregatora w postaci portu TAP, dzięki czemu monitorowany port będzie
odbierał cały, połączony strumień ruchu. W sytuacji kiedy mamy do czynienia z za- Snort do reprezentacji logiczne-
awansowaną architekturą sieci wyposażoną w duża liczbę różnego rodzaju sond,
go operatora not).
warto rozważyć wykorzystanie sprzętu nowej generacji, takiego jak aparaty wypo-
sażone w wielokrotne łącza sieciowe dla rozproszonych analizatorów. W ramach
W następnym kroku rozważymy wy-
dopełnienia zaprezentowanej w tym miejscu zwięzłej analizy metodologii kopiowa-
jątki określone w konfiguracji zapo-
nia ruchu w sieci, na Rysunku 4 można zapoznać się z typowym schematem podłą-
ry:
czenia TAP. Osobom zainteresowanym sugerujemy również przejrzenie poradnika
opisującego zasady rozmieszczania systemów typu IDS, dostępnego pod adresem
" Zmienna $EXTERNAL_OFFICE
http://www.snort.org/docs/#deploy.
jest zdefiniowana jako sieć, do
której autoryzujemy bezpośred-
www.hakin9.org hakin9 Nr 6/2006 37
Narzędzia
nie połączenia, (konkretna war- gi wtyczek czy też standardowego strony, jeśli już mamy zainstalowane
tość: 10.105/16). zbioru sygnatur). narzędzie NIDS, to czemu nie sko-
" Zmienna $INT_HOSTS_AUTH rzystać z jego rozszerzonych moż-
określa zbiór wewnętrznych syste- Dodawanie reguł IDS do liwości?
mów, które mogą łączyć się bez- wewnętrznego sensora Za dobrą praktykę uważa się
pośrednio z siecią zewnętrzną. W Warto zapytać się w tym miejscu o dodawanie lokalnych reguł na po-
notacji Snort zbiór taki zapisze- wbudowane reguły Snorta: czy jest czątku pliku z definicją reguł stan-
my to jako listę adresów umiesz- sens aby ich używać? Odpowiedz dardowych (snort.conf). Przy za-
czonych w nawiasach kwadra- zależy od lokalnej konfiguracji syste- chowaniu takiej kolejności Snort
towych i rozdzielonych przecin- mu. Jeśli planujemy użyć Snorta tyl- będzie najpierw brał pod uwagę
kami np. [192.168.10.167,...]. Na ko w celu sprawdzania integralności nasze reguły przepuszczające, da-
końcu zdefiniujemy kilka oczywi- naszej zapory, to wspomniane regu- lej zastosuje swoje reguły standar-
stych punktów docelowych, które ły nie są konieczne. Jednak z drugiej dowe, zaś na końcu zaaplikuje re-
będą umieszczone w naszej we-
wnętrznej sieci: web proxy, ser-
wer mailowy oraz serwer DNS.
Zakładamy, że wszystkie te ser-
wisy są zlokalizowane na hoście
192.168.1.1, umieszczonym po ze-
wnętrznej stronie zapory (general-
nie jest to bardzo kiepskie rozwią-
zanie  w świecie rzeczywistym
usługi te powinny być zlokalizowa-
ne w strefie ściśle strzeżonej  w
odniesieniu do niniejszego tekstu
zaakceptujemy takie rozwiązanie
ze względu na jego prostotę).
Przyjmijmy więc co następuje:
Rysunek 3. Schemat podłączenia TAP
" Zmienna $SERVICES określa
hosta na którym uruchomione są
wspomniane wyżej serwisy (ad-
res: 192.168.1.1).
W tym miejscu mamy już wszyst-
kie potrzebne informacje potrzeb-
ne do zapisania odpowiednich re-
guł (patrz: Listing 3). Reguły te bę-
dą się odnosić do sieci zaprezento-
wanej na Rysunku 3. Należy zwró-
cić w tym miejscu uwagę na istot-
ność porządku definicji reguł, jako
że chcemy aby reguły przepusz-
czające miały wyższy priorytet
niż końcowa reguła złap-wszyst-
ko. Wato też wspomnieć, iż w ce-
lu poprawnej obsługi przedstawio-
nego tu pliku konfiguracji narzędzie
Snort należy uruchomić z opcją -o.
Dzięki przekazaniu tej opcji silnik
obsługi reguł będzie działał w try-
bie pass, log, alert. Przedstawiony
zbiór reguł jest bardzo mały i przez
to nie było okazji wykorzystać tu
wielu bardzo przydatnych właści-
wości narzędzia Snort (np. obsłu- Rysunek 4. Uproszczona sieć ze zdefiniowanym punktem monitorowania
www.hakin9.org
38 hakin9 Nr 6/2006
Różnicowa Analiza Pracy Zapory
gułę złap-wszystko. Bardziej docie- zapora z jakichś przyczyn przesta- Docelowy zbiór reguł jest nie-
kliwi czytelnicy mogą zapytać się w nie działać to dzwonienie do domu malże identyczny jak w przypad-
tym miejscu czego można spodzie- wykonywane przez trojana będzie ku sensora wewnętrznego  jedy-
wać się po wbudowanych regułach niezwłocznie zauważone. na różnica polega na tym, że nie
Snorta. Jakiego rodzaju ruch mo- sygnalizujemy wychodzenia we-
gą one zablokować? Otóż reguły te Konfiguracja NIDS wnętrznego ruchu do zewnętrznej
są bardzo dobre w wychwytywaniu  sensor zewnętrzny sieci. Jest to kluczowy aspekt, któ-
trojanów atakujących systemy z ro- Główną różnicą pomiędzy we- ry nadaje sens różnicowej analizie
dziny Windows. Co prawda, w przy- wnętrznym i zewnętrznym sensorem działania zapory i pozwala wykry-
padku dobrze skonfigurowanego fi- jest to, że ten drugi jest wystawiony wać usterki w konfiguracji  w od-
rewalla połączenia wychodzące ze na przysłowiową dzicz Fakt sprawia, niesieniu do ruchu w obie strony.
strony tych złośliwych programów że sensor ten jest idealnym kandy- Przykładowa konfiguracja senso-
pozostaną najprawdopodobniej za- datem na wykorzystanie wszystkich ra pokazana jest na Listingu 3 (de-
blokowane, i infekcja systemu po- standardowych reguł NIDS oferowa- finicje są identyczne jak na Listin-
zostanie niezauważona na pozio- nych przez Snorta; jedynie filtrowa- gu 2).
mie NIDS. Przykładowo, w przy- niem ustawiamy na minimalny po-
padku konfiguracji naszej zapory, ziom (można je nawet wyłączyć  ze Obsługa NAT
połączenie wychodzące z hosta względu na to, że filtrowanie jest za- Ściśle mówiąc, systemy Tłumacze-
172.16.12.1 na porcie 54321, naj- zwyczaj i tak wykonywane po stro- nia Adresów Sieciowych (ang. Ne-
prawdopodobniej nigdy nie będzie nie ISP w celu minimalizacji liczby twork Address Translation, NAT) w
widoczne poza NIDS. Jednak gdy ataków). odniesieniu do specyfikacji TCP/IP
nie powinny w ogóle istnieć. Wią-
że się to z jednym z piedestałów
Listing 2. Konfiguracja narzędzia Snort: sensor wewnętrzny
na których spoczywa standard
TCP/IP, a mianowicie: jedna ma-
#
szyna, jeden adres IP. Generalnie
# Sensor wewnętrzny  przekazać flagę  -o przy uruchamianiu narzędzia Snort
# NAT nie jest niczym więcej jak od-
# Definicje zmiennych
wzorowaniem wielu-do-jednego, w
#
którym wartość adresu IP pobrana
var INSIDE [192.168.10.0/24]
z prywatnego zakresu (zdefiniowa-
var OUTSIDE !$INSIDE
nego w RFC1918) jest przekształ-
var SERVICES [192.168.1.1/32]
var PROXY_PORT 8080 # TCP cana przez zaporę transformującą
var SMTP_PORT 25 # TCP
na pojedynczy, publiczny adres IP,
var DNS_PORT 53 # TCP/UDP
zanim pakiety zostaną wysłane do
var EXTERNAL_OFFICE [10.105.0.0/16]
Internetu. Podejście takie ma wiele
var INT_HOSTS_AUTH [192.168.10.167,192.168.10.168,192.168.10.189,\
zalet: pozwala zmniejszyć ilość wy-
192.168.10.190,192.168.10.213,192.168.10.214,192.168.10.215]
# korzystywanych adresów IP (jeden
# W pierwszej kolejności obsługujemy reguły  przepuszczające ; zakładamy, że
IP reprezentuje wiele maszyn), ale
mamy do czynienia
ponad wszystko  tworzy dodatko-
# z dobrze zachowującym się systemem, w którym połączenia wychodzą z portów
wą barierę dla intruzów, którzy pró-
# nieuprzywilejowanych.
bują infiltrować dany system z ze-
#
pass tcp $INSIDE 1023: <> $SERVICES $PROXY_PORT wnątrz.
pass tcp $INSIDE 1023: <> $SERVICES $SMTP_PORT
Powodem popularności syste-
# Następujący wpis zakłada używanie nowoczesnej biblioteki do obsługi
mu NAT w społeczności specjali-
resolvera (np. sport != 53)
stów od bezpieczeństwa sieci jest
pass tcp $INSIDE 1023: <> $SERVICES $DNS_PORT
to, że sprawia on, iż bardzo trud-
pass udp $INSIDE 1023: <> $SERVICES $DNS_PORT
pass tcp $INT_HOSTS_AUTH 1023: <> $EXTERNAL_OFFICE any no jest odwzorować sieć schowa-
#
ną za zaporą, jako że wszystkie
# Reguła  złap-wszystko , zapisywanie sesji. W tym miejscu
połączenia przychodzące z ze-
# monitorujemy zewnętrzny ruch wchodzący do zapory. Podobna
wnątrz nie będą miały odpowia-
# reguła będzie utworzona dla ruch przepływającego w drugą stronę.
dających wpisów w tablicy odwzo-
#
var SESSION_TTL 60 # Jak długo trzymamy sesję? rowań firewalla (zakładamy że nie
alert tcp $OUTSIDE any -> $INSIDE any ( \
odbywa się przekierowywanie por-
msg: "Firewall error - disallowed external traffic on int net" \
tów, które pozwala w sposób prze-
tag: session, $SESSION_TTL, seconds; \
zroczysty odwzorować port w pu-
rev:1; \
blicznym adresie IP zapory na port
)
w prywatnym adresie  za zaporą).
www.hakin9.org hakin9 Nr 6/2006 39
Narzędzia
Oczywiście NAT nie jest trudnością Ciągle brakuje nam jedne- Wszystko to oznacza, że wszystkie
nie do przebrnięcia (dostęp można go szczegółu: fakt, że łapiemy we- reguły powinny być zastosowane ze
uzyskać na przykład przy pomocy wnętrzne adresy na zewnętrznej sie- zmienną $INTERNAL odwzorowaną
pełnomocników lub wykorzystując ci jest niewystarczający. Jeśli NAT na publiczny adres IP zapory.
schemat ataku man in the middle), jest aktywny i działa, to może się Wreszcie, stosowanie NAT pro-
jednak dzięki wykorzystaniu tego okazać, że naruszamy zasady wła- wadzi do pewnego olbrzymiego
mechanizmu poprzeczka dla jest snej zapory. Wróćmy do reguł zde- skrótu: otóż tracimy w tym przy-
zawieszona dość wysoko. finiowanych w sekcji 2. Należy w padku możliwość monitorowania
Skutkiem ubocznym przy stoso- tym miejscu dobrze zrozumieć, że naszych specyficznych reguł  prze-
waniu NAT jest to, że nasze defini- przy używaniu NAT cały wychodzą- puszczających , które zdefiniowali-
cje sieci wewnętrznej i zewnętrznej cy ruch jest poddawany transforma- śmy pomiędzy określonymi syste-
stają się nieco mętne. Podstawową cji (IPint, sportint) ! (IPfw, sportfw), mami wewnętrznymi a siecią ze-
tego przyczyną jest fakt, że dopó- gdzie Ipfw jest możliwym do prze- wnętrzną. Niedogodność ta wyni-
ki korzystamy z zapory, każdy ad- kierowania (publicznym) adresem ka z faktu, iż silnik NAT (zakłada-
res wewnętrzny staje się adresem IP przypisanym do zapory, zaś spor- jąc, że działa poprawnie) sprawia,
prywatnym i przez to (zgodnie z za- tfw jest losowym, docelowym por- że wszystkie wewnętrzne adresy
leceniem RFC1918)  nie można tem przypisanym przez silnik NAT. IP wyglądają jak jeden zewnętrzny
się do niego odwoływać. To z ko-
lei oznacza, że router nie powinien
Listing 3. Konfiguracja narzędzia Snort: sensor zewnętrzny
akceptować żadnych adresów z za-
kresu RFC1918, czyniąc niemożli-
#
wym wysłanie jakiegokolwiek pa- # Sensor wewnętrzny  przekazać flagę  -o przy uruchamianiu narzędzia Snort
#
kietu z publicznego do prywatne-
# Definicje zmiennych
go IP. Fakt ten nie oznacza, że na-
#
sza reguła opisująca działanie we-
wnętrznego sensora jest zła, ponie-
var INSIDE [192.168.10.0/24]
waż wewnętrzny zakres adresów var OUTSIDE !$INSIDE
var SERVICES [192.168.1.1/32]
RFC1918 ciągle będzie otrzymy-
var PROXY_PORT 8080 # TCP
wał pakiety z publicznych adresów.
var SMTP_PORT 25 # TCP
Zapora nie tłumaczy zewnętrznych
var DNS_PORT 53 # TCP/UDP
adresów w ruchu przychodzącym,
var EXTERNAL_OFFICE [10.105.0.0/16]
ona jedynie ponownie odwzoro- var INT_HOSTS_AUTH [192.168.10.167,192.168.10.168,192.168.10.189,\
192.168.10.190,192.168.10.213,192.168.10.214,192.168.10.215]
wuje docelowe adresy przy uży-
ciu transformacji (IPext, dportext) !
#
(IPint, dportint), dla każdego połą-
# W pierwszej kolejności obsługujemy reguły  przepuszczające ; zakładamy, że
czenia, które pochodzi z wewnątrz.
mamy do czynienia
W rezultacie otrzymamy komunikat # z dobrze zachowującym się systemem, w którym połączenia wychodzą z portów
# nieuprzywilejowanych.
o błędzie  zarówno na zaporze jak
#
i w NAT. Wynika to z tego, że każ-
de połączenie, które nie przychodzi
pass tcp $INSIDE 1023: <> $SERVICES $PROXY_PORT
z jednego z zewnętrznych autory-
pass tcp $INSIDE 1023: <> $SERVICES $SMTP_PORT
zowanych hostów nigdy nie powin-
# Następujący wpis zakłada używanie nowoczesnej biblioteki do obsługi
no być przepuszczone  niezależ-
resolvera (np. sport != 53)
nie od tego czy NAT jest włączony
czy nie. A co w tej sytuacji stanie
pass tcp $INSIDE 1023: <> $SERVICES $DNS_PORT
sie z zewnętrznym sensorem? Czy
pass udp $INSIDE 1023: <> $SERVICES $DNS_PORT
nadal jest sens monitorować we- pass tcp $INT_HOSTS_AUTH 1023: <> $EXTERNAL_OFFICE any
#
wnętrzne adresy w odniesieniu do
# Reguła  złap-wszystko , zapisywanie sesji. W tym miejscu
sieci zewnętrznej? Oczywiście, że
# monitorujemy zewnętrzny ruch wchodzący do zapory. Podobna
tak! Jeśli wewnętrzny adres jest wi-
# reguła będzie utworzona dla ruch przepływającego w drugą stronę.
doczny na zewnętrznej sieci, to ma-
#
my do czynienia z naruszeniem za- var SESSION_TTL 60 # Jak długo trzymamy sesję?
alert tcp $INSIDE any -> $OUTSIDE any ( \
sad RFC1918, gdyż te nie pozwala-
msg: "Firewall error - disallowed internal traffic on ext net" \
ją przekazywać zabronionych adre-
tag: session, $SESSION_TTL, seconds; \
sów do Internetu. W takim wypadku
rev:1; \
reguła złap-wszystko wykryje błęd-
)
ne funkcjonowanie silnika NAT.
www.hakin9.org
40 hakin9 Nr 6/2006
Różnicowa Analiza Pracy Zapory
adres zapory. Tracimy w tym przy-
Listing 4. Konfiguracja zewnętrznego sensora ze wsparciem dla NAT
padku wartość zmiennej $INTER-
NAL_AUTH. Na rozwiązanie tego
#
problemu nie ma niestety konkret- # Sensor wewnętrzny ze wsparciem dla NAT
nej recepty: pozostaje nam jedy- # Przekazać flagę  -o przy uruchamianiu narzędzia Snort
#
nie polegać na regułach wewnętrz-
# Definicje zmiennych
nych, czyli stwierdzić, że reguły
#
przepuszczające dla wewnętrznej
var OUTSIDE !$INSIDE
konfiguracji będą we właściwy spo- var FWEXTIP [172.16.1.1/32]
var INSIDE [192.168.10.0/24,$FWEXTIP]
sób kontrolować adresy IP (patrz:
var SERVICES [192.168.1.1/32]
Listing 4).
var PROXY_PORT 8080 # TCP
var SMTP_PORT 25 # TCP
Konkluzja
var DNS_PORT 53 # TCP/UDP
W momencie kiedy obydwa opisa- var EXTERNAL_OFFICE [10.105.0.0/16]
ne wyżej sensory zbierają informa- #
# Należy pamiętać, że większość implementacji NAT mapuje zródłowy port
cje możemy zastosować technikę
# na port nieuprzywilejowany, niezależnie do portu oryginalnego.
połączenia logów w celu porówna-
#
nia oczekiwanych wyników (nie po-
pass tcp $FWEXTIP 1023: <> $SERVICES $PROXY_PORT
winno się pojawić nic poza stan- pass tcp $FWEXTIP 1023: <> $SERVICES $SMTP_PORT
pass tcp $FWEXTIP 1023: <> $SERVICES $DNS_PORT
dardowymi ostrzeżeniami Snorta)
pass udp $FWEXTIP 1023: <> $SERVICES $DNS_PORT
z aktualnym wyjściem. Jeśli w od-
#
powiedni sposób zastosujemy syn-
# Poniższa reguła jest teraz o wiele słabsza  cała sieć wewnętrzna
chronizację NTP, logi mogą być
# jest obsługiwana poprzez NAT.
monitorowane równolegle zaś waż- #
ne informacje przekazywane bar- pass tcp $FWEXTIP 1023: <> $EXTERNAL_OFFICE any
#
dzo szybko.
# Reguła  złap-wszystko , zapisywanie sesji.
Celem różnicowej analizy pra-
# Monitoruje wewnętrzny ruch na zewnętrznej sieci.
cy zapory jest uzyskanie możliwo-
ści monitorowania nieoczekiwa- var SESSION_TTL 60 # Jak długo trzymamy sesję?
nych awarii softwarowych firewal- alert tcp $INSIDE any -> $OUTSIDE any ( \
msg: "Firewall error - disallowed internal traffic on ext net" \
la. Technika ta przyczynia się rów-
tag: session, $SESSION_TTL, seconds; \
nież do skuteczniejszego wykry-
rev:1; \
wania błędów w konfiguracji zapo-
)
ry, gdyż przy jej stosowaniu regu-
ły bezpieczeństwa zapisuje się w
co najmniej dwóch różnych nota- figurację urządzeń, takich jak route- wić nad możliwością monitorowania
cjach (niektórzy specjaliści stosu- ry, firewalle itd., zaś zadaniem SOC usterek zapory w czasie rzeczywi-
ją różne rodzaje narzędzi NIDS dla jest monitorowanie logów opisują- stym  na bazie integracji wyjścia
wewnętrznych i zewnętrznych sen- cych ruch w sieci, wygenerowanych generowanego przez Snorta (lub
sorów). przez IDSy, sondy RMON lub inne inne, dowolne narzędzie NIDS) z
Wdrożenie prezentowanego roz- narzędzia o podobnym przeznacze- centralną, zorientowaną-na-pozy-
wiązania pociąga za sobą również niu. W takim kontekście, różnicowa cję konsolą. Ta pozycyjna orienta-
efekt  wymuszenia polityki - szcze- analiza pracy zapory automatycz- cja oznacza w tym przypadku to, iż
gólnie przydatny w firmach, gdzie nie zacieśnia współpracę pomiędzy konsola jest skonfigurowana na ba-
zazwyczaj zdefiniowane są dwie obydwoma wspomnianymi podmio- zie wiedzy o lokacji sensorów, dzię-
grupy odpowiedzialności, zwane tami  oprócz tego, że i jedni i dru- ki czemu błędy zapory mogą być
odpowiednio NOC i SOC (skró- dzy muszą tworzyć spójne reguły poprawnie raportowane jako we-
ty od angielskich nazw: Network dla dwóch systemów, to NOC czer- wnętrzne, zewnętrzne, związane z
Operation Center i Security Ope- pie korzyści z informacji na temat silnikiem NAT itd.
ration Center). Grupa NOC jest od- błędów firewalla, zaś SOC ma wię- Na sam koniec warto zauważyć,
powiedzialna za zarządzanie i kon- cej okazji na wyłapywanie naruszeń ze opisany rodzaj analizy można
polityki bezpieczeństwa. również z powodzeniem stosować
Prezentowana technika oferuje w odniesieniu do serwisów proxy
W Sieci
duże pole do manewru jeśli chodzi uruchamianych na serwerze  cho-
" http://www.openbsd.org/faq/pf
o rozszerzenia i nowe kierunki roz- ciażby po to aby być pewnym, że
" http://www.snort.org
woju. Prowadząc dalsze badania w połączenia z tymi serwisami działa-
tym temacie warto by się zastano- ją poprawnie w obie strony. l
www.hakin9.org hakin9 Nr 6/2006 41


Wyszukiwarka

Podobne podstrony:
2006 01 Analiza bezpieczeństwa komunikatora internetowego z wykorzystaniem platformy Linux [Bezpiecz
2006 06 Wstęp do Scrum [Inzynieria Oprogramowania]
Egzamin 2006 06
06 Linux Archiwizacja danych i kopie bezpieczeństwa
2014 vol 09 UE i FR PORÓWNANIE SKUTECZNOŚCI PROWADZENIA POLITYKI BEZPIECZEŃSTWA ENERGETYCZNEGO [NA
2006 06 Laptop Lullabye
us iraq intsum 2006 06 08
2006 06 232945 Set26 Verbal
2006 06 232958 Set26 Math
2006 06 233849 Set31 Verbal
2009 06 Analiza obrazu z wykorzystaniem ImageJ [Grafika]
2006 06 Collection Maker Building Digital Libraries with Greenstone

więcej podobnych podstron