PANSTWOWA WYŻSZA SZKOŁA ZAWODOWA
W KROŚNIE
INSTYTUT POLITECHNICZNY
KIRUNEK: SIECIOWE SYSTEMY INFOTMARYCZNE
Imię i nazwisko autora : Maciej Michalski
Nr albumu: 11753
Tytuł pracy : Implementacja Firewall’i w oparciu o elementy aktywne sieci
LAN/WAN.
Praca inżynierska wykonana pod opieką :
dr. inż Mariusza Święcickiego.
Ocena: ……………………………..
Krosno 2011
1
Spis treści
Wstęp……………………………………………………………………………………5
Cel pracy ……………………………………………………………………………….7
Zakres pracy……………………………………………………………………………8
Rozdział I Wprowadzenie do Firewalli
1.1 Wprowadzenie do Firewalli........................................................................................9
1.1.1
Co to jest Firewall?...…………………………………………………………....9
1.1.2
Jak działają Firewalle…………………………………………………………..10
1.1.3
Zagrożenia w sieci……………………………………………………………...14
1.1.4
Polityki bezpieczeństwa………………………………………………………..16
1.2 Podstawy Firewalli…………………………………………………………………17
1.2.1
Klasyfikacja firewalli…………………………………………………………..17
1.2.2
Technologie Firewalli………………………………………………………….19
1.2.3
Open source oraz komercyjne Firewalle………………………………………25
Rozdział II Technologie firewalli
2.1 TCP/IP dla Firewalli………………………………………………………………..26
2.1.1
Protokoły, Usługi i Aplikacje…………………………………………………..26
2.1.2
Internet Protocol (IP)…………………………………………………………...31
2.1.3
Transmission Control Protocol (TCP)………………………………………….33
2.1.4
User Datagram Protocol (UDP)………………………………………………...35
2.1.5
Internet Control Message Protocol (ICMP)…………………………………….37
2.1.6
Network Address Translation (NAT)…………………………………………..39
2.1.7
Broadcast ……………………………………………………………………...42
2.1.8
IP Routing………………………………………………………………………43
2.2 W jakiej sieci można zastosować firewalle (architektury)…………………………51
2.2.1
Architektury pojedynczego firewall’a………………………………………….51
2.2.2
Architektura podwójnego firewall’a……………………………………………54
2.2.3
System firewall (single/dual)………………………………………………...…55
2.2.4
Pozostałe architektury…………………………………………………………..58
2
2.2.5
Listy ACL oraz VLAN-y……………………………………………………….64
2.2.6
Wysoka dostępność w projektowaniu firewalli………………………………...76
Rozdział III Jak działają Firewalle
3.1 Router’y szeroko pasmowe i Firewalle…………………………………………….78
3.1.1
Jak działają Routery szerokopasmowe…………………………………………78
3.1.2
Linksys Routers/Firewall……………………………………………………….80
3.1.3 Konfiguracja routera Linksys…………………………………………………..83
3.2 Cisco PIX Firewall oraz ASA Firewall………………………………………......92
3.2.1 PIX / ASA Cechy firewalli……………………………………………………..92
3.2.2 Zasady działania firewalli PIX/ASA…………………………………………...94
3.2.3 Konfiguracja firewalli Cisco PIX/ASA……………………………………….100
3.3 Linux Firewall…………………………………………………………………….112
3.3.1 NetFilter cechy, żądania oraz zasada działania………………………………112
3.3.1 Konifiguracja NetFilter……………………………………………………….115
3.4 Aplikacja Proxy Firewall………………………………………………………….120
3.4.1 Funkcjonalność Serwera Proxy……………………………………………….120
3.4.2 Ograniczenia Serwera Proxy………………………………………………….122
3.4.2 Microsoft ISA Server 2004 Firewall………………………………………….122
Rozdział IV Kofiguracja zapory sieciowej bazującej na systemie operacyjnym
GNU/Linux
4.1 Firewall bazujący na systemie GNU/Linux……………………..………………...136
4.1.1
Budowa systemu pełniącego rolę firewalla ………….………………………136
4.1.2
Iptables ………………………………..……………………………………...139
4.1.3
Firewall Firestarter ………………..……………………………………..…...141
Rozdział V Testy zbudowanej zapory sieciowej.
5.1 Testy i analiza zabezpieczonej sieci………………………………………………146
5.1.1
Prawidłowość filtrowanych danych……………………..……………………146
5.1.2
Hping2………………………………………………………………………...148
3
5.1.3
Nmap…………………………………………………………………………151
Rozdział VI Podsumowanie ………………………………………..………………152
Rozdział VII Bibliografia…………………………………………………………...153
Streszczenie…………………………………………………………………………..154
Aneks…………………………………………………………………………………155
4
Wstęp
Firewalle należą obecnie do nowych osiągnięć technologii internetowej, innowacyjne
osiągnięcia tej technologi to przedewszystkim tłumaczenie adresów sieciowych NAT,
oraz
wielowarstwowe
filtrowanie
pakietów.
Historia
pierwszych
systemów
bezpieczeństwa zaczyna się w latach-80, kiedy dwaj główni producenci komputerów
IBM oraz COMPAQ zaczęli wprowadzać pewne mechanizmy ochronne do swoich
sieci. Wraz ze wzrostem zagrożeń w sieci początkowe rozwiązania zaczęto
przekształcać w bardziej kompleksowe systemy bezpieczeństwa, które miały chronić
siećprzed intruzami z zewnątrz. W przeszłości sprawy bezpieczeństwa były
rozwiązywane za pomocą prostego filtrowania pakietów, oraz zestawu modemów dialback. Niestety dzisiaj to rozwiązanie jest już przestarzałe i nieskuteczne, aby w
przyszłości móc skutecznie chronić swoją sieć będzie zachodzić potrzeba przeglądania
oraz sprawdzania każdego bitu komunikatu internetowego, szyfrowanego potwierdzania
tożsamości witryny WWW przed połączeniem się, oraz szyfrowania prawie
wszystkiego co przepływa w sieci. Obecnie problem bezpieczeństwa sieci
rozwiązywany jest przy pomocy ścian ogniowych (firewalli) oraz wirtualnych
przywatnych tuneli. Ponadto istnieją tzw. narzędzia dodatkowe takie jak detektory
intruzów, wszelkiego rodzaju skanery mechanizmów zabezpieczających są to jednak
jedynie narzędzia, które pełnią raczej rolę ostrzegania przed potencjalnym atakiem
intruza. Zatem firewalle będą stanowić podstawę dla zabezpieczeń w Internecie tak
długo dopóki ich funkcjonalnośc nie zostanie wbudowana w każdy protokół
wykorzystywany w Internecie, oraz dopóki każdy komputer przyłączony do sieci
Internetowej nie będzie zawierałw sobie odpowiednika firewalla, co nie zmieni faktu że
firewalle staną się na zawsze stałym uzupełnieniem sieci korporacyjnych.
Firewalle są ważnym elementem sieci, których zadaniem jest ochrona prze
potencjalnymi zagrożeniami płynącymi z sieci. Systemy kontroli w standardowych
programach, które można znaleźć na rynku nie dadzą dostatecznej ochrony przed
intruzami z sieci. W dzisiejszym świecie rosnące uzależnienie od Internetu w pracy oraz
w środowisku domowym zwiększa podatność systemów na różnorodne ataki oraz
zagrożenia płynące z sieci. Wszelkie technologie firewalli są w dalszym ciągu jedną z
najbardziej rozpowszechnianych form ochrony i zabezpieczania przed zagrożeniami dla
nowych i istniejących komputerów w sieci. Siec nie potrafi się sama bronić zachodzi
5
zatem zachodzi potrzeba używania profesjonalnych urządzeń do ochrony systemów
zarówno w sieciach dla małych firm jak i firm korporacyjnych. Aby zrozumieć to co
firewalle są w stanie zrobic oraz w jaki sposób mogą być wykorzystane do osiągnięcia
maksymalnego stopnia zabezpieczenia należy poznać podstawy firewalli, analizę
róznych koncepcji zarówno komercyjnych jak i OpenSource które umożliwą
administratorom dużych sieci korporacyjnych
jak i małych sieci domowych bądź
biurowych skutecznie wybrać oraz skonfigurować urządzenia zabezpieczające. Trzeba
pamiętać że firewall jest w zasadzie pierwszą linią obrony naszej sieci tak więc musi
zostać poprawie skonfigurowana aby w pełni radzić sobie z powierzonym mu
zadaniem. Firewall pozwoli nam na ustalenie pewnych zasad w celu określenia jaki
ruch powinien zostać dozwolony. W zależności od typu zaimplementowanego firewalla
można ograniczyć dostep np. tylko dla określonych adresów IP, nazw domen czy też
zablokować niektóre rodzaje ruchu poprzez blokowanie portów TCP/IP.
6
Cel pracy
Celem niniejszej pracy było przedstawienie metod realizacji firewall’i w oparciu o
różne komponenty (systemy operacyjne, routery- listy ACL, rozwiązania komercyjne),
zapoznanie się z poszczególnymi architekturami, które stosowane są podczas budowy
zapór sieciowych. Ponadto celem było również ukazanie poszczególnych modeli zapór
sieciowych, opis ich możliwości oraz podstawowych metod konfiguracji. Wszystko to
kończy budowa prostego firewalla opartego o system operacyjny Linux oraz szereg
testów, które były wykonywane bezpośrednio na nim.
7
Zakres Pracy
W pierwszym rozdziale pracy zatytułowanym „Wprowadzenie do Firewalli” opisane
zostały podstawy firewalli, ogólne zasady ich działania. Ponadto rozdzial ten w sposób
ogólny skupia się na zagrożeniach płynących
bezpieczeństwa. Znalazła się tam również
z Internetu oraz opisuje Polityki
klasyfikacja firewalli ,oraz porównanie
komercyjnych zapór sieciowych oraz zapór OpenSource.
W drugim rozdziale zaś
opisywane były najczęściej używane protokoły podczas pracy firewalli m.in. (IP, TCP,
UDP, ICMP, NAT itp.).Poruszane były także aspekty
dotyczące najczęstszych
architektur, które są stosowane podczas budowy firewalli, tworzenie list ACL na
routerach oraz wirtualnych sieci LAN (VLAN). Trzeci rozdział skupiał się głównie na
charakterystyce czterech wybranych zaporach sieciowych były nimi (Router
szerokopasmowy Linksys, CISCO PIX Firewall / ASA Firewall, Linux Firewall oraz
Proxy ). Opisywane tam były przedewszystkim ich funkcje, metody używane podczas
zabezpieczania sieci przed intruzami, oraz poszczególnych metod konfiguracji zapór
sieciowych. Rozdział czwarty jest tzw. rozdziałem praktycznym, który obejmował
budowe firewalla bazującego na systemie operacyjnym GNU/Linux, ponadto zawiera w
sobie poszczególny opis konfiguracji firewalla oparty o łańcuchy oraz reguły
IPTABLES. Ostatni rozdział pracy dotyczył wykonywanych testów na uprzednio
zbudowanej zaporze. Testy te mialy na celu sprawdzenie czy zapora w pełni radzi sobie
z zadaniami, do których została stworzona. Testy te były wykonywane prez szereg
różnorodnych narzędzi np. (Hping2, Nmap).
8
Rozdział I Wprowadzenie do Firewalli
W zależności od struktury sieci firewall jest podstawową jednostką zapewniajacą jej
bezpieczeństwo przed szeregiem niebezpieczeństw płynących z sieci zewnętrznej
Internetu.
1.1 Wprowadzenie do Firewalli
Rozdział ten opisuje ogólne zasady działa firewalla, oraz ukazuje zagrożenia na jakie
bęzie wystawiany nasz firewall podczas codziennej pracy. Ukazywał będzie nam także
podstawowe polityki bezpieczeństwa, które okazą się niezbędne do prawidłowego
funkcjonowania naszej zapory.
1.1.1 Co to jest Firewall ?
Kiedy większość ludzi myśli o firewallu, myślą o urządzeniu, które znajduję się w sieci
i kontroluje ruch, który przechodzi między segmentami sieci. Czasami firewalle mogą
zostać implementowane na samych systemach takich jak na przykład Microsoft Internet
Connection Firewall (ICF) w których przypadku systemy te znane są jako host oparty
na firewallu. Zasadniczo wszystkie typy firewalli mają ten sam cel : określnie metod
egzekwowania polityki kontroli dostępu (ACL). Wprawdzie w najprostszej definicji
firewalle są niczym więcej jak polityką kontroli dostępu.
9
Rys. 1 Sieć z wykorzystaniem polityki kontroli dostępu (ACL)
Firewalle umożliwiają definiowanie list kontroli dostępu oraz zapewnienie tylko tego
ruchu sieciowego bądź przesyłania konkretnych danych które spełniają warunki zawarte
w listach kontroli dostępu.
Rysunek 1 ilustruje w jaki sposób używany jest firewall w sieci którego zadaniem jest
przepuszczać dozwolony ruch sieciowy natomiast pozostały inny zatrzymywać.
1.1.2 Jak działają Firewalle
Wszystkie firewalle które powinny być brane pod uwagę posiadają wspólną cechy oraz
funkcjonalności co pomoże w zdefiniowaniu tego co może on zrobić.
Zasadniczo firewalle muszą być w stanie wykonać następujące zadania:
Zarządzanie oraz kontrolać ruchu sieciowego
Autoryzowanie dostępu
Ochrona zasobów
Rejestrowanie oraz raportowanie wszelkiego rodzaju naruszenia bezpieczeństwa
10
Zarządzanie oraz kontrola ruchu sieciowego:
Pierwsza i najbardziej podstawowa funkcjonalność, którą wszystkie firewalle muszą
wykonać jest zarządzanie i kontrola ruchu sieciowego, komu przydzielić dostęp do
chronionej sieci bądź
hosta. Firewall bada pakiety oraz monitoruje nawiązywane
połączenia, które są poddawane filtrowaniu.
Badanie Pakietu:
Badanie pakietu jest to proces przejmowania oraz przetwarzania danych w pakiecie,
którego celem jest zdecydowanie czy pakiet ma zostać zaakceptowany czy też
odrzucony zgodnie ze zdefiniowaną polityka bezpieczeństwa. Podczas badania pakietu
brane pod uwage są następujące elementy:
Adres IP źródła
Port źródła
Adres IP docelowy
Port docelowy
Protokół IP (IPv4, IPv5, IPv6)
Nagłówek pakietu
Firewall musi zbadać każdy pojedynczy pakiet z każdego adresu oraz z każdego
interfejsu ponadto reguły kontroli dostępu muszą istnieć dla każdego pakietu który
będzie zbadany. Kiedy firewalle połączą funkcje sprzętową wraz z badaniem pakietów
od tego momentu po nawiązaniu sesji przez aplikacje firewall nadzoruje wszystkie
połączenia przechodzące przez niego oraz analizuje nagłówki pakietów pod kątem które
pokarze czy pakiety zostały wysłane przez aplikacje która znajduje się na liście
dopuszczonych do ruchu sieciowego.
Autoryzacja dostępu:
Firewalle mogą zezwolić na dostęp używając kilku mechanizmów. Pierwszy
mechanizm mówi o tym iż firewall może wymagać nazwy uzytkownika oraz hasła które
pozwoli na pozytywne uzyskanie autoryzacji ( często znane jako rozbudowana
11
identyfikacja
inaczej
xAuth). Używając xAuth użytkownik
usiłujący zainicjować
połączenie jest zobowiązany podać nazwę użytkownika, hasło oraz tryb połączenia.
Zazwyczaj jest to (client_auth) wszystkie te dane podawane są przed firewallem który
po dokonaniu weryfikacji zezwala na dostęp.
Innym mechanizmem służącym do
autoryzacji połączenia jest użycie certyfikatów oraz kluczy publicznych. Korzyści
certyfikatów nad identyfikacją xAuth są takie że proces autoryzacji może odbyć się bez
ingerencji użytkownika, pod warunkiem że hosty zostały poprawnie skonfigurowane
mianowicie posiadają certyfikaty zarówno host jak i firewall, oraz używają takiego
samego klucza publicznego. Korzyść takiego rozwiązania najlepiej sprawdza się przy
dużych infrastrukturach sieci.
Ostatnim mechanizmem jest autoryzacja prowadzona na podstawie wstępnie dzielonych
kluczy (pre-shared-key). Mechanizm ten jest mniej złożony w implementacji niż
certyfikaty. Każdy Host posiada z góry ustalony klucz który jest użyty w procesie
autoryzacji. Minusem tego systemu jest to że klucze rzadko się zmieniają oraz wiele
organizacji używa klucza o tej samej wartości dla zbiorowych zdalnych centralnych
komputerów co w rezultacie prowadzi do pogorszenia bezpieczeństwa procesu
autoryzacji.
Ochrona zasobów :
Firewall może zostać skonfigurowany w taki sposób aby pełnił rolę pośrednika w
komunikacji wówczas wywoływany jest proces pomiędzy dwoma hostami. Proces ten
zwany jest zwykle jako Proxy. Proxy pełni funkcje hosta którego zadaniem jest
ochranianie. Wszystkie połączenia których celem jest chroniony host muszą przejść
przez Proxy. Proxy otrzymuje pakiety które przeznaczone są dla chronionego hosta po
czym sprawdza je, po sprawdzeniu następuje budowa całkiem nowego pakietu który
nastepnie jest wysyłany do chronionego hosta. Chroniony host odpowiada do Proxy po
przez odwrócenie procesu którego wynikiem jest otrzymanei prez Proxy wiadomości ze
pakiet dotarł do chronionego hosta.
Firewall stanowi ochronę która jest osiągnięta przez użycie reguł kontroli dostępu
(ACL), zastosowanie Proxy oraz kombinacji wszystkich dostępnych środków aby
zapobiec chronionego hosta przed uzyskanie dostępu do niego przez nieuprawnione
zasoby bądź hosty oraz na złośliwy ruch w sieci którego celem jest zmniejszenie
12
przepustowości łącza co w rezultacie prowadzi do awarii. Firewalle nie są jednak
niezawodną metodą dla ochrony zasobów, dlatego nie powinno się tylko i wyłącznie
polegać na firewallu aby zabezpieczyć hosta.
Rejestrowanie oraz raportowanie wszelkiego rodzaju naruszenie bezpieczeństwa
Obecnie firewall może raportować zdarzenia z kilku dróg. Większość firewalli używa
do tego celu dwóch kilku, jedną metodą jest syslog natomiast druga metoda jest to
raportowanie każdego logowania. Używając tych metod podczas logowania firewalle
mogą na bieżąco ustalić jaka była przyczyna naruszenia zabezpieczeń, informacje te
mogą być również użyte podczas diagnozowaniu problemów wadliwego działania
firewalla.
Firewalle udzielają wsparcia dla kilku typów metod :
Konsola powiadomień: Jest to prosty proces który przedstawia konsole
powiadomień. Warunkiem poprawnego działania
tej metody jest ciągła
aktywność konsoli powiadomień która w razie wykrycia niebezpieczeństwa
natychmiast wygeneruje stosowny raport w którym znajdą się informacje na
temat tego co zaszło.
SNMP : Simple Network Management Protocol może być używany do
zarządzania siecią oraz urządzeniami jakie znajdują się w jej obrębie. W celu
wykrycia nieautoryzowanego dostępu do sieci SNMP może zostać użyty aby
wygenerować pułapki które zostaną wysłane do systemu zarządzania siecią
(Network Management System) który ma za zadanie monitorowania wszystki
firewalli.
Powiadomienie na stronie WWW : Metoda której zadaniem jest powiadomienie
administratora za pomocą strony WWW o zaistniałym niebezpieczeństwie.
Funkcja ta wymaga konfiguracji firewalla by wysyłał takie powiadomienie.
E-mail : Prostszym rozwiązaniem od strony WWW jest metoda wysyłania
wiadomości e-mail. Zasada działania jest prosta po prostu firewall wysyła
wiadomość e-mail pod wskazany adres.
13
1.1.3 Zagrożenia w sieci
Wiedza na temat firewalli nie powinna ograniczac się tylko do tego jak dziala firewall
oraz jak pracuje. Aby skutecznie chronić trzeba zrozumieć zagrożenia jakie pojawiają
się w ostatnim czasie w sieci.
Zagrożenia jakie obecnie pojawiają się w sieci i na jakie możemy być narażeni:
Wirusy, robaki, trojany
Ataki Dos (Denial-of-service)
Zombie
Spayware
Złośliwe oprogramowanie
Wirusy, robaki, trojany:
Obecnie w sieci pojawia sie coraz więcej różnorodnego szkodliwego oprogramowania.
Wirusy są programami które posiadają dolność do replikacji bez wiedzy użytkownika,
dzięki samoczynnemu powielaniu się takiego programu może się on szybko
rozprzestrzeniać w zainfekowanym systemie. Kolejnym zagrożeniem są konie
trojańskie które są kodem ukrytym w programie mogącym realizować także inne
funkcje niż, te o których jest informowany użytkownik. Program taki najczęściej
wykonuje pożyteczne funkcje równocześnie realizując ukryte zadania. Robakiem
będziemy nazywać program którego głównym zadaniem jest rozprzestrzenianie się za
pomocą sieci komputerowej oraz powielanie się. Końcowym założeniem jest
wykonanie kodu który został zadeklarowany przez twórcę robaka.
Ataki DoS (Denial-of-service) :
Ataki Dos powodują zagrożenia które polegają na przeciążeniu aplikacji serwującej .W
sieciach komputerowych atak Dos oznacza zazwyczaj zalewanie sieci dużą ilością
danych które maja na celu nasycenie dostępnego pasma, którym dysponuje atakowany
host. Osiągnięcie się go wtedy staje się niemożliwe pomimo tego ze usługi na nim są
gotowe do przyjęcia połączenia.
14
Zombie :
To systemy które zostały zakażone oprogramowaniem szkodliwym zazwyczaj są to
trojany bądź backdoor’y. Takie zainfekowane systemy mogą zostać użyte w przyszłości
aby rozpocząć atak Dos.
Spyware :
Oprogramowanie komputerowe którego celem jest szpiegowane działań użytkownika.
Zadaniem takich programów jest gromadzenie informacji o użytkowniku oraz często
wysyłanie zdobytych informacji bez wiedzy użytkownika. Do takich informacji mogą
należeć :
Adresy stron WWW
Numery kart płatniczych
Loginy oraz hasła
Adresy poczty elektronicznej itp.
Programy tego typu można zaliczyć do kategorii złośliwego oprogramowania. Na
chwile obecną pojawiają się one praktycznie w każdym środowisku systemowym.
Złośliwe oprogramowanie :
Do tej grupy możemy zaliczyć wszystkiego rodzaju aplikacje, skrypty itp. których
celem jest szkodliwe bądź nawet przestępcze działanie w stosunku do użytkownika.
Problem ten dotyka przede wszystkim użytkowników pracujących w środowisku
Microsoft Windows
15
Rys. 2 Podstawowe grupy złośliwego oprogramowania i ich powiązania.
[ http://upload.wikimedia.org/wikipedia/commons/e/e6/Malware_graph.svg]
1.1.3 Polityki bezpieczeństwa
Pierwszym krokiem dla dobre polityki bezpieczeństwa jest wykonanie analizy ryzyka
po to aby określić stopień zagrożenia dla chronionego systemu. Po wykonaniu tego
można przystąpić do zaplanowania strategii budowania polityki bezpieczeństwa.
Powinna ona zawierać wskazania możliwych rodzajów naruszenia bezpieczeństwa
przykładem tego może być np. nieautoryzowany dostęp, utrata danych. Polityka
bezpieczeństwa definiuje również poprawne i niepoprawne korzystanie z zasobów
sieciowych ( np. konta użytkowników ,dane). Bardzo ważne jest żeby polityka
bezpieczeństwa była znana przez wszystkich pracowników, którzy korzystają z
zasobów informatycznych.
Podczas projektowania polityki bezpieczeństwa trzeba rozważyć kilka podstawowych
rzeczy. Mianowicie czy dana firma będzie w stanie ponieść koszty które związane będą
z wprowadzeniem tej polityki w życie.
Projektując mechanizmy ochrony należy określić następujące elementy :
Model bezpieczeństwa
Poziomy uprawnień (jakie poziomy uprawnień są obecne i jakie są zasady ich
przyznawania)
Mechanizm kontroli dostępu
16
Metody identyfikacji oraz zapewnienia autentyczności
Uzyskiwanie autoryzacji
Monitorowanie zdarzeń w systemie. Jakie mechanizmy/procesy SA stosowane
do monitorowania zmian w systemach.
1.2 Podstawy firewalli
Podrozdział ten pokaże nam podstawy firewalli, dowiemy się zatem jak możemy
sklasyfikować firewalle oraz jakie występują technologie tworzenia firewalli. Ponadto
porównamy firewalle komercyjne jak i te które działają w oparciu o OpenSource.
1.2.1 Klasyfikacja firewalli
Najbardziej typowy firewall
jest wyspecjalizowanym systemem bądź urządzeniem
które znajduje się w sieci i pełni role oddzielającą siec wewnętrzna od sieci zewnętrznej
(Internet). Najwięcej sieci domowych (sieci LAN) używa prosty firewalli które nie są
oparte na fizycznym sprzęcie. Ogólnie firewalle mogą zostać sklasyfikowane jako dwa
typy:
Firewall osobisty
Firewalle sieciowe
Różnica miedzy tymi dwoma typami jest taka że firewall sieciowy kładzie większy
nacisk na analizę sieci zatem dla małych sieci LAN gdzie ruch sieciowy nie jest duży
oraz nie ma zbyt dużego zagrożenia nie spełni on swojej roli.
17
Rys. 3 Klasyfikacja firewalli
[Wes Noonan Ido Dubrawsky - Firewall Fundamentals str.37]
Rysunek ukazuje nam różne rodzaje dostępnych firewalli Dostarcza nam również
kompletnych szczegółów co do ich zdolności, oraz również stanie się pomocny podczas
decyzji jaki firewall oraz o jakich zdolnościach będzie nam potrzebny aby wypełni
zabezpieczyć naszą sieć przed zagrożeniami.
Firewall osobisty:
Firewalle te projektowane są z myślą o zabezpieczeniu pojedynczego hosta przed
nieautoryzowanym dostępem. Przez lata firewalle osobiste były rozwijane oraz
unowocześniane
pod
kątem
dodawania
nowych
funkcji
np.
monitoring
oprogramowania, wykrywanie ataków. Kilka z najbardziej popularnych komercyjnych
firewalli to np. BlackICE jak również Cisco Security Agent, oprócz tego można
skorzystac również z innych alternatyw a mogą być nimi Micro's PC-cillin, ZoneAlarm,
Symantec personal firewall. Można powiedzieć że jest to propozycja mniej kosztowna
dla użytkowników których nie stać na drogie komercyjne firewalle. Potrzeba
scentralizowanej polityki bezpieczeństwa
jest punktem zwrotnym dla firewalli
18
osobistych przez co dąży do zminimalizowania ciężaru administracyjnego. Otóż
ciężarem tym możemy nazwać właściwą konfiguracje oraz ciągły monitoring każdego
firewalla, co w firewallach osobistych nie jest konieczne. Przez centralizowanie polityki
bezpieczeństwa oraz monitorowania wiele produktów złagodziło wysiłek właściwego
konfigurowania oraz monitorowania wszelkich zdarzeń.
Firewall sieciowy :
Sieciowe firewalle są projektowane przede wszystkim po to aby chronić cala
infrastrukturę sieci prze różnego rodzaju zdarzeniami płynącymi z sieci. Firewalle
sieciowe możemy podzielić na dwa typy: firewalle sprzętowe oraz firewalle oparte na
systemie operacyjnym. Przykładem firewall sprzętowego może być np. Cisco PIX,
Cisco ASA, Juniper’s NetScreen firewall, Symantec’s Enterprise Firewall. Natomiast
co do firewalli opartych o system operacyjny to są to np. Check Points Firewall-1 NG,
Microsoft ISA Server, Linux+ IPTables oraz BSD pf packet filter. Nie można pominąć
też systemu Sun który w pierwotnej wersji pełnił role firewalla . Również i te firewalle
przez lata zostały udoskonalone oraz zyskały wiele nowych cech. Mowimy tutaj o
wykrywaniu wirtualnych sieci prywatnych (VPN), możliwość zdalnego uzyskania
dostępu do odleglych sieci VPN. Kolejną ważna cechą tych firewalli jest to że maja one
zdolność dokładnego badania każdego pakietu który jest odbierany. Potrafią one
również identyfikować ruch sieciowy nie tylko w opraciu o 3 i 4 warstwę modelu osi
ale i również samemu ułożyć intensywność ruchu sieciowego.
1.2.2 Technologie firewalli
Tutaj przyjrzymy się jakie są obecnie technologie firewalli oraz temu jaki sposób one
pracują. Skupimy się na szerokim kręgu technologii które wykorzystuje się obecnie do
zabezpieczania infrastruktury sieci:
Filtrowanie pakietów
Network Address Translation (NAT)
Proxy firewall
Wirtualne firewalle
19
Filtrowanie pakietów :
Filtrowanie pakietów jest to selektywne przepuszczanie bądź blokowanie pakietów
które napływają po przez interfejs sieciowy Ethernet. Kryteria które brane są pod uwagę
podczas wykonywania tego są oparte warstwę 3 oraz warstwę 4.Natomiast
podstawowym kryterium jest źródłowy oraz docelowy adres, port oraz protokół jaki jest
wykorzystywany. Reguły którymi należy się posługiwać podczas filtrowania są
porównywane sekwencyjnie czyli od pierwszej do ostatniej.
Rys. 4 Proste filtrowanie za pomocą ACL
Rysunek przedstawia nam prostą konfiguracje Access List której celem jest filtrowanie
pakietów. Poniżej widzimy polecenia które zostały wpisywane na routerze w celu
uzyskania tegoż efektu.
20
access-list 101 permit icmp any 192.168.185.0 0.0.0.255 echo-reply
access-list 101 permit icmp any 192.168.185.0 0.0.0.255 ttlexceededaccess-list 101 permit tcp any 192.168.185.0 0.0.0.255
established
access-list 101 permit udp any host 192.168.185.100 eq 53
access-list 101 permit udp any eq 123 192.168.185.0 0.0.0.255
Tab. 1 Lista komend wpisywana na routerze w celu utworzenia Access list control.
Lista tych reguł związana jest z utworzeniem ACL który będzie zastosowana dla ruchu
sieciowego odbywającego się dla DNS (53/UDP) oraz NTP (123/UDP), który został
jawnie zdefiniowany na końcu listy ACL jako (ICMP)- (Internet Control Message
Protocol) , echo-replay
oraz (TTL) – Time To Live -exceeded responsem. Bez
zdefiniowania tych dyrektyw pakiety te zostałyby zablokowane na routerze i nie
przedostałyby się do chronionej sieci LAN.
access-list 101 permit tcp any 192.168.185.0 0.0.0.255 established
Tab. 2 Kluczowa reguła wprowadzana na routerze.
Reguła ta wymagana jest aby zezwolić na powrót ruchu sieciowego od zewnętrznego
systemu do adresu 192.168.185.0 /24 o ile w protokole TCP będą znajdowały się flagi
ACK. Filtrowanie pakietów nie posiada specjalnych zdolności by zbadać zewnętrzny
ruch sieciowy i dynamicznie wygenerować reguły pozwalające na powrotny ruch
sieciowy.
Network Address Translation (NAT)
Kolejna technologia używana w firewallach jest NAT czyli (Network Address
Translation). Na dzisiejszym rynku firewalli usługa NAT jest częścia prawie każdego
urządzenia zaczynając od firewalli niskiego rzędu np. Linksys BEFSX41 poprzez
urządzenia firmy Cisco PIX 535, NAT automatycznie dostarcza ochrone dla systemów.
21
NAT firewall tworzy tablice w pamieci urządzenia, które zawiera informacje o
połączeniach które firewall przechwycił. Mówimy tutaj o technice przesyłania ruchu
sieciowego poprzez router .Wiąże się to ze zmiana docelowych bądź źródłowych
adresów IP, zazwyczaj również następuje zmiana portów TCP/UDP.
Rys. 5 Przykładowe działanie usługi NAT firewall
Hosty znajdujące się wewnątrz NAT czyli (192.168.1.1 oraz 192.168.1.2) próbują
uzyskać dostęp do serwera Web (10.100.100.44). Host (192.168.1.1) otwiera port TCP
3844 i uzyskuje połączenie z serwerem Web (10.100.100.44) na porcie 80 TCP,
natomiast host (192.168.1.2) otwiera port 4687 i również uzyskuje dostęp do serwera
Web na porcie 80 TCP. NAT firewall jest skonfigurowany w taki sposób aby
dokonywał translacji adresu całej podsieci w tym przypadku (192.168.1.0 /24) do
pojedynczego adresu (172.28.230.55). W momencie gdy firewall zauważy próbę
uzyskania połączenia z podsieci która znajduje się w jego tabeli następuje bowiem
22
wtedy zamiana adresów próbujących nawiązać połączenie (192.168.1.1 oraz
192.168.1.2) na adres pojedynczy (172.28.230.55).
ADRES
ŹRÓDŁO
NAT IP
ŹRÓDŁOWY
WY PORT
192.168.1.1
3844
172.28.230.55
192.168.1.2
4687
192.168.1.1
4687
NAT PORT
ADRES
PORT
DOCELOWY
DOCELOWY
3844
10.100.100.44
80
172.28.230.55
4687
10.100.100.44
80
172.28.230.55
63440
10.100.100.44
80
Tab. 3 Translacja adresów (NAT)
Ostatni wpis w tabeli pokazuje nam jak zachowa się system NAT w przypadku gdy
określony port źródła jest już zajęty przez poprzednie połączenie. W tym przypadku
host o adresie (192.168.1.1) usiłuje wykonać drugie połączenie z serwerem Web
(10.100.100.44). Tak wiec host otwiera połączenie na porcie TCP 4687, który używany
jest przez hosta (192.168.1.2) i w tym momencie nastepuje wykonanie połączenia z
innego portu źródłowego oraz zostaje wykonana translacja alternatywna której efektem
będzie uzyskanie dostępu do serwera Web.
Proxy Firewall
Proxy firewall jest niczym innym jak aplikacją która pełni role pośrednika pomiędzy
dwoma końcowymi systemami. Działają one w warstwie firewalla gdzie obydwa
końce połączenia są prowadzone za pomocą proxy, proces ten jest utrzymywany do
momentu aż połączenie zostanie zakończone.
23
Rys. 6 Proxy firewall
[ http://www.akadia.com/services/firewall_proxy_server.html]
Podczas używania Proxy firewall użytkownik zleca pośrednikowi zadania za pomocą
jakiegokolwiek klienta Mogą to być np. usługi HTTP bądź FTP. Usługa proxy
firewall musi być uruchomiona dla każdego typu aplikacji internetowej tak jak widać na
Rys.6 (HTTP- Hypertext Transfer Protocol), (FTP- File Transfer Protocol), (SMTPSimple Mail Transfer Protocol). Proxy firewall zawsze pracuje jednostronnie czyli
mówimy o tym że biegną one od wewnętrznej sieci do zewnętrznej. Proxy firewall
centralizuje swoją działalność dla aplikacji na pojedynczym serwerze, poprawnie
uruchomiona aplikacja Proxy daje możliwość zbadania pakietów nie tylko z dla adresu
źródłowego/docelowego, oraz numeru portu.
24
Wirtualne firewalle:
Mówimy tutaj o złożonych logicznych firewallach które przebiegają przez fizyczne
urządzenia. Uwzględnia to złożone sieci które musza być chronione poprzez unikalny
firewall oparty o specyficzna politykę bezpieczeństwa która będzie wdrażana na jednym
fizycznym urządzeniu. Dostawca usługi internetowej może dostarczyć usługę
wirtualnego firewalla który będzie zabezpieczał oraz rozdzielał ruch sieciowy na
jednym urządzeniu. Dostawc definiuje oddzielne domeny bezpieczeństwa dla każdego
klienta natomiast domeny te kontrolowane są przez osobny logiczny firewall wirtualny.
Niestety zdolność budowania wirtualnych firewalli możliwa jest tylko na urządzeniach
które sa dosc drogimi urządzeniami. Mianowicie mówimy tutaj o urządzeniach takich
jak np. Cisco PIX 525 i 535 oraz nowszą linie firewalli ASA.
1.2.3 Open source oraz komercyjne Firewalle
Na dzisiejszym rynku możemy znaleźć dużą ilość różnorodnych firewalli. Niektóre z
nich są w systemie (Open source) czyli tzw. otwarte oprogramowanie, do tej grupy
Mozeli zaliczyć m.in. Linux IPTables, OpenBSD, oraz Solaris IPF firewall. Druga
grupa firewalli to firewalle komercyjne czyli nie są dostępne bezpłatnie tak jak te z
systemu (Open source). Do tej grupy możemy zaliczyć np. Cisco PIX, CiscoASA,
Juniper ScreenOS oraz Checz Point’s firewall. Różnice miedzy tymi dwoma typami są
zazwyczaj widoczne ponieważ firewalle komercyjne posiadają zazwyczaj dosyć
większe możliwości niż firewalle darmowe (Open source). Najbardziej komercjalne
firewalle dostarczają dużego wsparcia dla VPN (Virtual Private Network), ponadto
pozwalają na głębokie zbadanie pakietów. Firewall open source skupiają swoja uwagę
na tylko na filtrowaniu pakietów oraz nie posiadają tak głębokiego badania pakietów.
Można śmiało powiedzieć ze firewall oparty o open source nie stanowi
nieprzezwyciężonej przeszkody, dlatego dobrze jest łączyć oba te warianty czyli
zastosować firewall oparty na systemie open source i wzmocnić ochronę o firewall
komercyjny.
25
Rozdział II Technologie firewalli
W rozdziale trzecim przedstawimy podstawowe technologie realizacji firewalli,
poznamy też również podstawowe protokoły, które używane są podczas pracy firewalli.
2.1 TCP/IP dla firewalli
Podrozdział
ten
będzie
opisywał
nam
szereg
różnorodnych
protokołów
wykorzystywanych podczas działania firewalli. Ponadto przyjrzymy się w jaki sposób
zbudowany jest pojedynczy pakiet, jak wygląda proces enkapsulacji danych, oraz
których protokołów najlepiej jest używać w celu uzyskanai maksymalnego
zabezpieczenia.
2.1.1 Protokoły, usługi i aplikacje
Model OSI 1
OSI ( Open System Interconnection) jest to model który traktowany jest jako
odniesienie dla wielu rodzin protokołów komunikacyjnych. Podstawowym założeniem
tego modelu jest podzielenie systemów sieciowych na 7 całkowicie niezależnych
warstw. Model ten definiuje nam jakie rodzaje informacji mogą być przesyłane
pomiędzy warstwami.
Warstwa 7 Aplikacji
Warstwa 6 Prezentacji
Warstwa 5 Sesji
Warstwa 4 Transportowa
Warstwa 3 Sieciowa
Warstwa 2 Łącza danych
Warstwa 1 Fizyczna
1
Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo MIKOM 2001r.
str. 23
26
Rys. 7 Model OSI (Open System Interconnection)
[Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo
MIKOM 2001r. str 21]
Siedem warstw modelu odniesienia OSI:2
Warstwa aplikacji: Warstwa ta jest najbliższa użytkownikowi ponieważ
zapewnia usługi sieciowe dla aplikacji których on używa. Warstwa aplikacji ma
za zadanie identyfikować oraz sprawdzać dostępność w procesie komunikacji,
ponadto synchronizuje współpracujące ze sobą aplikacje. Realizuje uzgodnienia
które dotyczą kontroli integralności danych, określa też czy istnieje
wystarczająca ilość zasobów dla danego rodzaju aplikacji.
Warstwa prezentacji:
Jej zadaniem jest sprawienie aby informacja która
zostanie wysłana przez warstwę aplikacji z jednego systemu mogła być
odczytana przez warstwę aplikacji w innym systemie. Ponadto warstwa
2
Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo MIKOM 2001r.
str. 23
27
prezentacji
dokonuje
również
translacji
pomiędzy
różnimy
formami
reprezentacji danych.
Warstwa sesji:
Warstwa ta
ustanawia sesje pomiędzy aplikacjami czyli
zarządza nimi. Możemy powiedzieć że warstwa
sesji świadczy usługi dla
warstwy nadrzędnej, zarządza wymiana danych dla niej. Oprócz tego raportuje
błędy w warstwie sesji, warstwie prezentacji i warstwie aplikacji.
Warstwa transportowa: Jej głównymi zadaniami jest dzielenie oraz ponowne
składanie danych w tzw. Strumienie. Zapewnia ona usługi transportu które są
oddzielane poprzez warstwy wyższe od szczegółów które związane są
implementacją transportu. Dla zapewnienia maksymalnej niezawodności usług
warstwa używa różnorodnych mechanizmów czyli ustanowienie obsługi i
kończenia połączeń wirtualnych, sterowanie przepływem informacji oraz
wykrywanie błędów transportu.
Warstwa sieci: Możemy powiedzieć ze jest to złożona warstwa która ma za
zadanie zapewnić połączenie oraz wybór trasy pomiędzy dwoma końcowymi
hostami.
Warstwa łącza danych: Warstwa ta zapewnia
danych
niezawodne przenoszenie
poprzez fizyczne medium. Do jej zadań nalezą także fizyczne
adresowanie, zasady dostępu do medium, ustalenia kolejności dostarczania
ramek oraz sterowanie przepływem danych.
Warstwa fizyczna: Jest to fundamentalna warstwa na której oparty jest cały
model osi. Definiuje ona elektryczne, mechaniczne oraz funkcyjne specyfikacje
łącza pomiędzy dwoma hostami. Definiowane są w tej warstwie takie
charakterystyki jak np. poziomy napięć, szybkość przesyłania danych,
maksymalna odległość transmisji oraz podobne atrybuty.
Enkapsulacja danych:3
Komunikacja w sieci odbywa się na takiej zasadzie iż dane bądź pakiety danych
wysyłane są od źródła do punktu przeznaczenia. Jeśli (host A) będzie chciał wysłać
dane do (host B) dane przed wysłaniem musza zostać spakowane w procesie zwanym
3
Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo MIKOM 2001r.
str. 25
28
ENKAPSUJACJĄ. Proces ten polega na otaczaniu danych koniecznymi informacjami
na temat protokołu. Po wysłaniu danych od źródła, przechodzą one przez warstwę
aplikacji do coraz niższych warstw, pakowanie i przepływ wymienianych danych
zmienia się w następstwie usług które wykonywane są przez poszczególne warstwy.
Rys. 8 Proces enkapsulacji danych.
Aby proces enkapsulacji przebiegł pomyślnie dane musza przejść przez 5 etapów
konwersji.
1 ETAP (Budowa danych):
W momencie gdy użytkownik chce wysłać komunikat np. przez stronę WWW bądź
pocztę elektroniczna jego znaki konwertowane są do formatu danych któ®e swobodnie
będą mogły wędrować w sieci.
29
2 ETAP (Pakowanie danych dla transportu pomiędzy dwoma punktami):
Dane ulegają procesowi pakowania w celu transportu w sieci rozleglej. Dzięki
zastosowaniu segmentów funkcje transportu zapewniają że hosty znajdujące się po obu
końcach mogą nawiązać niezawodną komunikację.
3 ETAP (Dodawanie adresu sieci do nagłówka):
Dane te umieszczane są w pakiecie czyli inaczej mówiąc w datagramie który zawiera
nagłówek sieci z logicznymi adresami IP źródła oraz celu, ma to za zadanie pomoc
urządzeniom sieciowym wysyłać pakiety dla sieci dynamicznych.
4 ETAP(Dodanie logicznego adresu MAC do nagłówka łącza danych):
Każde urządzenie sieciowe musi zamieścić pakiet w ramce która obejmuje nagłówek z
fizycznym adresem następnego bezpośrednio połączonego urządzenia na ścieżce.
5. ETAP (Konwersja danych na potrzeby transmisji):
Ramka musi zostać przekształcona na ciąg jedynek i zer (bity) na potrzeby transmisji za
pomocą medium.
Dkapsulacja:
Gdy oddalone urządzenie odbiera sekwencje bitów zostaje ono przekazane warstwie
łącza danych, która po odebraniu ramki wykonuj następujące czynności:
Odczytuje fizyczny adres oraz pozostałe informacje kontrole dostarczone przez
połączoną równorzędną warstwę łącza danych.
Przechodzi do rozbioru informacji kontrolnych ramki co w efekcie kończy się
tworzeniem datagramu.
Datagramu przekazywany jest w górę do następnej warstwy, postępując zgodnie
z instrukcja która znajduje się w kontrolnej części ramki.
Proces ten nazywany jest dekapsulacja i jest on procesem odwrotnym do enkapsulacji,
zachodzi na systemie odbiorczym.
30
2.1.2 Internet Protocol (IP)
Protokół ten jest oparty na czternastowarstwowym modelu w którym warstwa IP
odpowiada za połączenie oraz za przesyłanie danych pomiędzy dowolnymi hostami
znajdującymi się w sieci. Ponadto zawiera on informacje dotyczące adresowania oraz
detekcji błędów co pozwoli na właściwe wyznaczenie trasy pakietów. Urządzenie
sieciowe np. router po przyjęciu pakietu odczytuje nagłówek i na jego podstawie stara
się ustalić jak najlepszą trasę dla pakietu. IP wykonaniu modyfikacji nagłówka pakiet
wysyłany jest w dalsza drogę. Jednym z podstawowych zadań tego protokołu jest
umożliwienie bezpołączeniowego transportowania danych za pomocą Internetu w
postaci datagramów. Datagramu IP są podstawowymi
jednostkami danych które
wysyłane są za pomocą Internetu. Kolejną własnością tych datagramów jest możliwość
dzielenia ich na części podczas transportu co pozwala na wykorzystanie łącza transmisji
o różnych rozmiarach ramek.
Rys. 9 Pakiet IP składający się z następujących bloków informacji.
31
Wersja: zawiera informacje na temat wersji protokołu IP ()IPv4, IPv5, IPv6).
Długość: informacje na temat rozmiaru datagramu w 32-bit słowach.
ToS (Type of Service) Typ usługi: określa nam jaka usługa będzie używana
(np. TCP lub UDP).
Rozmiar pakietu: zawiera informacje dotyczące rozmiaru całego pakietu IP
podawany w bajtach
Identyfikator: Liczba która pozwala na połączenie w całość fragmentów
datagramu.
Flagi: jest to 3-bitowe pole gdzie pierwszy bit okreśła czy pakiet może zostać
podzielony na fragmenty, drugi bit informuje nas czy pakiet jest ostatnim
fragmentem natomiast 3 bit jest nieużywany.
Przesunięcie fragmentu:
określa położenie
danych fragmentu liczone w
bajtach. Informacja ta ułatwia prawidłową rekonstrukcje pakietu.
TTL(Time-to-live):
licznik którego wartość zmniejszana jest w momencie
przejścia przez każde urządzenie sieciowe (głównie są to routery). Gdy wartość
TTL osiągnie zero pakiet nie będzie już dłużej transmitowany a nadawca
otrzyma komunikat że pakietu nie można dostarczyć. To zabezpiecza przed
nieskończonym wędrowaniem pakietów w sieci.
Protokół: określa kod protokołu wyższej warstwy.
Suma kontrolna nagłówka: Jest to suma 16-bitowego nagłówka IP. Przed jej
wyliczeniem wartość tego pola powinna wynosić zero. Po odebraniu pakietu
pole to jest liczone i porównywane z oryginalna wartością. Ma to na celu
wykrycie ewentualnego uszkodzenia nagłówka pakietu.
Adres
nadawcy/
Adres
odbiorcy:
Tutaj
znajdują
się
adresy
IP
nadawcy/odbiorcy pakietu
Opcje: dodatkowe informacje dotyczące np. bezpieczeństwa.
Dane: Pole które zawiera dane pakietu lub jego fragment.
32
2.1.3 Transmission Control Protocol (TCP)
Opisany wyżej protokół IP posiada sporo niedogodności np. pakiety mogą zostać
porzucone bądź nawet zdublowane , wtedy z pomocą przychodzi nam protokół TCP
który pomaga rozwiązać te problemy poprzez udostępnienie stabilnego kanału
informacji. Można powiedzieć że zestaw TCP/IP jest
w dużej części oparty
na
możliwościach które daje nam protokół TCP, który wykorzystuje IP tylko do transportu
poszczególnych pakietów danych.
Protokół TCP posiada sporo nowych możliwości w stosunku do protokołu IP np. :
Strumienie:
Polega na formowaniu i transportowaniu danych w postaci
strumieni bitów zorganizowanych w bajty lub 8-bitowe oktety.
Detekcja i korekcja błędów transmisji: Jeżeli podczas transmisji wystąpi
błąd wówczas obie strony połączenia zostaną poinformowane, a następnie
starają się zaradzić po przez ponowne wysłanie brakujących pakietów.
Połączenie typu full-duplex: jest to połączenie z możliwością jednoczesnej
transmisji w obie strony, mająca na celu zmniejszenie ograniczenia
przepustowości sieci.
33
Rys. 10 Pakiet TCP składający się z następujących bloków informacji
Port źródłowy: Port TCP, którego używa nadawca pakietu.
Port docelowy: Port TCP, którego używa odbiorca pakietu.
Numer sekwencji: Zawiera numer w sobie numer pierwszego bajtu danych
które są transportowane za pomocą pakietu.
Numer kolejnej sekwencji: Zawiera numer pierwszego bajtu danych, których
oczekuje nadawca.
Przesunięcie danych: liczba 32-bit danych nagłówka.
Zarezerwowane : miejsce które jest utrzymywane do wykorzystania w
przyszłości.
Flagi: znajdują się tutaj tzw. Flagi sterujące m.in. bity SYN, ACK oraz FIN
które używane są do rozpoczęcia kontynuacji oraz zakończenia połączenia.
Rozmiar okna: Rozmiar bufora danych odbieranych.
Suma kontrolna: pozwala na wykrycie uszkodzeń nagłówka pakietu który
mógł nastąpić w czasie transmisji.
34
Wskaźnik pilnych danych: Jest on opcjonalny, pierwszy bajt pilnych danych
który pokazuje gdzie jest ich koniec.
Opcje: Opcje protokołu TCP tak jak np.. rozmiar największego segmentu TCP.
Dane: Są to dane protokołu wyższej warstwy.
2.1.4 User Datagram Protocol (UDP)
Protokół UDP działa tak samo jak protokół IP czyli w sposób bezpołączeniowy. W
odróżnieniu od TCP na początku transmisji nie są wysyłane pakiety SYN/ACK aby
niezawodność transmisji była zapewniona. Ponadto w protokole UDP nie znajdziemy
żadnej kontroli transmisji czy tez nawet korekcji błędów. Konsekwencją tego może być
zagubienie pakietów, zduplikowanie a nawet pakiety mogą przybyć w niewłaściwej
kolejności. Pomimo tego protokół UDP wykorzystuje znacznie mniejsze nagłówki co
pozwala lepiej wykorzystać przepustowość łącza a co za tym idzie szybciej przetwarzać
pakiety niż miało to miejsce w TCP. Można powiedzieć że protokół ten używany jest
jedynie w sytuacjach gdy kontrola transmisji zapewniona jest przez protokoły wyższych
warstw. Przykładowymi usługami które wykorzystują ten protokół mogą być np. :
SNMP (Simple Network Management Protocol)
DNS (Domian Name System)
TFTP (Trivial File Transfer Protocol)
35
Rys. 11 Pakiet UDP składający się z następujących bloków informacji
Port źródłowy/ port docelowy: 16-bitowe numery portów używane do
przetwarzania datagramów.
Rozmiar datagramu: Rozmiar datagramu podawany w bajtach.
Suma kontrolna: Jest ona opcjonalna i pozwala na wykrycie ewentualnego
uszkodzenia zawartości datagramu.
Dane: Dane protokołów wyższych warstw.
36
2.1.5 Internet Control Message Protocol (ICMP)
Protokół ten służy przede wszystkim do przesyłania różnego rodzaju pakietów
informujących o błędach oraz kontrolowania kondycji połączenia. Transponowanie
pakietów ICMP jest procesem składającym się z dwóch etapów. Komunikat ICMP
dołączany jest jako dane do pakietu IP który następnie jest umieszczany oraz
transponowany następnie przez Internet w postaci ramki. Można powiedzieć że protokół
ICMP używa takiego samego sposobu komunikowania się jak zauważyliśmy w UDP.
Oznacza to że komunikaty ICMP mogą zostać zagubione bądź powielone. Format
datagramu jest tutaj najprostszy ponieważ zawiera tylko trzy pola.
Rys. 12 Pakiet ICMP składający się z następujących bloków informacji
Typ komunikatu: Określa nam rodzaj sytuacji powodującej wysłanie
datagramu.
Kod: Zawiera dodatkowe informacje na temat komunikatu.
37
Suma kontrolna: Pozwala nam na ewentualne wykrycie uszkodzonego
datagramu ICMP.
Datagram ICMP może również zawierać jeszcze nagłówek i dane pakietu który
spowodował jego wysłanie. Pozwoli to na ustalenie aplikacji oraz protokołu który stał
za przyczyną powstałego błędu. Jest wiele typów komunikatów ICMP w tabeli poniżej
znajdują się lista najważniejszych.
Typ
komunikatu
Nazwa
Znaczenie
0
ECHO REPLAY
Zwrot echa
3
DESTINATION UNREACHABLE
nieosiągalność
miejsca
przeznaczenia
4
SOURCE QUENCH
Tłumienie
nadawcy
5
ROUTE REDIRECTED
Zmień
trasowanie
8
ECHO REQUEST
Żądanie echa
11
DATAGRAM TIME EXCEEDED
Przekroczenie
limitu czasu
12
DATAGRAM PARAMETER PROBLEM
Problem z
parametrem
13
TIMESTAMP REQUEST
Żądanie
sygnatury
czasowej
14
TIMESTAMP REPLAY
Zwrot sygnatury
czasowej
15
INFORMATION REQUEST
Żądanei
informacji
Typ
38
komunikatu
Nazwa
Znaczenie
14
INFORMATIONREPLAY
Zwrot sygnatury
czasowej
17
ADDRESS MASK REQUEST
Żądanie maski
adresowej
18
ADDRESS MASK REPLAY
Zwrot maski
adresowej
Tab. 4 Najważniejsze komunikaty ICMP
[http://pl.wikipedia.org/wiki/Internet_Control_Message_Protocol]
2.1.6 Network Address Translation (NAT)
Mechanizm ten pozwala na zamianę prywatnych adresów IP na wykorzystywane w
Internecie unikatowe w skali świata adresy publiczne. Można powiedzieć że NAT
został zaimplementowany po to aby można było udostępnić wiecej adresów IP sieciom
prywatnym. NAT jest szczególnie skuteczny w walce przed włamaniami ponieważ
skutecznie ukrywa wszelkie informacje warstw TCP/IP o wewnętrznych hostach.
Sprawia że cały ruch wydaje się pochodzić od pojedynczego adresu IP. Pozwala nam
również na stosowanie dowolnego zakresu adresów IP w sieci wewnętrznej, pomimo
tego iż stosowane były już gdzieś indziej w Internecie. NAT ukrywa adresy za pomocą
zmiany wszystkich adresów wewnętrznych hostów na adres firewalla. Jednocześnie w
swojej tablicy translacji przechowywane są zapisy które pozwalają określić które
gniazdko z interfejsu zewnętrznego odpowiada gniazdku interfejsu wewnętrznego.
Mechanizm NAT można zatem uważać jako podstawowy mechanizm zastępczy Proxy.
Niestety w Windows NT nie ma tej funkcji jaka jest NAT aby go zastosować należy
użyć firewalla innej firmy, natomiast w przypadku systemów z rodziny UNIX-a wiele
jego wersji posiada NAT bądź zezwala na jego korzystanie z oprogramowania Open
source do maskowania adresów IP.
39
Działanie NAT:
Aby korzystać z NAT wymagane jest aby firewall przechowywał tablice, w której
zapisane będą przyporządkowane gniazda wewnętrzne oraz zewnętrzne. Gdy
wewnętrzny host nawiązuje połączenie z zewnętrznym hostem firewall będzie zmieniał
jego port źródłowy na jeden ze swoich portów zewnętrznych i będzie dokonywał
odpowiedniego wpisu w tablicy translacji. Zapis ten będzie zawierał aktualne
wewnętrzne gniazdo źródłowe, gniazo docelowe oraz przypisane gniazdo zewnętrzne
ściany ogniowej. Zatem kiedy zewnętrzny host wysyła dane powrotem do gniazda hosta
wewnętrznego, firewall wykona odwrotne przekształcenie. Jeżeli w tablicy translacji nie
będzie pozycji dla danego gniazda lub tez gdy źródłowy adres IP jest inny od tego,
którego oczekuje firewall pakiet zostaje odrzucony.
Tryby translacji:
W zależności od typu firewall stosowane są różne typy NAT. Poniżej znajdują się
cztery podstawowe tyly translacji NAT:
Translacja statyczna (static translatiori): Nazywana jest również jakie
przekierowywanie portów. Określony zasób sieciowy ma na stałe przypisane
stałe przekształcenie które nigdy nie ulega zmianie. Statyczny NAT jest
zazwyczaj stosowany gdy chcemy udostępnić hosty wewnętrzne dla hostów
zewnętrznych.
Translacja dynamiczna (dynamie translation): Widnieje też pod takimi
nazwami jak automatyczna lub maskowanie IP. Chroni wewnętrzne hosty po
przez zastępowanie ich adresów IP adresem przypisanym dla firewalla. Hosty
indywidualne wewnątrz obszaru chronionego przez firewall są identyfikowane
za pomocą numeru portu połączenia przychodzącego.
Translacja ze zrównoważonym obciążeniem (load balancing translation):
Pojedynczy adres IP oraz numer portu przekształcane są na pewien adres z puli
identycznie skonfigurowanych serwerów. Prowadzi to do tego że pojedynczy
adres publiczny może być obsługiwany przez kilka serwerów.
40
Translacja ze zwielokrotnionymi połączeniami (network redundancy
tranlatori): Zwielokrotnione połączenia z Internetem
są przyłączane do
pojedynczego firewalla który posiada NAT i są wykorzystywane w oparciu o
obciążenie oraz dostępność.
Problemy związane z NAT :4
Problemy z NAT dotyczą przede wszystkim protokołów oraz używania niektórych
usług, mianowicie istnieje kilka protokołów, których nie można używać z NAT,
ponieważ wymagają one aby utworzyć kanał zwrotny do klienta, w których znajdują się
informacje adresowe TCP/IP.
H.323, VDO Live – Programy które realizują usługi wideo telekonferencji nie
będą działać poprawnie ponieważ
wymagają utworzenia kanału zwrotnego.
Takie same objawy będą występować przy usługach : Rshell, Xing.
FTP -
Aby oprogramowanie mogło współpracować z NAT musi istnieć
zgodność z RFC 1631. FTP umieszcza adres IP jako tekst ASCII wewnątrz
pakietu TCP zatem jego długość może ulec zmianie
w wyniku translacji
adresów.
ICMP – Oprogramowanie to czasami umieszcza pierwszą część oryginalnego
oprogramowania w komunikacie ICMP. Zawarty jest w nim przetłumaczony
adres. Bezpiecznym rozwiązaniem jest nie przepuszczanie ruchu ICMP prze
firewall.
Widać zatem że NAT nie jest stuprocentowym narzędziem, pomimo tego że klienci są
niewidoczni nie oznacza to wcale że nie można się do nich włamać. Poniżej znajduje się
kilka przypadków w który NAT zawodzi:
Translacja statyczna nie chroni hostów znajdujących się wewnątrz.
Jeżeli NAT firewalla zawiera luki mogąone zostać wykorzystane w celu
przełamania zabezpieczeń.
4
Firewalls ściany ogniowe Matthew Strebe, Charles Perkins Mikom 2000r str. 177
41
Nawiązanie połączenia przez klienta oznacza utworzenie połączenia zwrotnego
które może zostać przechwycone techniką która nosi nazwę „Zwabianie hosta”.
2.1.7 Broadcast i multicast
Broadcast:
Broadcast jest to nic innego jak tryb transmisji którego celem jest wysłanie prze jeden
port pakietów które powinny zostać odebrane przez wszystkie hosty w sieci. Adres
rozgłoszeniowy (broadcast) jest to adres MAC który
przedstawia się jako
(FF:FF:FF:FF:FF:FF). Przeważnie jest on wykorzystywany w protokole ARP do
przekształcania adresów sieciowych IP na adresy Ethernetowe.
Rys. 13 Broadcast.
W celu wyznaczenia adresu rozgłoszeniowego (broadcast) dla danej sieci potrzebny
nam jest maska podsieci oraz adres hosta. Zatem wyliczmy broadcast dla tego
przykładu. Załóżmy że adres hosta to 192.168.1.29 co po przeliczeniu binarnie
42
zapiszemy (11000000.10101000.00000001.00011101) maska
to 255.255.255.0 co
binarnie klasyfikuje się jako (11111111.11111111.11111111.00000000). Czyli adres
rozgłoszeniowy będzie wyglądał następująco:
11000000.10101000.00000001.00011101 Adres IP
11111111.11111111.11111111.00000000 Maska odsieci
11000000.10101000.00000001.11111111 Adres rozgłoszeniowy
2.1.8 IP Routing
Routery to urządzenia sieciowe, których zadaniem jest implementacja szerokij gamy
usług. Zapewniają one interfejsy dla szerokiego zakresu łączy oraz podsieci, które
działają z różną prędkością, można śmiało powiedzieć że routery są inteligentnymi
węzłami sieci, które biorą udział w zarządzaniu siecią. Po za podstawowymi funkcjami
takimi jak np. przełączanie czy routing posiadają także szereg dodatkowych cech, które
pomogą zwiększyć efektywność działania sieci. Routery potrzebne są do obsługi wielu
protokołów, z których każdy ma swoje własne protokoły routingu. W praktyce routery
pełnią też funkcje mostów oraz ograniczonych koncentratorów.
Podczas oceny i wyznaczania ścieżek w sieci, protokoły routingu wykorzystują
dostępne informacje na temat topologii sieci, informacje te mogą skonfigurowane prze
administratora. Czasami dzieje się tez tak że gromadzone są one w trakcie
dynamicznych procesów działających w sieci. Po dokonaniu wyboru ścieżki router
rozpoczyna przełączanie pakietu, które polega na przesłaniu pakietu zaakceptowanego
przez dany interfejs do następnego interfejsu bądź portu który odpowiada najlepszej
ścieżce do celu. Sieć w sposób spójny musi reprezentować ścieżki które są pomiędzy
routerami. Jak widać na rysunku poniżej każde łącze pomiędzy routerem ma numer
który w rzeczywistości jest adresem sieciowym. Adresy te muszą zawierać informacje,
które będą wykorzystywane w procesie routingu. Oznacza to iż każdy adres musi mieć
informacje dotyczące ścieżek wykorzystywanych przez media.
43
Rys. 14 Adresy reprezentują ścieżki łączenia mediów.
Po przez korzystanie z tych adresów, warstwa sieci może zapewnić wzajemne
połączenie niezależnych sieci. Spójny schemat adresowania całej sieci pozwala na
znalezienie ścieżki do punktu przeznaczenia, bez zbędnego obciążania urządzeń oraz
łączy w sieci przez rozgłaszanie.
Wykorzystywanie adresów sieciowych w procesie routingu:
Routery przekazują pakiety z jednego łącza danych do drugiego, do tego celu korzystają
z dwóch podstawowych funkcji : wyznaczanie ścieżki i przełączenia. Część adresu,
która dotyczy sieci jest wykorzystywana do wyboru ścieżki natomiast cześć dotycząca
węzła kieruje port routera swą właściwą ścieżką. Router odpowiedzialny będzie za
przekazywanie pakietów do następnej sieci, która znajduje się na ścieżce, aby wybrać
ścieżkę router będzie korzystał z części adresu, która dotyczy sieci. Funkcja
przełączania będzie pozwalać routerowi na zaakceptowanie pakietu w jednym
interfejsie
i przekazanie go do innego interfejsu. Natomiast funkcja wyznaczania
ścieżki pozwoli routerowi na wybranie najbardziej odpowiedniego interfejsu za którego
pośrednictwem zostanie przesłany pakiet. Część adresu, która dotyczy węzła odnosi się
do określonego portu w routerze, który prowadzi do kolejnego routera we właściwym
kierunku.
44
Protokoły routingu, protokoły routowalne:
Protokół routowalny: to dowolny protokół sieciowy, który będzie dostarczał
informacji z adresu warstwy sieci umożliwiając tym przenoszenie pakietu
pomiędzy hostami w oparciu o system adresowania. Routowane protokoły
definiują przede wszystkim format i zastosowanie pól wewnątrz pakietu.
Przykładem takiego protokołu może być protokół IP.
Protokół routingu: obsługuje
routowany protokół przez dostarczenie
mechanizmów współdzielenia informacji na temat routingu. Komunikaty
routingu przemieszczają się pomiedzy routerami, przez co umożliwia routerom
na komunikowanie się ze sobą w celu aktualizacji przechowywanych przez nie
tablic routingu. Przykładami takich protokołów mogą być : RIP (Routing
Information Protocol), IGRP (Interio Gateway Routing Protocol), OSPF (Open
Shortest Path First).
Routing wieloprotokołowy:
Rys. 15 Routery przenoszą ruch sieciowy, który pochodzi z wszystkich routowanuch
protokołów w sieci.
45
[Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo
MIKOM 2001r. str.177]
Routery maja zdolność równoczesnego obsługiwania wielu niezależnych protokołów
routingu oraz przechowywać tablice routingu dla kilku routowanych protokołów
równocześnie. Taka cecha pozwala routerom na dostarczanie pakietów, które pochodzą
z wielu routowanych protokołów za pośrednictwem tych samych łączy danych.
Routing statyczny:
Routing statyczny jest zarządzany w sposób ręczny czyli konfigurowany przez
administratora sieci. Jeżeli zajdzie taka sytuacja ze topologia sieci ulegnie zmianie
wtedy administrator musi ręcznie dokonać aktualizacji poszczególnych pozycji tablic
routingu. Routing statyczny ma kilka użytecznych aplikacji, do których należą np.
wiedza administratora na temat topologii sieci, celem routingu dynamicznego jest
ujawnienie sporej ilości danych dotyczących sieci. Ze względu na bezpieczeństwo
wskazane jest ukrywanie części sieci. Routing tez pozwala administratorowi sieci
rozleglej na określenie, które informacje dotyczące zastrzeżonych obszarów sieci
powinny być rozgłaszane.
46
Rys. 16 Elementy routingu statycznego
[Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo
MIKOM 2001r. str.178]
W przypadku gdy dostęp do sieci odbywa się tylko z jednej ścieżki wystarczającym
rozwiązaniem jest użycie routingu statycznego.
Routing dynamiczny:
Routing dynamiczny działa w odmienny sposób niż routing statyczny. Po
wprowadzeniu przez administratora sieci poleceń konfiguracyjnych, które inicjują
routing dynamiczny informacje na temat tras są automatycznie aktualizowane przez
proces routingu, za każdym razem gdy z sieci otrzymywane są nowe dane. Informacje
te są wymieniane pomiędzy routerami jako element procesu aktualizowania.
Powodzenie routingu dynamicznego będzie zależało od dwóch podstawowych funkcji
routera a są nimi :
Obsługa tablic routingu,
Uaktualnień tabel routingu – do innych routerów.
47
Routing dynamiczny będzie korzystał z protokołów routingu w celu dzielenia się
informacjami. Protokół będzie definiował nam zbiór reguł stosowanych przez router
podczas procesu komunikacji z routerami sąsiednimi. Protokół routingu będzie
opisywał np. :
Sposób wysyłania uaktualnień.
W jakim czasie wysłać uaktualnienia.
Jak zlokalizować odbiorcę uaktualnienia.
Rys. 17 Definiowanie najlepszej scieżki za pomocą różnorodnych metryk
Podczas dokonywania aktualizacji tablicy routingu najważniejszym celem jest
wyznaczenie najlepszych informacji które należy umieścić w tablicy. Każdy algorytm
routingu generuje liczbę tzw. (metryczkę), która odpowiada każdej ścieżce w sieci.
Zazwyczaj im mniejsza metryczka tym lepsza jest ścieżka.
Metryczki mogą być wyznaczone w oparciu o pojedyncze charakterystyki ścieżki, aby
uzyskać bardziej złożoną metryczne należy połączyć kilka charakterystyk.
Najczęściej stosowane metryki obejmować będą:
Liczbę skoków: Inaczej mówiąc jest to liczba routerów, przez które musi przejść
pakiet aby dotrzec do celu. Im mniejsza jest liczba tych skoków tym metryka
jest lepsze.
48
Pasmo: jest to nic innego jak pojemność łącza odwołując się do Rys. 17 łącze T1
z pojemnością 1544 Mb/s będzie lepsze ni łącze dzierżawione 64 kb/s.
Opóźnienie: określa nam czas potrzebny na przesłanie pakietu z punktu
źródłowego do punktu docelowego.
Obciążenie: jest to suma aktywności w zasobach sieciowych, takich jak np.
łącze bądź router.
Niezawodność: określa nam stopę błędu każdego łącza w sieci.
Takty zegara: definiuje opóźnienie łącza danych wyrażone w taktach zegara
IBM PC (w przybliżeniu równa się to 55 milisekund )
Koszt : wartość, która wyznaczana jest w oparciu o pasmo, oraz wydatki
pieniężne związane z siecią.
Algorytmy routingu według wektora odległości:
Algorytmy wektora odległości maja za zadanie okresowo rozsyłać kopie tablic
routingu
pomiędzy
routerami.
Regularne
aktualizacje
tablic
routingu
odzwierciedlają wszelkie zmiany które zachodzą w topologii sieci. Każdy router
otrzymuje tablice routingu od routera sąsiadującego
Rys. 18 Routing wektora odległości.
49
Każdy router dostaje tablice routingu od sąsiadującego routera. Jak widać na Rys.
18. Router B dostaje informacje od routera A. Router B dodaje związany z nim
wektor odległości , zwiekszając w ten sposób otrzymany wektor odległości i
przekazuje zmodyfikowaną tablicę routingu do routera, który z nim sąsiaduje czyli
do routera C. Ten sam proces powtarzany jest we wszystkich kierunkach pomiędzy
wszystkimi routerami sąsiadującymi. Taki algorytm pozwala na modyfikowanie
oraz obsługę informacji , które dotyczą topologii sieci. Niestety algorytm ten nie
pozwoli routerom na poznanie dokładnej topologii sieci złożonej.
Algorytm routingu stanu łącza:
Kolejnym podstawowym algorytmem routingu jest algorytm stanu łącza, który
znany jest również pod nazwą algorytmu najkrótszej ścieżki SPF- (Shortest Path
First). Przechowują one bazy danych , które dotyczą topologii sieci, jeżeli algorytm
nie posiada określonej informacji o odległych sieciach ani żadnych wiadomości o
dalszych routerach, to w takim przypadku algorytm stanu łącza posiada pełną
wiedze o dalszych routerach i połączeniach. Routing stanu łącza głównie korzysta z
ogłoszeń łącza LSA (Link State Advertisment) , topologicznej bazy danych, drzewa
SPF, algorytmu SPF oraz tablicy routingu ścieżek i portów prowadzących do każdej
sieci.
Zrównoważony routing hybrydowy:5
Trzeci typ protokołu routingu jest to połączenie routingu wektora odległości oraz
stanu łącza i nosi on nazwę zrównoważonego routingu hybrydowego. Stosuje on
wektor odległości dla wyznaczenia najlepszej ścieżki do punktu docelowego, jednak
różni się znacząco od większości protokołów wektora odległości, ponieważ
aktualizacja bazy danych są wyzwalane poprzez zmiany topologii sieci.
5
Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis Wydawnictwo MIKOM 2001r.
str.195-196
50
Rys. 19 Routing hybrydowy łączy cechy routingu stanu łącza oraz routingu wektora
odległości.
[Akademia sieci Cisco. Pierwszy rok nauki Vito Amato, Wayne Lewis
Wydawnictwo MIKOM 2001r. str.196]
Można powiedzieć że zrównoważony routing hybrydowy jest szybko zbieżny,
bardzo podobnie jak routing stanu łącza. Jedyne róznice między nimi są takie że
routing hybrydowy wykorzystuje mniejsze ilości zasobów sieci takich jak pasmo ,
pamięć i praca procesora. Przykładami takiego routingu mogą być np. : Cisco
EIGRP.
2.2 W jakiej sieci można zastosować firewalle (architektury)
Podrozdział ten jak sama nazwa wskazuja będzie wyjaśniał nam aspekty dotyczące
architektur firewalli. Poznamy zatem te najbardziej klasyczne zasady budowy firewalii
mianowicie firewali z pojedynczym i podwójnym segmentem dmz itp.
2.2.1 Architektury pojedynczego firewall’a
Obecnie na rynku są dwie dominujące
architekturze pojedynczego oraz
architektury firewalla. Mówimy tutaj o
podwójnego firewalla. Architektura pojedynczego
firewalla jest prostsza i jest zbudowana z jednego urządzenia które ma za zadanie
51
kontrolować ruch sieciowy oraz poddawać filtrowaniu . Jeżeli wybierzemy architektóre
pojedynczego firewall możemy skorzystać z kilku typowych modeli:
Pojedynczy firewall z pojedynczym DMZ (Demilitarized zone).
Pojedynczy firewall ze złożonym DMZ.
Pojedynczy fireewall bez obsługi DMZ.
Pojedynczy firewall z pojedynczym DMZ:
Firewall z pojedynczym DMZ jest najbardziej popularną architekturą ponieważ jest ona
ogólnego zastosowania. Z tą architekturą firewall posiada trzy interfejsy:
Interfejs wewnętrzny, który jest połączony z siecią chronioną
Zewnętrznego interfejsu który jest połączony z Internetem.
Interfejs DMZ, który połączony jest siecią w której znajdują się serwery oraz
systemy do których dostają się zewnętrzni użytkownicy.
Rys. 20 Pojedynczy firewall z pojedynczym DMZ
W tej architekturze ruch sieciowy kontrolowany jest w trzech stronach. Ruch sieciowy,
który przychodzi od strony Internetu dozwolony jest tylko do zasobów segmentu DMZ,
natomiast zabroniony dla dostępu do sieci chronionej. Ruch sieciowy odbywający się
od segmentu DMZ będzie dozwolony zarówno do sieci chronionej jak i do systemów
pochodzących z Internetu. W końcu ruch sieciowy odbywający się od sieci chronionej
52
będzie dopuszczony dla segmentu DMZ jak i dla systemów pochodzących z
zewnętrznego Internetu. We wszystkich sytuacjach, jedyny ruch jaki powinien był
zostać dozwolony jest ten który znajduje się na liście kontroli dostępu (ACL) Rys. 20
ilustruje nam firewall z pojedynczym DMZ z nałożonymi restrykcjami na ruch
sieciowy.
Pojedynczy firewall ze złożonym DMZ:
Firewall z wielokrotnym DMZ jest dość podobny do pojedynczego, jedyną różnicą jest
to że DMZ został rozdzielony na dwa osobne
segmenty które znajdują się poza
firewallem. Nie ma żadnych praktycznych ograniczeń co do numeru segmentu DMZ
jedyną restrykcja jaka się pojawi będzie to numer interfejsu który będzie znajdował się
w firewallu. Ta architektura sprawdza się dobrze kiedy zachodzi potrzeba do
oddzielnych zasobów na odmiennych segmentach DMZ. Ze względów bezpieczeństwa
zastosowanie
oddzielnych zasobów jest bardziej praktyczne ponieważ wszystkie
zasoby nie są narażone na ewentualnie zaatakowanie.
53
Rys. 21 Pojedynczy firewall ze złożonym DMZ.
Ruch sieciowy w tym przypadku odbywa się tak jak poprzednio z tą tylko różnicą że
zasoby DMZ są rozdzielona na 2 odrębne segmenty, które nie są ze sobą jakikolwiek
połączone.
Pojedynczy fireewall bez obsługi DMZ:
Pojedynczy firewall bez obsługi DMZ będzie pełnił tylko role ochrony dla ruchu
sieciowego który będzie napływał od strony zewnętrznego Internetu. Główną regułą
tego firewalla jest to że żaden ruch z nie zaufanego źródła nie może przedostać się do
sieci wewnętrznej. Firewall będzie skupiał sie na dwóch głównych rzeczach
mianowicie:
Będzie
uniemożliwiał
zewnętrznym
hostom
inicjowanie
połączeń
do
chronionego zasobu sieci.
Będzie kontrolował ruch sieciowy oraz filtrował pakiety pochodzące od hostów
wewnętrznych, ponadto będzie miał możliwość implementacji oprogramowania
odpowiedzialnego za dogłębne filtrowanie np. : Websense, SurfControl
2.2.2 Architektury podwójnego firewall’a
Architektura ta będzie bardzie złożona od poprzedniej i jest stosowana w sieciach, w
których bezpieczeństwo danych i kontrola dostępu jest sprawą kluczową. Będziemy
mieli tutaj do czynienia z dwoma firewallami, które znajdują się po przeciwnych
stronach czyli przed wejściem do sieci chronionej jak i przed wejściem do
zewnętrznego Internetu. Występują tutaj również zasoby DMZ które są scentralizowane
jako jeden segment.
54
Rys. 22 Architektura podwójnego firewalla
Architekturę tą możemy spotkać zaimplementowaną w takich urządzeniach jak np.
Cisco PIX, Microsoft ISA Firewall Srever. Stosując powyższa architekturę zyskujemy
dodatkowe bezpieczeństwo, ponieważ w razie ataku na sieć atakujący zmuszony jest
pokonać dwa oddzielne firewalle aby uzyskać dostęp do chronionych zasobów sieci.
Ponadto atakujący musi nastawić się na to że oba te firewalle nie będącej samej
technologii tak wiec jest to kolejne utrudnienie które ma na celu zniechęcenie jego
działań.
2.2.3 System firewall (single/dual)
System firewall określał nam będzie ilość urządzeń używanych w celu chronienia sieci
oraz zasobów znajdujących się w jej obrębie. Prowadzi to do tego że system firewalli
będzie w stanie rozdzielać swój system ochrony na
warstwy, które będą
odpowiedzialne za osobne segmenty ochrony, mowa tutaj jest np. o filtrowaniu
pakietów, zarządzaniem ruchem sieciowym itp. System firewall oparty jest o dwie
główne architektury: single system firewall, dual system firewall.
55
Single system firewall:
Single system firewall składa się z następujących warstw:
Router zewnętrzny
Segment sieci znajdujący się między zewnętrznym routerem i firewallem
Segment DMZ
Rys. 23 Single firewall system
W skrajnej warstwie systemu firewall zewnętrzny router powinien być pierwszym
punktem kontroli ruchu sieciowego (Filtrowanie WE/WYJ na firewallu). Jedyny ruch
sieciowy, który będzie
przepuszczany przez router będzie ruch przeznaczony dal
firrewalla, bądź zasobów chronionych przez ten firewall.. Pierwszy router pełni
łatwiejszą rolę mianowicie monitoruje ruch sieciowy w segmencie pomiędzy routerem a
firewallem, ponieważ tylko ruch, który powinien być dostarczony do firrewalla
powinien istnieć w tym segmencie. Drugi zaś zabezpiecza firewall przed
niedozwolonym dostępem do niego w ten sposób pomagając zapewnić dodatkowe
56
zabezpieczenie od nieautoryzowanego dostępu. Jeżeli zostanie wykryty takowy
niedozwolony dostęp zostanie on zablokowany na routerze. Należy pamiętać że oprócz
ochraniania firewalla oraz zasobów sam router powinien być zabezpieczony aby nie
stał się łatwym celem bezpośredniego ataku z zewnątrz.
Segment sieci, który znajduję się między zewnętrznym routerem i firewallem jest
pierwszym punktem dla implementacji
wykrywania oraz zapobiegania wtargnięć
(IDS/IPS), ponieważ tylko jawny dozwolony ruch sieciowy powinien był zostać
dopuszczony by przejść przez router, ntomiast
IDS/IPS może zostać tak
skonfigurowane by wysyłać alarm tylko w momencie wykrycia niedozwolonego ruchu
sieciowego. Sam firewall jest następną warstwą i powinien on być skonfigurowany w
taki sposób by zezwalał tylko na ruch odbywający się w kierunku chronionych
zasobów, DMZ bądź wewnętrznych segmentach sieci. Zasoby DMZ powinny być
chronione po przez połączenie oparte o host-firewall oraz sieć-IDS/IPS, taka struktura
pozwala na dokładne określenie jaki ruch zostanie dozwolony a jaki ma być zabroniony.
Taka struktura skutecznie dostarcza trzy oddzielne i odmienne warstwy filtrujące dla
zewnętrznego routera w celu dostarczenia maksimum ochrony dla zasobów
znajdujących się w DMZ. W końcu sieć wewnętrzna chroniona jest przez filtrowanie,
które odbywa się na routerze i firewallu oraz obejmuje IDS/IPS między firewallem a
siecią chronioną, co pozwala na rozpoznanie i monitorowanie całego ruchu, który
pochodzi od firewalla.
Dual system firewall:
W tej architekturze system firewall składa się z następujących warstw:
Router zewnętrzny
Segment sieci pomiędzy zewnętrznym routerem i zewnętrznym firewallem
Zewnętrzny firewall
Segment DMZ
Wewnętrzny firewall
57
Rys. 24 Dual system firewall
Jedyną różnicą pomiędzy systemami dual/single jest zastosowanie dwóch firewalli. Ma
to na celu dostarczenia oddzielnych i odmiennych punktów w sieci do kontroli
strumienia ruchu z odpowiednim wejściem i wyjściem, które filtrowane są
na
zewnętrznym firewallu.
2.2.4 Pozostałe architektury firewalli
Router osłaniający:
Jest to jedno z najtańszych rozwiązań uzywanych w budowie firewalli, ponieważ
filtrowanie pakietów odbywa się za pomocą jednego routera, który chroni całą sieć.
System ten jest tani z tego względu iż potrzebny jest tylko jeden router, który można w
58
bardzo łatwy sposób skonfigurować tak aby filtrował pakiety. Główną zaletą tego
systemu jest wysoka wydajność.
Rys. 25 Architektura firewalla - Router osłaniający.
Z punktu widzenia bezpieczeństwa nie jest to jednak zbyt dobre rozwiązanie ponieważ
mamy do dyspozycji tylko filtrowanie pakietów. Jeżeli zabezpieczenia na routerze
zostaną złamane dostep do sieci wewnętrznej zostanie uzyskany ponieważ dalej nie ma
żadnych zabezpieczeń. Zatem ta architektura może być stosowana jedynie w sieciach
gdzie wykorzystywane są proste protokoły oraz ich liczba jest ograniczona. Takie
rozwiązanie idealnie nadaje się gdy chroniona sieć wewnętrzna posiada dobrze
zabezpieczone pojedyncze hosty.
Host dwusieciowy:
Architektura ta zbudowana jest na bazie hosta, który posiada przynajmniej dwa
interfejsy sieciowe. Host ten udostepnia usługi pośredniczenia bądź pełni rolę routera i
realizuje przeźroczyste pośredniczenie.
59
Rys. 26 Architektura firewalla – host dwusieciowy.
Aby host dwusieciowy pełnił rolę firewalla należy włączyć funkcje trasowania
pakietów, co będzie skutkowało tym że pakiety IP
np. z Internetu nie będą
bezpośrednio przesyłane do drugiej sieci w tym przypadku do sieci wewnętrznej.
Systemy, które chronione są tym firewallem mogą się komunikować z tym hostem jak i
również systemy zewnętrzne. Host dwusieciowy może świadczyć usługi tylko po przez
bezpośrednią interakcje z użytkownikiem. Skutkuje to tym że każdy użytkownik chcący
skomunikować się bezpośrednio z hostem musi posiadać własne konto. Niestety konta
użytkowników niosą ze sobą poważne problemy ponieważ użytkownicy mogą
niespodziewanie włączyć niebezpieczne usługi co zagrozi bezpieczeństwu sieci.
Systemy te nie będą w stanie komunikować się ze sobą nawzajem, ponieważ ruch IP
60
pomiędzy nimi jest całkowicie zablokowany. Minusem takich hostów jest ich mała
wydajność, ponieważ muszą pracować oddzielnie przy każdym połączeniu co wiąże ze
sobą potrzebe większej ilości zasobów. Ponieważ host dwusieciowy jest pojedynczym
miejscem obrony, dlatego musi on być bardzo dobrze zabezpieczony.
Ekranowany host:
Architektura ta ma za zadanie udostępniać usługi z hosta, który jest przyłączony do
sieci wewnętrznej z wykorzystaniem oddzielnego routera. Głównym zabezpieczeniem
w tej architekturze jest filtrowanie pakietów.
Rys. 27 Architektura firewalla – ekranowany host
Host bastionowy to komputer specjalnie zabezpieczony, który będzie udostępniał
wybrane usługi w Internecie. Filtrowanie pakietów na routerze jest skonfigurowane w
taki sposób aby aby tylko host bastionowy jako jedyny z sieci wewnętrznej, z którym
61
będą mogły łączyć się komputery z Internetu. Architektura ta zapewnia lepsze
zabezpieczenie oraz zwiększenie użyteczności. Niestety poważnym minusem jest to że
jeżeli napastnikowi uda się włamać do hosta bastionowego wówczas uzyska pełen
dostęp do sieci wewnętrznej.
Ekranowana podsieć:
W zastosowaniu tej architektury korzysta się z dodatkowych elementów, które pozwolą
nam na osięgnięcie wyższego poziomu bezpieczeństwa. Pojawi nam się tutaj sieć
peryferyjna czyli router zewnętrzny oraz router wewnętrzny, będzie ona stanowić
dodatkową warstwę bezpieczeństwa. W przypadku włamania się do hosta bastionowego
napastnik uzyskuje jedynie dostęp do sieci peryferyjnej, tak więc będzie mógł podejrzeć
ruch sieciowy odbywający się tylko w tej sieci.
Rys. 28 Architektura firewalla – ekranowana podsieć
Host bastionowy jest głównym miejscem kontaktu połączeń przychodzących z zewnatrz
i wiekszośćjego czynności skupia się na działaniu jako serwer Proxy. Router wewnętrzy
62
często nosi nazwę routera dławiącego, który zabezpiecza sieć wewnętrzną zarówno od
strony Internetu oraz sieci peryferyjnej.
Wieloczęściowa sieć ekranowa:
Architektura ta zbudowana jest z jednego routera wewnętrznego oraz zewnętrznego a
pomiędzy nimi występuje kilka podsieci. Przeważnie podsieci te połączone są ze sobą
za pomocą jednego lub więcej hostów wielosieciowych.
Rys. 29 Architektura firewalla – wielocześciowa sieć ekranowa
Architektury tej można użyć aby zapewnić wielowarstwowe zabezpieczenie oraza
zapewnić ochrone hosta Proxy za pomocą routerów. Host wielosieciowy zapewni nam
bardziej dokładną kontrolę połączeń, takie rozwiązanie pozwoli nam na stworzenie
pełnej wielowarstwowej ochrony. Wymaga to jednak dokładnej konfiguracji hosta z
wieloma interfejsami, aby móc w pełni wykorzystać zalety takiego rozwiązania.
Architektura ta może zwiększyć wydajnośc maszyn, które intensywnie używają
zasobów sieciowych, ponadto architektury wykorzystujące wieloczęściową sieć
ekranową są odpowiednie dla sieci, które wymagająwysokiego poziomu zabezpieczeń.
63
2.2.5 Listy ACL oraz VLAN-y
Listy ACL (Access List Control):
Listy ACL (Access List Control) możemy określić mianem listy warunków, które
używane są podczas sprawdzania ruchu w sieci, który kierowany jest przez interfejsy
routera. Listy maja za zadanie informować router jakie pakiety powinny zostać
zaakceptowane a jakie odrzucone, wybór ten dokonywany jest po przez sprawdzenie
czy pakiet spełnia konkretny warunek zawarty w liście. Listy ACL mogą zostać
utworzone dla każdego protokołu routowalnego przykładem tego może być np. protokół
IPX.. Aby umożliwić filtrowanie ruchu sieciowego w listach ACL musi być określone
czy pakiety mają być blokowane bądź przekazywane na interfejsach routera. Następnie
router sprawdza każdy pakiet i w zależności od warunków znajdujących się w liście
ACL
przekaże go albo odrzuci. Lista ACL musi być definiowana oddzielnie dla
każdego protokołu oraz interfejsu. Tak więc aby móc kontrolować ruch przychodzący i
wychodzący należy utworzyć dwie osobne listy AC, ponadto na każdym interfejsie
można zdefiniować dwa kierunki oraz wiele protokołów.
Możliwości list ACL są następujące:
Umożliwienie kontrolowania ruchu w sieci,
Zapewnienie podstawowych zabezpieczeń podczas dostępu do sieci,
Ograniczenie ruchu i i zwiększenie wydajności sieci,
Określenie do jakich obszarów sieci może mieć dostęp użytkownik.
Podczas tworzenia listy ACL na routerze wymagane jest aby podać unikalny numer
identyfikacyjny, który odpowiada za typ utworzonej listy kontroli dostępu.
64
Protokół
Zakres
IP
1-99 , 1300-1999
IPX
800-899
Extender IP
100-1999 , 2000-2699
Apple Talk
600-699
Extender IPX
900-999
IPX Service Advertising Protocol
1000-1099
Tab. 5 Zakres numerów właściwych dla typu listy.
Standardowe listy ACL stosowane są w momencie gdy zachodzi potrzeba blokowania
całego ruchu jaki odbywa się w sieci, dopuszczenia całego ruchu bądź odrzucenia
zestawu protokołów. Standardowe listy ACL będą sprawdzać adresy źródła
trasowalnych pakietów co w efekcie będzie kończyło się przyznaniem bądź odebraniem
prawa do wysłania informacji wyjściowych. Do utworzenia standardowej listy ACL
stosuje się standardową wersję polecenia globalnego konfiguracji list kontroli dostępu
np. :
Router(config) # access-list nuemer-listy-dostępu {permit | deny} źródłó {maska
źródła}
Tab. 6 Tworzenie standardowej listy ACL
Natomiast do usuwania standardowych list kontroli dostępu stosuje się polecenie
którego składnia wygląda następująco:
Router(config) # no access-list numer-listy-dostepu
Tab. 7 Usuwanie listy ACL
65
Aby przyjrzeć się listom ACL przedstawimy przykład, który zezwalał będzie na
przekazywanie ruchu pochodzącego wyłącznie z sieci o adresie 172.16.0.0 , natomiast
wszelki ruch, który nie pochodzi z 172.16.0.0 będzie blokowany.
Rys. 30 Przykład dwóch podsieci połączonych ze sobą za pomocą routera.
Aby przepuszczać ruch sieciowy pochodzący z sieci źródłowej 172.16.0.0 należy
zastosować następującą linie poleceń:
Router(config) # access-list permit 172.16.0.0 0.0.255.255
Router(config) # interface Ethernet0/0
Router(config) # ip access-group 1 out
Router(config) # interface Ethernet1/0
Router(config) # ip access-group 1 out
Tab. 8 Linia poleceń listy ACL
Polecenia zawarte wyżej realizują utworzenie listy kontroli dostępu, której celem
będzie zezwolenie na ruch sieciowy pochodzący z adresu 172.16.0.0 natomiast ruch
sieciowy odbywający się na interfejsach E0/0 oraz E1/0 będą blokowane, ponadto
polecenie ip access-group 1 out grupuje liste ACL do interfejsu wyjściowego.
66
Rozszerzone listy ACL wykorzystywane są najczęściej w celu testowania wyrażeń
warunkowych, ponieważ zapewniają szerszy zakres kontroli niż standardowe listy
kontroli dostępu. Rozszerzona liste ACL najlepiej jest stosować wówczas gdy np.
chcemy zezwolić na przekazywanie ruchu WWW, blokując jednocześnie transmisje
FTP albo Telnet. Mogą ponadto sprawdzać pakiety pod katem określonych protokołów,
numerów portów bądź innych parametrów. Umożliwi nam to większą elastyczność
podczas określaniu warunków, które maja być sprawdzane przez listę ACL. Pełna
postać polecenia rozszerzonej listy ACL :
Router(config) #
access-list
numer-listy-dostepu {permit | deny} protokół źródło
{maska-źródła miejsce-przeznaczenia maska-miejsca przeznaczenia} {operator}
Tab. 9 Tworzenie rozszerzonej listy ACL
Polecenie ip access-group łączy rozszerzoną listę ACL z interfejsem wyjściowym.
Ważne jest to że na jeden port oraz na jeden protokół może przypadać tylko jedna lista
ACL, którego składnia polecenia wygląda następująco:
Router(config) # ip access-group access-list numer-listy dostepu {in | out}
Tab. 10 Łączenie rozszerzonej listy ACL
Adresy przeznaczenia, źródła oraz określone porty, które stosują rozszerzone listy ACL
muszą być oznaczone poprzez liczby z zakresów o 100 do 199. Zarezerwowane numery
portów znajdują się w tabeli poniżej:
67
Nr. portu
Słowo kluczonwe
Opis
0
ZAREZERWOWANY
1-4
NIEPRZYPISANE
TCP/UDP
20
FTP-DATA
FTP (DANE)
TCP
21
FTP
FTP
TCP
23
TELNET
POŁACZENIE Z
TCP
TERMINALEM
25
SMTP
SMTP
TCP
42
NAMESERVER
SERWER NAZW
TCP
53
DOMIAN
DNS
TCP/UDP
69
TFTP
TFTP
UDP
70
GOPHER
TCP/IP
80
WWW
TCP
133-159
NIEPRZYPISANE
160-223
ZAREZERWOWANE
161
FNP
224-241
NIEPRZYPISANE
242-255
NIEPRZYPISANE
UDP
Tab. 11 Zarezerwowane numery porów
[www.iitis.gliwice.pl/~emanuel/materialy/sieci/12_listy%20ACL.ppt slajd 39-40]
Listy ACL powinny być stosowane w routerach, które będą pełniły role firewalli oraz
takich, które często umieszczane są pomiędzy siecią wewnętrzną a siecią zewnętrzną.
Taki router będzie tworzył ścinane ogniową oraz zapewniał odizolowanie infrastruktury
sieci. Listy te również można stosować w routerach umieszczonych między dwoma
częściami sieci w celu kontroli ruchu wypływającego oraz wpływającego z określonej
części sieci wewnętrznej. Aby w pełni wykorzystać zalety list ACL powinny być one
tworzone na routerach granicznych, które umieszczone są na krańcach sieci. Zapewni to
podstawowe zabezpieczenie prywatnych obszarów sieci przed niedozwolonym ruchem
pochodzącym np. z słabiej kontrolowanego obszaru sieci. Ostatnim aspektem
dotyczącym list ACL jest ich weryfikacja. Polecenie ip interface wyświetli nam
68
informacje o interfejsie IP oraz poda nam czy zostały ustawione listy ACL czy też nie.
Natomiast polecenie show acces-list wyświetli nam zawartość wszystkich list ACL.
VLAN (Virtual Local Area Network):
Sieć VLAN jest niczym innym jak logiczną grupa usług sieciowych, które nie są
ograniczone przez żaden segment sieci LAN. Ułatwiają administrowanie grupami stacji
roboczych oraz serwerów, które mogą komunikować się między sobą w taki sposób
jakby znajdowały się w jednym segmencie sieci LAN. Konfiguracja sieci VLAN
odbywa się w postaci programowej przez co nie wymaga fizycznego podłączenia
sprzętu sieciowego. Stacja roboczą bądź serwer może komunikować się z innymi
stacjami, które znajdują się w tej samej grupie VLAN w innym przypadku komunikacja
nie będzie możliwa. Sieci VLAN tworzone są po to aby zwiększyć skalowalność oraz
bezpieczeństwo sieci, ponadto usprawniają zarządzanie nia. Routery w sieciach VLAN
zapewniają filtrowanie ruchu rozgłoszeniowego, zapewniają bezpieczeństwo oraz mogą
służyć do zarządzania przepływem. Pomiędzy poszczególnymi sieciami VLAN ruch
powinien być routowany. Sieć VLAN jest domena rozgłoszeniową, która tworzona jest
przez jeden bądź więcej switch’y.
69
Rys. 31 Siec VLAN z jednym routerem i jednym switchem
Na rysunku wyżej widzimy sieć VLAN
jednym routerem i jednym switchem,
zauważymy tutaj trzy domeny rozgłoszeniowe. Router przekierowuje ruch pomiędzy
sieciami VLAN za pomocą routingu warstwy 3.
Implementowanie sieci VLAN na switchu powoduje następujące działania:
W switchu dla każdej sieci VLAN tworzona jest odrębna tablica.
Sprawdzany jest adres odbiorcy w celu podejmowania decyzji o wysyłaniu
pakietu,
W celu zapamiętania wykonywane jest wyszukiwanie w tablicy adresów tylko
da tej sieci VLAN.
Do sieci VLAN można przypisać każdy z portów switcha, porty przypisane do VLAN-u
odbierają te same pakiety rozgłoszeniowe, ale porty które nie są przypisane do tej sieci
VLAN nie przesyłają pakietów. Użytkownicy, którzy podłączeni są do tego samego
współdzielonego segmentu sieci VLAN korzystają wspólnie z przepustowości tego
segmentu.
70
Zalety sieci VLAN:
Łatwość w przenoszeniu stacji roboczych w sieci LAN
Zwiększenie bezpieczeństwa,
Łatwość nadzorowania ruchu panującego w sieci,
Łatwość w zmianie konfiguracji sieci LAN.
Możemy wyróżnić trzy podstawowe rodzaje tworzenia sieci VLAN, które służą do
sposobu określania przypisywania pakietów:
Sieć VLAN oparta na portach
Sieć VLAN oparta na protokołach,
Sieć VLAN oparta na adresach MAC.
Sieć VLAN oparta na portach:
Jest to najczęściej stosowana metoda tworzenia VLAN-ów, porty przypisywane są
pojedynczo, w grupach bądź po kolei na poszczególnym switchu. Często stosowane jest
tam gdzie do przypisywania adresów IP do hostów używany jest protokół dynamicznej
konfiguracji (DHCP).
Sieć VLAN oparta na protokołach:
Podczas konfigurowania operacje te wykonywane są podobnie jak w przypadku
adresów MAC, ale używany jest adres logiczny IP.W obecnym czasie metoda ta nie jest
już tak często używana, ponieważ stosowany jest mechanizm DHCP.
Sieć VLAN oparta na adresach MAC:
W obecnym czasie również i ta metoda nie jest często stosowana, każdy adres musi być
ręcznie wprowadzany do switcha, jest to sposób, który jest dosyć trudny w administracji
oraz w rozwiązywaniu jakichkolwiek problemów.
71
Rys. 32 Przykład tworzenia VLAN-ów
Rysunek 27 pokazuje technike tworzenia VLAN-ów. Sieć składa się z routera, switcha
oraz hostów które znajdują się w odrębnych sieciach VLAN.
Lista poleceń wprowadzana na switchu:
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA4, RELEASE
SOFTWARE(fc1)
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Wed 18-May-05 22:31 by jharirba
Press RETURN to get started!
%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed
72
state to up
%LINK-5-CHANGED: Interface FastEthernet0/3, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed
state to up
%LINK-5-CHANGED: Interface FastEthernet0/4, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/4, changed
state to up
%LINK-5-CHANGED: Interface FastEthernet0/5, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/5, changed
state to up
Switch>
Switch>en
Switch#Vlan database
% Warning: It is recommended to configure VLAN from config mode,
as VLAN database mode is being deprecated. Please consult user
documentation for configuring VTP/VLAN in config mode.
Switch(vlan)#vlan 10 name A
VLAN 10 added:
Name: A
Switch(vlan)#vlan 20 name B
VLAN 20 added:
Name: B
Switch(vlan)#exit
APPLY completed.
Exiting....
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#interface fastethernet 0/3
Switch(config-if)#switchport access vlan 10
73
Switch(config-if)#interface fastethernet 0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#end
%SYS-5-CONFIG_I: Configured from console by console
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#end
%SYS-5-CONFIG_I: Configured from console by console
Switch#
Switch#
Tab. 12 Lista poleceń wprowadzana na switchu
Kluczowe polecenia dla konfiguracji switcha to vlan 10 name A , za którego pomocą
tworzymy VLAN. Kolejnym etapem jest wybranie interfejsu np. interface fastEthernet
0/2 co w następnym etapie ukazuje się przypisaniem interfejsu do konkretnego VLANu po przez użycie polecenia switchport mode access.
Lista poleceń wprowadzana na routerze:
--- System Configuration Dialog ---
Continue with configuration dialog? [yes/no]: no
Press RETURN to get started!
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface fastEthernet 0/0
74
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed
state to up
Router(config-if)#interface fastethernet 0/0.1
%LINK-5-CHANGED: Interface FastEthernet0/0.1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.1, changed
state to up
Router(config-subif)#encapsulation dot1q 1
Router(config-subif)#ip address 192.168.1.1 255.255.255.0
Router(config-subif)#interface fastethernet 0/0.1
Router(config-subif)#encapsulation dot1q 10
Router(config-subif)#ip address 192.168.5.1 255.255.255.0
Router(config-subif)#interface fastethernet 0/0.2
%LINK-5-CHANGED: Interface FastEthernet0/0.2, changed state to up
Router(config-subif)#encapsulation dot1q 20
Router(config-subif)#ip address 192.168.6.1 255.255.255.0
Router(config-subif)#end
%SYS-5-CONFIG_I: Configured from console by console
Router#
Tab. 13 Lista poleceń wprowadzana na routerze.
W tym przypadku kluczowymi poleceniami są przede wszystkim interface fastEthernet
0/0 , którego wynikiem będzie inicjowanie interfejsu , po czym kolejne polecenie ip
address 192.168.6.1 255.255.255.0 nadaje adres IP oraz maskę.
75
2.2.6 Wysoka dostępność w projektowaniu firewalli
Firewalle są krytycznymi elementami w infrastrukturze sieci ważne więc jest aby
firewall oraz jego wszystkie funkcje, które zapewnia były zawsze dostępne. Firewalle
tzw. wysokiej dostępności ( High availability) są zwykle wykonywane w jednym z
dwóch sposobów:
Active/passive failover
Active/active failover
Niezależnie od metody (failover) jaką użyjemy firewall HA polega na realizowaniu
dwóch firewalli w równoległej konfiguracji. W systemie Active/passive jeden firewall
aktywnie przekazuje ruch sieciowy, natomiast drugi firewall jest całkowicie bierny i nie
przekazuje żadnego ruchu sieciowego. Jeżeli wystąpi taka sytuacja że firewall aktywny
z jakiegoś powodu przestanie poprawnie działać wtedy na jego miejsce wchodzi
firewall pasywny, który staje się aktywny co pozwala na dalsze przekazywanie ruchu
sieciowego bez utraty ciągłości. Natomiast w systemie Active/active każdy firewall jest
w stanie przekazywać ruch sieciowy, który zazwyczaj określany jest przez odmienne
konteksty bezpieczeństwa. Kontekst bezpieczeństwa to nic innego jak tylko zestaw
reguł oraz fizycznych funkcji firewalla, które są realizowane w odniesieniu do polityki
bezpieczeństwa w sieci.
76
Rys. 33 System Active/active failover
Jak widzimy na powyższym rysunku jest to system Active/active. Firewall 1 obsługuje
DMZ 1 natomiast firewall 2 obsługuje DMZ 2. Jeżeli z jakiegoś powodu firewall 2
przestanie działać to ruch sieciowy, który miał odbywać się do DMZ 2 zostanie
wówczas obsłużony przez firewall 1 a następnie dostarczony do miejsca przeznaczenia
czyli DMZ 2. Kluczowym aspektem tego jest to że Firewall 1 jak i Firewall 2 nie mogą
jednocześnie być odpowiedzialne za ten sam zestaw reguł, który pozwoli na ruch do
tego samego segmentu DMZ. Tak więc firewall 1 jest podstawową zaporą, która
kontroluje cały ruch sieciowy odbywający się do segmentu DMZ 1 natomiast firewall 2
kontroluje ruch sieciowy odbywający się do segmentu DMZ 2 oraz ma funkcje
przejścia ruchu sieciowego dla DMZ 1 w razie awarii firewalla podstawowego.
77
Rozdział III Jak działają firewalle
Rozdział drugi skupia się na na dogłębnym zbadaniu w jaki sposób działają
poszczególne firewalle sprzętowe jak i również programowe. Zajmiemy się tutaj
firewallami zbudowanymi w oparciu o routery jak i również faktyczne firewalle CISCO
PIX/ASA, Linux+NetFilter oraz Microsoft ISA Server.
3.1 Router’y szeroko pasmowe i Firewalle
Routery to chyba najbardziej popularne urządzenia do zarządzania siecią, poniższy
podrozdział pokarze nam podstawowe zasadzy działania oraz metody zabezpieczania
sieci prostych routerów szerokopasmowych.
3.1.1 Jak działają Routery szerokopasmowe
Wiele routerów szerokopasmowych takich jak np. routery firmy linksys pełnia funkcje
zapory sieciowej przy użyciu funkcji zwanej NAT (Network Address Translation) w
celu ukrycia wewn. hostów pod jednym wyjściowym adresem IP. Routery z funkcja
NAT nie będą zatem spełniały zaawansowanych funkcji jakich oczekuje się od firewalli
takich jak np. CISCO PIX bądź ASA, natomiast będą spełniały dobrze swoja role w
zakresie translacji oraz filtrowania pakietów zapewniając tym sposobem pewien stopień
zabezpieczenia jednakże bez dogłębnej penetracji pakietów nie będzie możliwe
uzyskanie maksymalnej ochrony dla sieci.
78
Rys. 34 Działanie NAT na routerach pełniących role firewalla
Powyższy rysunek prezentuje nam działanie routera jako firewalla, które można opisać
w następujących krokach:
1. Klient inicjuje połączenie z hostem zewnętrznym (HOST B).
2. Router otrzymuje żądanie połączenia i wykonuje translacje na adres
wewnętrzny.
3. Pakiety dostarczane są do zewnętrznego hosta (HOST B), które wysyłane są z
zewnętrznego adresu IP routera. Tak samo zewnętrzny host (HOST B) będzie
odpowiadał na zewnętrzny adres routera.
4. Kiedy router otrzyma odpowiedź od zewnętrznego hosta zaczyna sprawdzać
tablice NAT
5. Jeżeli adres hosta zewnętrznego (HOST B) zostanie znaleziony w tablicy routera
pakiety dostarczane są do hosta wewnętrznego (HOST A), który uważa że
pakiety dostarczane są bezpośrednio od hosta zewnętrznego (HOST B).
79
Można smiało powiedzieć ze jest to odpowiedni poziom zabezpieczenia dla typowych
sieci domowych, ważne jest jedna to aby zrozumieć ze sama usługa NAT nie zapewni
dostatecznej ochrony dla sieci. Jak widać w dokumencie RFC 2663 w sekcji 9 NAT
podatny jest na ataki typu DoS (Denial-of-Service), zatem oprócz użycia routera
zalecałoby się użyć jakiegoś dodatkowego urządzenia w celu zapewnienia dodatkowej
ochrony. Przykładem najlepszego szerokopasmowego routera mogą być np. routery
Linksys, którymi można wykonać filtrowanie na poziomie aplikacji.
3.1.2 Linksys Routers/Firewall
Obecnie na rynku firma Linksys wprowadza szeroką gamę routerów z podstawowymi i
zaawansowanymi funkcjami firewalla zarówno dla sieci przewodowych jak i
bezprzewodowych. Większość produktów dla sieci przewodowych rozpoczyna się od
numeru modelu BEF, natomiast w przypadku produktów dla sieci bezprzewodowych
numer modelu rozpoczyna się od WRT. Routery te projektowane są przede wszystkim z
myślą
o użytkownikach domowych, zatem podczas projektowania główna uwaga
skupiana jest na ich prostocie. Usługa NAT występuje tutaj praktycznie we wszystkich
modelach chociaż w niektórych modelach występują ograniczone funkcje. Niestety
firma linksys
nie określa jakie modele oraz jakie firmware posiada ograniczone
funkcje. Przyjrzymy się zatem routerowi (BEFSR41v4 EtherFast Cable/DSL Router
with 4-Port Switch), który przeznaczony jest przede wszystkim do zastosowań
domowych jak i do małych biur. Posiada on podstawowe funkcje, które są łatwe w
konfiguracji tak wiec nie będą sprawiały większej trudności nawet nie zaawansowanym
użytkownikom. Przeglądnijmy zatem funkcje tego routera:
Funkcje bezpieczeństwa i filtrowania,
Funkcje routingu,
Funkcje administracji i zarządzania,
Funkcje pozostałe.
80
Funkcje bezpieczeństwa i filtrowania:
BEFSR41v4 jest routerem z podstawową funkcja NAT, który może wykonywać
filtrowanie portów w celu umożliwienia ruchu odbywającego się w obydwie strony z
chronionego punktu sieci. W przeciwieństwie do wielu zapór, które maja za zadanie
blokować bądź zezwalać na ruch po poprzedniej identyfikacji portów lub adresów IP
Linksys ułatwił to poprzez braku identyfikacji, tak więc możemy blokować kilka
portów bądź adresów bez zbędnej identyfikacji. Ruch sieciowy, który przychodzi
stosuje minimalistyczna politykę bezpieczeństwa, która opiera się na blokowaniu całego
ruchu do wszystkich portów bądź zezwalaniu na ruch. Natomiast filtrowanie pakietów
przychodzących może być dokonywane tylko w oparciu numer portu docelowego więc
nie ma możliwości ustanowienia, które hosty maja mieć dostęp do sieci chronionej.
Ponadto router ten wspiera koncepcje DMZ (demilitarized zone) niestety w routerach
nie jest to bezpieczne ponieważ pozwala to każdemu hostowi w Internecie uzyskać
dostęp do hosta wewnętrznego w nieograniczony i niezabezpieczony sposób. Tak wiec
ogólnie DMZ w zastosowaniu na routerach linksys jest złym pomysłem, zdarzają się
jednak takie okoliczności, które wymagają łączności z systemem DMZ. W związku z
tym DMZ to prosty, aczkolwiek całkowicie niepewny sposób zapewnienia dostępu do
wewnętrznych zasobów. Ponieważ routery Liknsys wykorzystują NAT niektóre
protokoły takie jak np. Poppe, IPSeec bądź PPTP (Point-to-Point Tunneling Protocol)
mogą nie działać prawidłowo. Wynika to z tego że podczas działania NAT zmienia
adres źródłowy pakietów , które tłumaczone są przez router. Aby móc ułatwić
korzystanie z tych protokołów Linksys wprowadził do routerów możliwość obsługi
VPN czyli tzw. wirtualnej sieci prywatnej. Przepuszczanie tuneli VPN pozwala na ruch
odbywający się przez router, podczas enkapsulacji danych w protokole VPN operujemy
na pakietach UDP za czym idzie to że router może wykonywać NAT na pakietach UDP
co skutkowało będzie tym że nie zmieni się zawartość pakietów w protokole VPN. Tak
więc aby umożliwić ruch odbywający się przez router należy włączyć na nim usługę
VPN.
81
Funkcje routingu:
Jak już wspomnieliśmy BEFSR41v4 znajduje swoje zastosowanie w małych firmach
bądź w sieciach domowych router ten obsługuje podstawowe funkcje routingu aby móc
zastosować je w środowisku gdzie znajduje się wiele podsieci wewnętrznych. Ponadto
router ten jest w stanie skonfigurować trasy statyczne, mamy tutaj do czynienia z
obsługą protokołu RIP ver. 1 oraz 2. Pomimo tego że RIP może okazać się dobrym
rozwiązaniem dla małych firm, realizacja RIP na tym routerze jest na bardzo
podstawowym poziomie i nie posiada jakichkolwiek funkcji zabezpieczających, dlatego
z celów bezpieczeństwa należałoby rozważyć czy ten router jest odpowiednim
rozwiązaniem aby użyć go jako firewall bądź w celu zapewnienia funkcjonalnego i
zaawansowanego routingu.
Funkcje administracji i zarządzania:
Duża większość urządzeń Linksys korzysta z interfejsu Web do zarządzania routerem.
Oczywiście interfejs ten używa protokołu transportowego HTTP. Niestety jak wiadomo
protokół ten nie jest szyfrowany oraz bezpieczeństwa danych podczas transportu. Tak
więc zaleca się na szczególną ostrożność w stosunku do haseł konfiguracji routera,
ponieważ mogą być one w bardzo prosty sposób przechwycone np. za pomocą sniffera
sieciowego. Model zabezpieczeń, który stosowany jest w tych urządzeniach opiera się o
prosty model wspólnego zabezpieczenia hasłem, czyli wszyscy użytkownicy mogą
zalogować się za pomocą tego samego loginu i tego samego hasła aby wykonać
wszystkie funkcje zarządzania routerem. Routery Linksys posiadają zazwyczaj
podstawowe funkcje syslog dzięki czemu router wysyła dziennik zdarzeń do serwera
syslog. Dziennik ten można
przeglądać bezpośrednio na routerze za pomocą
wewnętrznego oprogramowania LOG-VIEWER.
Funkcje pozostałe:
Ze względu na to że większość użytkowników domowych bądź znajdujących się w
małej firmie nie posiada serwera DHCP (Dynamic Host Configuration) urządzenia
Linksys wyposażone zostały w funkcjonalny serwer DHCP, który wbudowany jest w
router i w domyślnej konfiguracji jest włączony. Funkcja ta jak wiadomo pozwoli
82
użytkownikowi po prostu podłączyć komputer do jednego z portów routera/switcha w
celu uzyskania pełnej konfiguracji karty sieciowej czyli uzyskania adresu IP, maski
sieciowej itp.
W celu ułatwienia komunikacji z różnymi dostawcami Internetu Linksys obsługuje
wiele Typów połączeń internetowych. Domyślnym ustawieniem jest oczywiście DHCP
do uzyskiwania zewnętrznego adresu IP, ale statyczne adresy IP będą obsługiwane
przez połączenie typu PPPoE, zarówno rozwiązanie, które odnosi się do niektóry
obszarów świata stosuje się wtedy połączenie Remote Access Service (RAS) .
Większość routerów posiada również wsparcie dla DDNS (Dynamic Domian Name
Server), pozwala to routerowi automatycznie aktualizować wpisy DNS dla hostów,
które są chronione przez router ale muszą mieć dostęp do Internetu.
3.1.3 Konfiguracja routerów Linksys
Routery Linksys wykorzystują interfejs Web do wykonywania wszelkich funkcji, które
związane są z konfiguracją. Interfejs ten jest domyślnie dostępny dla każdego hosta
znajdującego się wewnątrz sieci, jest on dostępny za pomocą przeglądarki internetowej
np. Microsoft Internet Explorer. Po wpisaniu adresu IP urządzenia pojawi nam się
okienko logowania gdzie należy podawać login oraz hasło. W przypadu routera, którym
się zajmujemy czyli BEFSR41v4 interfejs podzielony jest na pięć głównych zakładek :
Setup,
Security,
Applications & Gaming,
Administration,
Status,
83
Rys. 35 Zakładka konfiguracyjna Status.
[http://fengnet.com/book/firewallfundamentals/images/fu750503.jpg]
Jedyna zakładką, w której nie mamy możliwości zmiany żadnej konfiguracji jest
zakładka status w której wyświetli się jedynie status routera.
Basic Setup:
W tym routerze zakładka Setup składa się z czterech pozycji:
Basic Setup
DDNS
MAC Address Clone
Advanced Routing
W zakładce Basic setup można konfigurować w jaki sposób router będzie łączył się z
dostawcą usług internetowych (np. za pomocą PPPoE lub DHCP). W zależności od
typu połączenia można będzie określić dodatkowe opcje, które będą dostępne na
84
ekranie. Można także określić nazwę domeny oraz hosta, ponadto można ustawić
maksymalna jednostkę transmisji (MTU) dla routera.
Ponadto w zakładce Basic setup jest również możliwość konfiguracji sieci lokalnej dla
routera. Mówimy tutaj przede wszystkim o ustawieniu adresu IP wewnętrznego
interfejsu, ustawieniu serwera DHCP. W ustawieniach serwera DHCP, można określić
serwery DNS, jeżeli nie skonfigurujemy tego router będzie pobierał wartości serwera
DNS od usługodawcy Internetu.
Rys. 36 Zakładka Basic Setup routera Linksys
85
Zakładka DDNS odpowiada za konfiguracje routera z odpowiednimi ustawieniami w
celu umożliwienia dynamicznej aktualizacji ustawień DNS lub użycia DynDNS, TZO
gdy adres zewnętrzny routera jest stały. Zatem wystarczy wpisać nazwę użytkownika w
przypadku (DynDNS) lub adresu e-mail w przypadku (TZO).Po dokonaniu tych
operacji router będzie automatycznie aktualizował DNS.
Zakładka MAC Address Clone odpowiada za konfiguracje określonego adresu MAC.W
momencie gdy usługodawca ISP wymaga określonego adresu MAC do wykorzystania
przez router można to skonfigurować właśnie za pomocą tej opcji.
Rys. 37 Zakładka Advanced Routing routera Linksys
Zakładka Advanced Routing umożliwi nam przede wszystkim konfiguracje NAT, jak i
również RIP, ponadto możemy konfigurować trasy statyczne jak widać na Rys. 31.
Konfiguracja NAT opiera sie na zasadzie włączyć/wyłączyć tak wiec nie jest zbyt
skomplikowana. Aby włączyć routing RIP należy wybrać opcję Enable, a następnie
wybrać rodzaj transmisji odbioru z pola rozwijanego. Aby wprowadzić trase statyczną
86
należy wypełnić poszczególne pola oraz określić jakiego interfejsu będzie używała trasa
statyczna, na rysunku zaznaczonym interfejsem jest interfejs LAN.
Security:
Zakładka Security składa się z dwóch ekranów Filter oraz VPN Passthrough. Zarówno
w jednym jak i w drugim przypadku konfiguracja dotyczy ruchu z sieci wewnętrznej
oraz dostępu do zasobów wewnętrznych. Gdy przejdziemy do zakładki Filter będziemy
mieli możliwość konfiguracji adresu IP, portu, adresów MAC z sieci wewnętrznej,
które mogą być filtrowane. Dla przykładu jeżeli chcemy aby host o adresie IP
192.168.1.29 miał dostęp do Internetu można zatem określić zakres adresów IP w polu
Filter IP Address Range i router na tej podstawie będzie określał jakie hosty będą miały
dostęp a jakie nie. Podobnie wygląda sprawa jeżeli nie chcemy aby niektóre numery
portów nie posiadały dostępu do sieci wewnętrznej. Należy jednak pamiętać że router
posiada tylko pięć pozycji zarówno dla zakresu portów jak i zakresu adresów IP.
87
Rys. 38 zakładka Filter routera Linksys
[http://fengnet.com/book/firewallfundamentals/images/fu750506.jpg]
Jeżeli chcemy uzyc filtrowania adresów MAC należy kliknąć Edit MAC Filter Setting,
oraz określić jakie adresy MAC powinny mieć dostęp, ponadto poniżej pojawią się
cztery opcje :
Block Anonymous Internet Requests (domyślnie Enabled)
Filter Multicast (domyślnie Disabled)
Filter Internet NAT Redirection (domyślnie Disabled)
Filter IDENT(port 113) (domyślnie Enabled)
Zakładka VPN Passthrough dostarcza pakiet konfiguracji, za którego pomocą możemy
ustawić w sposób przejrzysty router dla połączen typu: PPPoE, PPTP, oraz ruchu z
hostów wewnętrznych, który odbywa się do zewnętrznej sieci. Wszystkie ustawienia
88
domyślnie są wyłączone, tak wiec jeżeli mielibyśmy korzystać z NAT i mieć dostęp do
zdalnych zasobów przy użyciu jednego z trzech protokółów należy włączyć te
ustawienia.
Applications & Gaming:
Zakładka
Applications & Gaming oferuje nam konfiguracje filtrowania ze źródeł
zewnętrznych do wewnętrznych zasobów sieciowych. Znajdziemy tam pięć ekranów
konfiguracyjnych są to :
Port Range Forwarding,
Port Triggering,
UPnP Forwarding,
DMZ,
QoS,
W oknie Port Range Forwarding mamy możliwość skonfigurować router tak aby
zezwolić na pewne typy ruchu od wszystkich wewnętrznych hostów przez określone
porty oraz do określonego miejsca przeznaczenia. Taki sposób konfiguracji daje nam
możliwość zabezpieczenia routera a także daje możliwość dostępu do aplikacji i
zasobów na serwerze umieszczonym w sieci zewnętrznej.
89
Rys. 39 Zakładka Port Range Forwarding na routerze linksys.
Jak widzimy na rysunku podczas konfiguracji podajemy jaki jest zakres portów danej
usługi, która będziemy chcieli uruchamiać oraz ustalamy jej wewnętrzny adres IP.
Zakładka Port Triggering pozwala na określenie zakres portów, które gdy zostaną
wykryte przez router otrzymają zezwolenie na łączenie się z hostem wewnętrznym. W
ten sposób aplikacje działające na serwerze zewnętrznym w odniesieniu do portów
zadeklarowanych na routerze będzie uzyskiwał bądź nie uzyskiwał dostępu. Zazwyczaj
stosuje się do obsługi aplikacji bądź gier, które pracują za pośrednictwem komputera
aby zainicjować połączenie do centralnego serwera na jedyną porcie a następnie
komunikować się z dowolnej liczby serwerów za pomocą innego zestawu portów.
Zakładka UPnP Forwarding pozwala na skonfigurowanie przekierowań portów do
urządzeń opartych na technologii UPnP. Jeżeli urządzenia te nie wykorzystują UPnP
zaleca się korzystania z podstawowych przekierowan portów.
90
W zakładce DMZ mamy możliwość zidentyfikowania pojedynczego hosta, który będzie
traktowany jako całkowicie niefiltrowany. Chociaż host ten wciąż używa NAT do
komunikacji z zasobami zewnętrznymi router będzie zezwalał na całkowity ruch w
stosunku do tego hosta.
Zakładka Qos pozwoli zdefiniować konkretny poziom usług oraz priorytet dla różnych
typów ruchu w sieci, stosuje się to zazwyczaj w stosunku do wrażliwych aplikacji
takich jak np. wideokonferencje i Voice over IP (VoIP) w celu opóźnienia działania
aplikacji.
Rys. 40 Zakładka Administration, routera Linksys
[http://ptgmedia.pearsoncmg.com/images/chap5_1587052210/elementLinks/thfu750509
.jpg]
Ostatnią zakładka jest Administration, w której określamy w jaki sposób router będzie
zarządzany i jak powinie być skonfigurowany proces logowania. Można również
91
wykonać aktualizacje oprogramowania oraz reset routera do ustawień fabrycznych. Na
ekranie Management określamy jakie jest hasło dostępu do routera, ponadto można
skonfigurować router aby umożliwić zdalny dostęp do zarządzania nim, co może być
przydatne w momencie gdy potrzebujemy połączyć się z routerem będąc w fizycznym
innym miejscu. Jednakże ze względu na to ze zarządzanie routerem odbywa się przez
protokół HTTP, który nie jest szyfrowany zaleca się aby ze względów bezpieczeństwa
nie używać zdalnego dostępu do routera.
Opcja Log określa adres IP serwera syslog oraz włącza rejestrowanie zdarzeń z routera.
Factory Defaults pozwoli nam na zresetowanie routera do ustawień fabrycznych,
natomiast gdy chcemy zaktualizować oprogramowanie użyjemy opcji Firmware
Upgrade. Kiedy router zostanie zaktualizowany uruchomi się ponownie z nowym
oprogramowaniem.
3.2 Cisco PIX Firewall oraz ASA Firewall
W tym podrozdziale przyjrzymy się firewall-om firmy CISCO, poznamy jego
możliwości oraz metody zabezpieczania sieci. Ponadto przejdziemy przez proces
podstawowej konfiguracji naszego firewalla za pomocą konsoli administracyjnej jak i
również graficznego interfejsu użytkownika.
3.2.1 PIX / ASA Cechy firewalli
PIX/ASA jest to potężny pakiet firewalla z możliwościami inspekcji pakietów oraz
kontroli aplikacji. Plusem tych firewalli PIX/ASA jest to że zasadniczo wszystkie
modele można uruchomić z tym samym oprogramowaniem, wyjątek stanowi tylko PIX
501 oraz PIX 506E. Funkcje pełnione przez ten firewall są następujące:
Funkcja pracy awaryjnej, gdie dwa firewalle PI potrafią zapewnić bezawaryjna
prace oraz wysoka dostępność usług w sieci. Funkcja ta obsługiwana jest tylko
w PIX 515E bądź wyższych modelach, i jest obsługiwana w obu standardach :
active/passive oraz active/active,
92
Firewall PIX posiada wbudowany serwer DHCP aby móc zapewnić przydział
adresów,
Grupowanie obiektów, administrator ma możliwość grupowania obiektów np.
(usług, urządzen sieciowych) w logiczne grupy list. Ma to na celu uproszczenie
list kontroli dostępu (ACL),
ACL do kontrolowania dostępu ruchu wychodzącego oraz przychodzącego.
Firewall PIX może również wykonywać tzw. Prekompilacje list ACL przy
użyciu narzędzia o nazwie TURBO ACL, który zapewnia lepsza wydajność,
Posiada wsparcie dla NAT zarówno jednokierunkowego jak również
dwukierunkowego,
Posiada wsparcie dla synchronizacji zegara z serwerem czasu Network Time
Protocol (NTP),
Możliwość monitorowania sieci z kontrolą procesora Simple Network
Management Protocol (SNMP),
Usługi wirtualnych firewalli (występuje tylko w wersji 7.x oprogramowania ),
Konfiguracja oraz aktualizacja oprogramowania PIX za pomocą protokołów
HTTP oraz HTTPS,
Usługi VPN zarówno dla sieci LAN-LAN jak również dla usług zdalnego
dostępu,
Wsparcie PPPoE dla użytkowników łączących się z firewallem PIX xDSL (nie
jest obsługiwane w oprogramowaniu 7.x),
Obsługa Qos (Quality of service),
Obsługa sieci opartej o protokół IPv6,
Obsługa multisesji w aplikacjach multimedialnych,
Dogłębna inspekcja pakietów takich usług jak np. HTTP, FTP, ESMTP oraz
wiele innych,
Obsługa sieci VLAN.
http://www.cisco.com/go/pix
Tab. 14 Adres Web z informacjami na temat funkcji firewalla PIX
93
Są to tylko niektóre z funkcji firewalla PIX aby dowiedzieć się o pełnej liście jego
funkcji można odwiedzić powyższą stronę:
Firewall ASA posiada wiele takich samych funkcji jak wspomniany wyżej firewall PIX,
chociaz posiada kilka unilakych funkcji, których nie posiada PIX są to mianowicie :
Intrusion Prevention System (IPS) system wyrywania włamań,
Kompatybilny z sieciowym oprogramowaniem takim jak, antywirus,antyspam,
antyphishing,
http://www.cisco.com/go/asa
Tab. 15 Adres Web z informacjami na temat funkcji firewalla ASA
Pełną plistę funkcji firewalla możemy znaleźć na powyższym adresie Web.
3.2.2 Zasady działania firewalli PIX/ASA
Zasadniczo funkcje firewalla PIX/ASA skupiają się na filtrowaniu ruchu, który jest
udostępniany przez niego na poszczególne interfejsy. Pozwala to na ochronę
komputerów w sieci przed nieautoryzowanym dostępem, a jednocześnie zezwala na
dostęp po uprzednim zdefiniowaniu tego przez administratora. Funkcja firewalla
realizowana jest po przez analizowanie polityki bezpieczeństwa, funkcjonowania w
trybie zapory sieciowej oraz wykonywania inspekcji pakietów.
Polityka bezpieczeństwa firewalla PIX/ASA:
Polityka bezpieczeństwa firewalla PIX/ASA opiera się na decyzjach dotyczących ruchu
sieciowego, który będzie zezwolono bądź odrzucony przez firewall. Aby to ułatwić PIX
realizuje połączenie korzystając z następujących elementów w celu pomocy podczas
podejmowania decyzji o filtrowaniu:
94
Zastosowanie NAT,
Zastosowanie filtrowania Web albo FTP,
Zastosowanie AAA (Authentication Authorization Accounting) dla ruchu
tranzytowego ,
Uzywanie list ACL do sterowania przepływem ruchu w sieci,
Te same funkcje realizuje firewall ASA ponadto został wzbogacony i kilka innych
możliwości mianowicie:
Zastosowanie Advanced Inspection and Prevention Security Services Module
(AIP SSM) do wykonywanie glebokiej inspekcji oraz penetracji pakietów oraz
danych,
Stosowanie polityk Qos w celu nadawania priorytetów określonych rodzajów
ruchów w sieci,
Zastosowanie CSC SSM w ceu zapewnienia ochrony przed zagrożeniami oraz
kontroli treści, ponadto do tego dochodzi, antyspam, antyphishing, blokowanie
adresów URL.
Oddzielanie sieci na podstawie poziomów bezpieczeństwa:
Firewall PIX oddziela sieci na odrębne strefy w oparciu o dane na temat ich poziomu
bezpieczeństwa. Poziomy te szacują się z zakresie od 0 (całkowicie niezaufana sieć) do
100 (zaufana sieć). W zależności od ilość interfejsów na danym PIX-ie będą istnieć co
najmniej dwie strefy, strefa 0 (z zewnętrzny interfejsem) oraz strefa 100 (wewnętrzny
interfejs).Ruch odbywający się z wyższych stref może przechodzić do stref niższych
pod warunkiem że istnieje reguła tłumaczenia utworzona dla tych dwóch stref. Ruch
sieciowy pomiędzy strefami o tym samym poziome bezpieczeństwa również jest
możliwy ale w tym wypadku muszą zostać włączone związki pomiędzy tymi zasobami.
95
Wykorzystywanie list ACL do zarządzani ruchem sieciowym:
Zasadniczym aspektem każdego firewalla PIX jak i ASA jest zastosowanie list ACL do
zarządzania ruchem w sieci. PIX może korzystać z wielu list ACL, które mogą być
stosowane niezależnie dla każdego interfejsu na firewallu. W PIX 7.x możliwości lista
ACL zostały rozszerzone aby umożliwić kontrole dla ruchu wychodzącego jak i
przychodzącego. Przykładem zastosowania ACL może być użycie go w celu
zezwolenia na ruch wychodzący do segmentu DMZ.
Zastosowanie NAT w PIX/ASA:
Firewalle PIX mogą korzystać z NAT w celu korzystania z prywatnych adresów IP w
sieci wewnętrznej, ukryć adres lokalny zasobów sieci, bądź rozwiązać problemy z
routingiem IP z powodu nakładania się zakresów adresów IP w sieci połaczonej. W
przypadku obsługi NAT interfejs z niższego poziomu bezpieczeństwa może być
przekazywany do interfejsu wyższego poziomu bezpieczeństwa. Implementacja ta
jednak wymaga użycia obu translacji adresów i list ACL.
Firewalle PIX wykorzystuja dwa typy translacji NAT:
Translacja statyczna: działa na zasadzie tradycyjnego NAT,
Translacja dynamiczna: Zewnętrzny adres (lub pula adresów) jest przypisana do
zakresy adresów wewnętrznych i adres z tej puli jest dynamicznie przydzielany i
zgłaszany do firewalla. Jeżeli wszystkie adresy w puli są zabrane PIX może
dynamicznie przełączać się w PAT gdzie jeden adres zewnętrzny może
dostarczyć translacje do wielu adresów wewnętrznych przez mapowanie portów
UDP i TCP na nieużywane numery portów. Można także skonfigurować PAT
bez puli adresów NAT, dzięki czemu,
pojedynczy zewnętrzny adres może
wykonać wszystkie translacje.
Zastosowanie AAA dla ruchu sieciowego:
Niektóre rodzaje ruchu sieciowego np. ruch wykonywany po protokole HTTP, mogą
wymagać uwierzytelnienia i autoryzacji w momencie gdy użytkownik próbuje
96
zainicjować ruch. Wykorzystane może to zostać w celu zapewnienia iż tylko
użytkownicy dopuszczeni do ruchu sa w stanie przejść przez firewall . PIX może być
również skonfigurowany do przekazywania informacji o użytkownikach do serwera
RADIUS lub serwera TACACS+.
Zastosowanie filtrowania Web oraz FTP:
Firewall PIX/ASA jest w stanie wykonywać prymitywne WWW (HTTP i HTTPS) i
FTP. Funkcja może być zwiększona po przez zastosowanie innego systemu filtrowania
zawartości, co pozwala na filtrowanie określonych stron WWW, serwerów FTP, oraz
wiele innych aplikacji internetowych takich jak np. komunikatory internetowe i sieci
peer-to-peer.
Tryby pracy firewalla:
Tradycyjny firewall PIX pracują w jednym trybie znanym jako routed mode. Jest to
najbardziej powszechny sposób realizacji firewalla, tryb ten powoduje ze firewall
traktowany jest w sieci jako router. Z pojawieniem się PIX/ASA 7.x pojawił się też
nowy tryb pracy znany jako tryb przeźroczysty. W trybie tym firewall pracuje bardziej
jako most ni router. Można powiedzieć że zasadniczo w tej samej sieci ruch odbywa się
po dwóch stronach firewalla, ponieważ interfejsy firewalla nie maja adresów IP
przypisanych do nich. Powszechnie firewall powinien pracować w trybie stealth
ponieważ firewall nie jest wtedy łatwy do wykrycia.. W większości implementacji
firewalli będzie on skonfigurowany do pracy w trybie router, czasami jednak zachodzi
potrzeba aby firewall pracował w trybie transparent mode, używa się tego wtedy gdy
chcemy aby firewall filtrował pakiety w obu kierunkach, ponadto w trybie transparent
mode firewall ma możliwość używania różnego typu list ACL.
Pełna inspekcja pakietów:
Można powiedzieć że jest to główne zadanie firewalla PIX/ASA. Proces ten jest
możliwy za pomocą procesu zwanego adaptacyjnym algorytmem bezpieczeństwa
CISCO. Każdy pakiet jest wyczerpująco sprawdzany przez ASA i informacje o stanie
97
połączenia zapisywane są w jego pamięci. Firewall ASA stosuje następujące zasady
odnośnie ruchu przychodzącego do PIX:
Zezwalanie na połączenie pochodzące sieci wewnętrznej o wysokim
bezpieczeństwie, oraz z sieci o niskim bezpieczeństwie, o ile listy ACL
zabraniają na połączenie.
W momencie zablokowania pakietu tworzony jest logsys z źródłem IP pakietu.
Odrzuca wszystkie ICMP z interfejsów o niższym bezpieczeństwie, z wyjątkiem
kiedy jest on dozwolony. Zapobiega to na ruch wychodzący ICMP, aby mogły
być skutecznie dostarczone.
Zezwolenie na cały ruch ICMP do firewalla(może zostac właczone, bądź
sterowane za pomocą ICMP inspection).
Rys. 41 Firewall CISCO PIX/ASA
98
Firewall PIX/ASA jest ciągle włączony i monitoruje wszystkie pakiety zwrotne w celu
zapewnienia że są ważne. Odbywa się to za pomocą sprawdzania tabeli stanów aby
ustalić czy pakiet ten jest uzasadnioną odpowiedzią na połączenie wychodzące. Jeśli tak
jest pakiet automatycznie jest akceptowany. Ponadto ASA aktywnie losuje numery
sekwencji TCP, przy jednoczesnym zapewnieniu minimalizacji ryzyka ataku numery
sekwencji TCP.
Kontrola aplikacji:
Kontrola aplikacji jest na firewallu PIX jako składnik ASA, umożliwia wykonywanie
dodatkowego filtrowania niektórych rodzajów aplikacji. W ten sposób firewall może
dokonywać filtrowania nie w oparciu o protokół w użyciu (np. SMTP), ale na
rzeczywistej aplikacji . Kontrola aplikacji odbywa się na następujących protokołach:
DNS
ESMTP
FTP
GTP
CTIQBE
HTTP
ICMP
H323
ICMP
MGCP
ILS
RSH
NETBIOS
PPTP
RTSP
XDMCP
TFTP
SNMP
SQLNET
99
3.2.3 Konfiguracja firewalli Cisco PIX/ASA
Pierwszymi krokami podczas konfiguracji firewalla PIX dotyczą przede wszystkim
umożliwienie dostępu administratora do graficznego interfejsu użytkownika Adaptive
Security Device Manager (ASDM), w starszych wersjach oprogramowania znany był
jako PIX Device Manager (PDM). Aby wstępnie skonfigurować firewalla należy
podłączyć go do komputera zapomoga specjalnego kabla do portu szeregowego oraz
ustawić emulator terminala według ustawień znajdujących się poniżej w tabelce.
Ustawienie
Wartość
Liczba bitów na sekundę
9600
Parzystość
Nie
Bity danych
8
Bity stopu
1
Tab. 16 Ustawienia serial port dla konfiguracji CISCO PIX
W celu ustanowienia połącenia z firewallem uzywamy emulatora terminalu (np.
HYPER TERMINAL), po ustanowieniu połączenia z PIX-em
powinien od razu
pojawić nam się wiersz poleceń firewalla.
pixfirewall>
Tab. 17 Wiersz poleceń firewalla PIX
Następnym krokiem będzie wprowadzenie polecenie enable w celu uzyskania dostępu
do trybu uprzywilejowanego. Domyślnie od razu definiujemy hasło dla firewalla.
pixfirewall> enable
Password:
pixfirewall#
Tab. 18 Wiersz poleceń firewalla PIX –przechodzenie w tryb uprzywilejowany
100
Domyślnie polecenie enable zakłada że uzytkownich będzie chciał przystąpić do
konfiguracji podstawowych możliwości firewalla PIX a są nimi:
Przypisywanie adresów IP do interfejsów firewalla,
Konfiguracja nazwy domeny, nazwy firewalla oraz hasła,
Konfiguracja routingu,
Konfiguracja firewalla dla dostępu zdalnego,
Konfiguracja NAT
Konfiguracja list ACL,
Przypisywanie adresów IP do interfejsów firewalla:
Aby rozpocząć przepisywanie adresów IP do interfejsów administrator musi wejść w
tryb konfiguracji. Ponieważ tryb konfiguracji wykorzystuje tryb wiersza poleceń, który
jest podobny do IOS, tak więc tryb konfiguracji jest tak jakby na bazie CISCO IOS
ROUTER.
firewall# configure terminal
firewall(config)#
Tab. 19 Wiersz poleceń firewalla PIX – przechodzenie w tryb konfiguracji
W standardowej konfiguracji interfejsy firewalla są zamknięte, aby dokonać włączenia
poszczególnych interfejsów należy skorzystać z poniżnych poleceń:
firewall(config)# interface ethernet0 auto
firewall(config)# interface ethernet1 auto
Tab. 20 Wiersz poleceń firewalla PIX –aktywacja poszczególnych interfejsów.
101
Domyślnie interfejs FastEthernet0 uważany jest za interfejs zewnętrzny natomiast
FastEthernet1 za interfejs wewnętrzny. Konfiguracje interfejsu odbywa się przez
polecenie auto, które określa że ten interfejs powinien być automatycznie ustalony
przez PIX. Można także ręcznie określić prędkość interfejsu w zakresie od (10Mbs 100Mbs). Kolejnym krokiem jest przypisanie nazwę oraz poziom bezpieczeństwa dla
poszczególnego
interfejsu.
Domyślnie
zewnętrzny
interfejs
posiada
poziom
zabezpieczeń 0 a wewnętrzny interfejs 100. Nazwa jaka możemy przypisać to nazwa,
której można używać w konfiguracji aby łatwo zidentyfikować dany interfejs.
firewall(config)# nameif ethernet0 outside security0
firewall(config)# nameif ethernet1 inside security100
Tab. 21 Wiersz poleceń firewalla PIX- ustanowienie nazwy interfejsu oraz poziomu
zabezpieczeń.
Podczas przypisywania adresów do interfejsów ważne jest aby zrobić to przed ich
włączeniem ponieważ gdy zrobimy to w sposób odwrotny to po przypisaniu im adresów
one dalej nie będą działać. Konieczne jest wtedy restartowanie interfejsu.
Przypisywanie adresów IP odbywa się w trybie konfiguracji globalnej. Firewall
obsługuje adresy statyczne ale może być także skonfigurowana z użyciem protokołu
PPPoE lub DHCP. Aby przypisać statyczny adres IP należy skorzystac z adresu IP,
interfejsu oraz maski podsieci:
firewall(config)# ip address outside 10.19.24.1 255.255.255.0
firewall(config)# ip address inside 192.168.122.1 255.255.255.0
Tab. 22 Wiersz poleceń firewalla PIX- przypisywanie statycznego adresu IP dla
interfejsów
Aby mieć pewność że PIX może komunikować się z urządzeniami znajdującymi się po
obu stronach należy wykonać operacje ping na te dwa interfejsy:
102
firewall(config)# ping 10.19.24.100
10.19.24.100 response received -- 0ms
10.19.24.100 response received -- 0ms
10.19.24.100 response received -- 0ms
firewall(config)# ping 192.168.122.226
192.168.122.226 response received -- 0ms
192.168.122.226 response received -- 0ms
192.168.122.226 response received -- 0ms
firewall(config)#
Tab. 23 Wiersz poleceń firewalla PIX- wykonanie sprawdzenia poprawności
konfiguracji interfejsów za pomocą programu ping.
W oprogramowaniu 7.x proces przydzielania adresów IP dla interfejsów różni się trochę
od poprzedniego, aczkolwiek idea pozostaje ta sama. W tym przypadku inicjujemy
poszczególny interfejs i później ustalamy poszczególne parametry.
firewall(config)# interface ethernet 2
firewall(config-if)#
Tab. 24 Wiersz poleceń firewalla PIX- inicjalizacja interfejsu.
W tym momencie możemy zacząć konfigurować interfejs, aby podać nazwę interfejsu
użyjemy polecenia nameif, do przypisania poziomu zabezpieczeń użyjemy polecenia
security-level number,
określając prędkość interfejsu mamy do dyspozycji kilka
ustawień (auto | 10 | 100 | 1000 | nonegotiate),
firewall(config-if)#
firewall(config-if)#
firewall(config-if)#
firewall(config-if)#
firewall(config-if)#
no shutdown
nameif dmz01
security-level 50
speed auto
duplex auto
Tab. 25 Wiersz poleceń firewalla PIX- inicjalizacja interfejsu.
103
Konfiguracja adresu IP odbywa się tak samo tak że tutaj nie dodano żadnych nowych
funkcji.
Tak jak w większości urządzeń CISCO po dokonaniu konfiguracji aby zmiany zostały
na stałe należy wpisać je do pamięci urządzenia tzw. NVRAM.
firewall# write memory
Tab. 26 Wiersz poleceń firewalla PIX- zapis konfiguracji do pamięci NVRAM.
Możemy to zrobić za pomocą polecenia które wpisze nam obecna konfiguracje do
pamięci.
Konfiguracja nazwy domeny, nazwy firewalla oraz hasła:
Kiedy do firewalla został przypisany adres IP i gdy wiemy że działają one prawidłowo,
następnym krokiem będzie konfiguracja nazwy domeny, nazwy firewalla oraz hasła.
Polecenie do ich wykonania są takie same we wszystkich wersjach PIX-a. Nazwę hosta
skonfigurujemy po przez wprowadzenie polecenia hostname, natomiast zmiana nazwy
domeny po przez polecenie domain-name:
pix10(config)# hostname pix10
pix10(config)# domain-name home.lab
Tab. 27 Wiersz poleceń firewalla PIX- zmiana nazwa hosta oraz nazwy domeny.
Istnieją dwa hasła w PIX/ASA i domyślnie używane są obydwa, pierwsze hasło
odpowiedzialne jest za logowanie i używane jest do uwierzytelniania dostępu zdalnego
przez telnet bądź ssh. Aby ustawić to haslo logowania skorzystamy z polecenia passwd:
pix10(config)# passwd ReallyDifficultPassword
Tab. 28 Wiersz poleceń firewalla PIX- ustanowienia hasła pierwszego
Drugie hasło odpowiedzialne jest za uzyskanie dostępu do trybu konfiguracji globalnej.
Aby ustawić hasło należy użyć składni znajdującej się w tab. 28. Istnieje możliwość
ustawienie wielu haseł, z których każde będzie miało dostęp do różnego poziomu
zabezpieczeń.
104
pix10 (config)# enable password DifferentPasswordThanPasswd
Tab. 29 Wiersz poleceń firewalla PIX- ustanowienia hasła drugiego.
Konfiguracja routingu:
Następnym krokiem będzie konfiguracja rotangu dla firewalla. Firewall obsługuje trasy
statyczne jak i również dynamiczne używając do tego celu OSPF (Open Shortest Path
First).Można skonfigurować trasy statyczne przez poniże polecenie route :
pix10 (config)# route outside 0.0.0.0 0.0.0.0 10.21.67.2 1
Tab. 30 Wiersz poleceń firewalla PIX- ustalanie routingu.
Wartość 1 na końcu polecenia określa charakterystykę do następnego skoku i jest to
parametr opcjonalny. Ogólnie trasa domyślna będzie wskazywać na następy router
firewallu np. router dostawy usług internetowych.
Konfiguracja dla dostępu zdalnego:
Firewall PIX/ASA obsługuje trzy podstawowe metody dostępu zdalnego:
TELNET
SSH
ASMD/PDM
Konfiguracja Telnet:
Konfiguracja za pomocą telntu jest najprostsza aczkolwiek najmniej bezpieczna.
Powodem tego jest to że telnet nie posiada szyfrowania danych w transmisji i wysyła
dane w postaci zwykłego tekstu. Ułatwia to zadania dla atakującego, który może w
łatwy sposób zdobyć informacje na temat np. nazw użytkowników oraz haseł.
Konfigurowanie usługi telnet we wszystkich rodzajach PIX-a obywa się w ten sam
105
sposób mianowicie za pomocą polecenia telnet (hostname | ip-address mask interfacename):
pix10 (config)# telnet 10.21.120.15 255.255.255.255 inside
Tab. 31 Wiersz poleceń firewalla PIX- konfiguracja telnet
Można ograniczyć dostęp do usługi telnet dla niektórych adresów poprzez
zdefiniowanie odpowiedniej maski. Tak jak w tab. 29 tylko do hosta o adresie
10.21.120.15
może połączyć się z firewallem. Ze względu na ogólny brak
bezpieczeństwa zaleca nie używanie się telnetu.
Konfiguracja Ssh:
Konfiguracja ssh jest trochę bardziej złożona od telnetu ponieważ dostęp do
konfiguracji połączenia należy ustalić za pomocą protokołu SSH hosta docelowego,
który musi posiadać parę kluczy RSA. Dlatego konfiguracja SSH jest serią kroków
która wygląda następująco:
Przypisanie hosta i domeny do firewalla
Generowanie i zapisanie pary kluczy RSA
Konfiguracja firewalla w celu umożliwienai dostępu przez SSH.
Przypisywanie nazwy hosta i domeny odbywa się w taki sam sposób jak poprzednio
natomiast generowanie kluczy RSA jest wykonywane za pomocą metody. Można zatem
wygenerować klucze RSA korzystając z ca generate rsa w globalnej konfiguracji.
pix10 (config)# ca generate rsa key 1024
For <key_modulus_size> >= 1024, key generation could
take up to several minutes. Please wait.
Keypair generation process begin.
.Success.
pix10(config)#
Tab. 32 Wiersz poleceń firewalla PIX- generowanie klucza RSA.
Mankamentem tej operacji jest to że po wygenerowaniu klucza RSA nie jest on
automatycznie zapisywany w pamięci urządzenia, zatem musimy użyć polecenia ca
106
save all aby zapisać wygenerowany klucz RSA. Mamy możliwość określenia wielkości
modułu klucza RSA 512, 768, 1024, 2048. Po wygenerowaniu klucza RSA następnym
krokiem jest zezwolenie SSH na dostęp do firewalla.
pix10 ssh 10.21.120.15 255.255.255.255 inside
Tab. 33 Wiersz poleceń firewalla PIX- połączenie ssh
Wystarczy wtedy uruchomić polecenie ssh adres IP, maska aby ustanowić połączenie z
firewalle.
ASDM/PDM :
Oprócz metod zarządzania za pomocą terminala istnieje również interfejs GUI znany
jako PIX Device Manager (PDM) lub Adaptive Security Device Manager (ASDM).
Obydwa te interfejsy są bardzo podobne do siebie i działa on jako Web-interfejs za
pomocą małego serwera WWW, który znajduje się na firewallu. Po pierwsze trzeba
upewnić się że po pobraniu oprogramowania i zainstalowaniu ASDM/PDM na firewallu
działa on poprawnie. Następnym krokiem jest włączenia serwera HTTP na firewallu,
ostatnim krokiem jest umożliwienie dostępu dla HTTP w sposób podobny do
udostępniania telnetu bądź ssh uruchamiając polecenie http adres IP, maska:
pix10(config)# http server enable
pix10(config)# http 10.0.0.0 255.0.0.0 inside
Tab. 34 Wiersz poleceń firewalla PIX- uruchomienie konfiguratora http
Dostęp do ASDM odbywa się za pomocą przeglądarki internetowej np. Internet
Explorer.
107
Rys. 42 CISCO ASDM
[http://www.watchguard.com/help/docs/fireware/10/en-US/Content/enUS/bovpn/manual/images/f_cisco-login.jpg]
ASDM może również korzystać z aplikacji Java bez konieczności uruchamiania przez
przeglądarkę internetową. Aby połączyć się z interfejsem konfiguracyjnym należy
podać adres IP firewalla oraz jego hasło, gdy autoryzacja przebiegnie pomyślnie
zostaniemy zalogowani do graficznego interfejsu konfiguracyjnego jak widać na
rysunku 36.
108
Rys. 43 Interfejs graficzny ASDM
[Firewall Fundamentals Wes Noonan, Ido Dubrawsky Cisco Press 2006 str. 155]
Konfiguracja NAT:
W większości sytuacji w celu zapewnienia funkcjonalności ruchu wychodzącego trzeba
skonfigurować NAT, ponieważ zazwyczaj zachodzi potrzeba ukrywania wewnętrznych
adresów IP za pomocą NAT.Aby podejrzeć składnie polecenia wykonajmy polecenie
nat:
nat (real-ifc) nat-id real-ip [mask [dns] [outside] [[tcp] tcp-max-conns
[emb-limit]] [udp> udp-max-conns] [norandomseq]]
global (mapped-ifc) nat-id {mapped-ip [-mapped-ip] [netmask mask] | interface}
Tab. 35 składnia polecenia NAT na firewallu PIX
Tak więc aby ustawić translację adresów musimy wykonać następujące polecenia.
Polecenia te nie zmieniają się w żadnej wersji oprogramowania.
109
pix10(config)# nat-control
pix10(config)# nat (inside)1 0.0.0.0 0.0.0.0
pix10(config)# global (outside)1 10.21.67.10-10.21.67.14 netmask
255.255.255.240
Tab. 36 Ustawianie NAT na firewallu PIX.
W powyższym przykładzie kontrola NAT jest włączona na wszystkie wewnętrzne
adresy i jest skonfigurowany z ogólnej puli 10.21.67.10 do 10.21.67.14. W tym monecie
wewnętrzne hosty mają dostęp do zewnętrznych zasobów z wykorzystaniem NAT.
Ewentualnie jeżeli mamy tylko jeden adres przypisany do interfejsu można uprościć
polecenie :
pix10config)# global (outside)1 interface
INFO: outside interface address added to PAT pool
pix10(config)#
Tab. 37 Ustawianie NAT na firewallu PIX.
Konfigurowane list ACL:
Kontrola ruchu jest jednym z podstawowych działać firewalla PIX/ASA. Przetwarzanie
listy ACL odbywa się na zasadzie first-match manner co oznacza ze tak szybko jak
przetwarzane są dane ACL tak szybko zostaje dopasowywany do ACE ACL, po czym
przestaje być analizowany a działania określone są w ACE które dalej są wykonywane.
Konfiguracja oraz wdrożenie list ACL jest procesem składającym się z dwóch etapów:
Definiowanie listy ACL i wdrażanie ACE
Przypisywanie listy ACL do interfejsu.
Definiowanie listy ACL i wdrażanie ACE:
Firewalle PIX/ASA obsługują wiele różnych typów list ACL:
110
Rozszerzona lista ACL
Standardowa lista ACL
Listy ACL używane przy WebVPN
Lista dostępu EtherType
Można skonfigurować wiele typów list ACL dla firewalla PIX/ASA i definiować wiele
list tego samego typu. Na przykład można zbudować jedną listę ACL do kontrolowania
ruchu przychodzącego z Internetu do segmentu DMZ, a następie zbudować inną listę
ACL, której zadaniem będzie kontrola ruchu pochodzącego z segmentu DMZ do sieci
wewnętrznej. Aby np. umożliwić ruch http z dowolnego serwera na serwer należy
wykonać polecenie zawarte w tabeli 35.
pix10(config)# access-list out_in_01 permit tcp any host 10.21.67.2 eq http
Tab. 38 konfiguracja list ACL na firewallu PIX
Aby móc przeglądać listę ACL w celu upewnienia się że dodaliśmy warunek do listy
należy wykonać polecenie :
pix10(config)# show access-list out_in_01
access-list out_in_01; 1 elements
access-list out_in_01 line 1 extended permit tcp any host 10.21.67.2 eq www
(hitcnt=0)
Tab. 39 Wyświetlenie zawartości listy ACL
Przypisywanie list ALC do interfejsu:
Niezależnie od tego jakim oprogramowaniem dysponuje firewall listy ACL stosowane
są do interfejsu przez wydanie polecenia access-group. Na przykład jeżeli chcemy
zastosować listę ACL, która została wcześniej zdefiniowana
do interfejsu
zewnętrznego musimy wykonać następujące polecenie
pix10(config)# access-group out_in_01 in interface outside
.
Tab. 40 Konfiguracja listy ACL na firewallu PIX
111
3.3 Linux Firewall
W tym podrozdziale omówimy firewall bazujący na systemie GNU/Linux, który do
swojej pracy będzie wykorzystywał IPtables. Można smiało zauważyć że również
firewalle niekomercyjne tzw. OpenSource mogą dobrze chronić naszą siec oraz dobrze
pełnić powierzone im zadania.
3.3.1 NetFilter cechy, żądania oraz zasada działania
Niektóre z najważniejszych
projektu :
funkcji NetFilter możemy znaleźć na stronie głównej
http://www.netfilter.org
Tab. 41 strona główna projektu NetFilter.
Cechy tego oprogramowania są następujące:
Dynamiczne filtrowanie pakietów dla ruchu o protokole IPv4
Network Address Translation (NAT) oraz Network Address Port Translation
(NAPT)
Elastyczna i rozszerzalna infrastruktura
Filtrowanie pakietów w protokołach IPv4 oraz IPv6
Duża liczba wtyczek/modułów
Inna korzyść NetFilter jest taka ze jest to oprogramowanie Open Source tak więc
wszelkie modyfikacje, które użytkownicy chcą wykonać mogą śmiało wykonać
czekając na dostarczenie kodu od twórcy oprogramowania. Ponadto może on
obsługiwać wiele interfejsów sprzętowych. Pomoc ta pozwala na stworzenie wielu stref
DMZ, które można wykorzystać w celu zwiększenia szczegółowości bezpieczeństwa
dla różnych systemów. NetFilter wymaga użycia wersji systemu LINUX z jadrem 2.4
bądź wyższym. Oprócz modułów kodu NetFilter narzędzie iptables potrzebne jest do
konfigurowania oraz manipulacji firewallem. Te dwa elementy potrzebne sa tylko do
uzyskania firewalla oraz NAT .
Zasada działania NetFilter:
NetFilter posiada wbudowanych pięć łańcuchów, które podzielone są na trzy tablice:
112
Filter
NAT
Mangle
Tabela Filter ma trzy wbudowane łańcuchy, których funkcjonowanie jest podobne do
funkcjonowania trzech głównych łańcuchów ipchains. Funkcje jakie pełnią łańcuchy w
tabeli jest sprawdzenie co kończy się przyjęciem bądź odrzuceniem pakietu na
podstawie wyników jego oceny. Trzy łańcuchy wbudowane w tabeli Filter to:
Input
Forward
Output
Zadaniem łańcucha Input jest ocena pakietów, które trafiają do samego firewalla,
natomiast łańcuch Output ocenia pakiety, które przychodzą od strony firewalla.
Łańcuch Forward ma za zadanie oceniać pakiety, które przychodzą od firewalla z
jednego interfejsu sieciowego na drugi. Główna różnica między łańcuchami w Netfilter
i ipchains jest przede wszystkim to ze ipchains wszystkie pakiety wychodzące z jednego
interfejsu sieciowego do drugiego muszą przejść przez wszystkie trzy główne łańcuchy
czyli: (INPUT, FORWARD,OUTPUT).W NetFilter sprawa ma się zupełnie inaczej
ponieważ tutaj wystarczy że pakiet przejdzie tylko przez łańcuch FORWARD, ponieważ
tylko on jest odpowiedzialny za przekazywanie pakietów pomiędzy interfejsami.
Rys. 44 NetFilter INPUT
113
Jak widzimy na Rys. 37 host o adresie 192.168.45.10 wysyła pakiet, który skierowany
jest do samego firewalla. Aby pakiet przeszedł przez firewall dalej musi przezjśc przez
reguły zawarte w łańcuchu INPUT w tabeli FILTER.
Rys. 45 NetFilter FORWARD
Ruch z hosta o adresie 192.168.45.10 docelowo kierowany jest do serwera 10.1.1.1.
Zazwyczaj wymagana jest również obecność NAT aby połączyć się z serwerem
ponieważ serwer posiada zewnętrzny adres, który przypisany jest do zewnętrznego
adresu firewalla. Aby pakiet dotarł do systemu o adresie 10.1.1.1 ruch musi poprawnie
przejść przez reguły łańcucha FORWARD z filtrem tabeli, ponieważ ruch odbywa się z
jednego interfejsu do drugiego.
Rys. 46 NetFilter OUTPUT
114
Jak widać na Rys. 39 firewall komunikuje się z hostem o adresie 192.168.45.10. Ruch
sieciowy musi przejść przez reguły zawarte w łańcuchu OUTPUT tabeli Filter przed
osiągnięciem punktu docelowego. Zazwyczaj jest tak że firewall blokuje ruch w obie
strony co skutkuje tym że łańcuch OUTPUT jest pusty i cały ruch od strony firewalla
jest przepuszczany. Może być to uznane za zagrożenie dla bezpieczeństwa na
niektórych systemach.
Tabela NAT może wykonywać zwykłą translacje adresów oraz translacje portów (Port
Address Translation). Obejmuje to docelowy NAT (DNAT) oraz źródłowy NAT
(SNAT). Tabela składa się z trzech wbudowanych łańcuchów:
PREROUTING
POSTROUTING
OUTPUT
Łańcuch PREROUTING używany jest głównie do NAT. Pakiety sprawdzane są w
lokalnej tabeli routingu, natomiast DNAT używany jest w przypadku gdy adres
docelowy dla pakietów nie jest stały i ulega zmianie. DNAT może być używany do
realizacji następujących zadańi:
Przekierowanie portów
Równoważenia obciążenia sieci
Przeźroczyste Proxy
Maskarada to nic innego jak prostsza wersja SNAT, w której pakiety otrzymują adresy
IP interfejsu wyjściowego firewalla jako adres źródłowy.Co do funkcjonalności to jest
ona taka sama jak w urządzeniach CISCO IOS oraz w globalnej konfiguracji PIX/ASA.
Ostatnia tabela w NetFIlter to tabela o nazwie Mangle, pozwala ona na modyfikowanie
firewalla oraz liczne pola nagłówka takie jak np. TTL (Time-To-Live), Differentiated
Service Code Point (DSCP), mamy też możliwość zmiany pola średni rozmiar segment
TCP. Dodatkowo tabela pozwala na określenia, które pakiety będą poddawane
dalszemu przetwarzaniu przez podane łańcuchy.
3.3.2 Konfiguracja NetFilter
Na samym początku dobrze jest się zapoznać z ogólna zasadą działania narzędzia do
konfigurowania całego systemu filtracji pakietów. Mówimy tutaj o narzędziu
115
IPTABLES. Standardowo posiadamy trzy podstawowe łańcuchy : INPUT, FORWARD,
OUTPUT, których pod żadnym pozorem nie możemy ich skasować. Możemy tworzyć
nowe i operować wtedy na całych łańcuchach. Aby móc operować na łańcuchach i
regułach musimy posługiwać się przyjętymi zasadami tworzenia, poniżej znajdują się
opcje do działania na łańcuchach i tabela oraz regułach.
Opcje tworzenia Tabel:
N- tworzenie nowego łańcucha
X - kasowanie pustego łańcucha
P- zmiana domyślnej polityki dla łańcucha
L- wyświetlenie reguł łańcucha
F- usunięcie regul z łańcucha
Z- zerowanie liczników pakietów oraz bajtów w łańcuchach
E- zmiana nazwy łańcucha
Opcje manipulowania regułami w tabeli:
A - dodanie nowej reguły do łańcucha
I - dodanie nowej reguły w określoną pozycję łańcucha
R - zastąpienie reguły w określonej pozycji nową
D - usunięcie reguły w określonej pozycji bądź pierwszej w łańcuchu
Tab. 42 Opcje tworzenia tabel i reguł Iptables
Stwórzmy zatem przykładową konfiguracje dla pojedynczego hosta, który nie będzie
pełnił żadnych usług sieciowych. Podczas tworzenia zapory naszym celem będzie
maksymalne zabezpieczenie hosta przed niebezpieczeństwami płynącymi z sieci.
# iptables -F
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -P INPUT ACCEPT
# iptables -N accept
# iptables -N log
# iptables -N block
# iptables -A accept -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A accept -m state --state NEW -i ppp0 -j ACCEPT
# iptables -A accept -p icmp --icmp-type echo-request -s 10.0.0.0/24 -j ACCEPT
116
# iptables -A log -d 255.255.255.255 -j RETURN
# iptables -A log -j LOG
# iptables -A block -j DROP
# iptables -A INPUT -j accept
# iptables -A INPUT -j log
# iptables -A INPUT -j block
Tab. 43 Tworzenie reguł dla pojedynczego hosta.
Analizując te polecenia na początku utworzyliśmy trzy łańcuchy : accept, log oraz
block. Analogicznie w łańcuchu akcept będą umieszczane reguły, które akceptują
pakiety, w log te które logują, a w block te, które nie będą odrzucane. W łańcuchu
akcept
znajduje
się
reguła
która
akceptuje
połączenie
zestawione
(ESTABLISHED,RELATED). Chodzi nam tutaj np. o pakiety ICMP dla konkretnego
połączenia lub też pakiety, które wymagają połączenia od strony serwera do klienta.
Mamy tutaj także zezwolenie na echo(tzw. ping) z sieci 10.0.0.0/24, akceptujemy także
połączenia przychodzące z interfejsu ppp0.
Łańcuch log służył nam będzie do umieszczania reguł, które będą śledzić podejrzane
pakiety w sieci. Na końcu umieszczamy powiązania pomiędzy podstawowymi
łańcuchami a łańcuchami stworzonymi przez nas.
Teraz załóżmy że nasz host będzie pełnił role serwera, na którym będą uruchomiane
usługi. Priorytetem będzie możliwość oglądania strony WWW umieszczonej na naszym
serwerze za pośrednictwem Internetu, ponadto na serwerze uruchomiona będzie usługa
SMTP, który będzie rozsyłał poczte. Oprócz tego port POP3 będzie pozwalał
użytkownikom sieci lokalnej na pobieranie poczty.
# iptables -I accept 1 -p tcp -s 0.0.0.0/0 -d 1.1.1.1/32 --dport 25 -j ACCEPT
# iptables -I accept 2 -p tcp -s 0.0.0.0/0 -d 1.1.1.1/32 --dport 80 -j ACCEPT
# iptables -I accept 3 -p tcp -s 10.0.0.0/24 -d 1.1.1.1/32 --dport 110 -j ACCEPT
Tab. 44 Polecenia Iptables dla serwera.
Oto konfiguracja, w której znalazły się reguły akceptujące połączenie protokołu TCP na
porcie 25(SMTP), oraz port 80 (HTTP) z całego świata. Natomiast port 110 również
będzie akceptowany ale tylko z sieci lokalnej jak w tym przypadku o adresie
10.0.0.0/24. Dodanie opcji „-p tcp” spowoduje nam automatyczne załadowanie
rozszerzeń protokołu TCP. Będziemy zatem mogli określac numery portów za pomocą
117
„-dport”. Dodatkowym ułatwieniem może być uzywanie aliasów zamiast numerów
portów z pliku znajdującego się w : /etc/services.
Często bywa tak że serwery SMTP podczas komunikacji wykonują tzw. zapytanie o
właściciela połączenia (AUTH). Zatem deamon będzie nasłuchiwał na porcie 113 a w
tym momencie inne serwery SMTP mogą wykonywać połączenia do naszego hosta na
tym właśnie porcie, w tym przypadku od razu lepiej jest poinformować serwer że nasza
usługa nie działa na tym porcie.
# iptables -I block 1 -p tcp -d 1.1.1.1/32 --dport 113 -j REJECT --reject-with tcp-reset
Tab. 45 Ustawienie TCP RST w konfiguracji iptables
Niestety aby powyższe polecenie zadziało musimy mieć wkompilowane w jądro
rozszerzenie o nazwie CONFIG_IP_NF_TARGET_REJECT, które umożliwi nam
korzystanie z celu REJECT.
Podczas administracją serwera musimy wziąć pod uwagę że zdarzy nam się potrzeba
wycięcia pewnej części sieci bądź pewnych hostów, które zagrażają naszemu serwerowi
bądź nadużywają go w niedozwolony sposób.Najlepszym rozwiązaniem tego problemu
jest właśnie odcięcie danej sieci bądź hosta od naszych usług.:
# iptables -N abuse
# iptables -A abuse -p tcp -s 6.6.6.0/24 -d 1.1.1.1/32 --dport 25 -j DROP
# iptables -A abuse -s 7.7.7.7/32 -d 1.1.1.1/32 -j DROP
# iptables -I INPUT 1 -j abuse
Tab. 46 Blokowanie nadużyć na serwerze
Dodamy zatem nowy łańcuch o nazwie abuse, w której znajdą się sieci oraz adresy
hostów blokowanych. Ważne jest żeby reguły blokowania umieścić przed regułami
wpuszczającymi ruch dla naszych usług., inaczej zablokujemy sobie ruch dla
wszystkich usług. Dzieje się tak ponieważ w Iptables pierwsza pasująca reguła jest
brana pod uwage.
NAT w NetFilter:
Tablica Nat zawarta w jądrze Linuxa składa się z trzech łańcuchów zawartych w tablicy
nat. Każda reguła sprawdzana jest dotąd aż nie nastąpi zgodność trzy łańcuchy to:
118
PREROUTING – wykorzystywany dla docelowego NAT
POSTROUTIG – wykorzystywany dla źródłowego NAT (SNAT)
OUTPUT – wykorzystywany dla docelowego NAT (DNAT)
NAT źródłowy (POSTROUTIG):
Kiedy chcemy zmienić swój adres źródłowy użyjemy do tego celu SNAT. Reguły
dotyczące tego umieścimy w łańcuchu PREROUTING. Filtr pakietów jak i sam kod
routingu będzie widział niezmieniony pakiet.
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.1.1.1
Tab. 47 polecenie SNAT w Iptables
W regułach SNAT musimy podać interfejs wyjściowy „-o”. Dość szczególnym typem
SNAT jest maskowanie, jednak powinno ono być stosowane wyłącznie dla dynamicznie
przypisywanych adresów IP. Na przykład jeżeli posiadamy sieć lokalną i używanym
przez nas połączeniem z Internetem jest dial-up musimy użyć maskowania żeby cała
sieć miała dostęp do Internetu po przez maszynę z Linuxem. Potrzebna jest zatem
reguła:
# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o ppp0 -j MASQUERADE
Tab. 48 Maskowanie w Iptables
NAT docelowy (PREROUTING):
NAT docelowy używany jest głównie w momencie
gdy chcemy zmienić adres
docelowy dla pakietu. Reguły DNAT umieszczamy w łańcuchu PREROUTING, co w
efekcie oznacza że jak tylko pakiet dotrze do maszyny jest zmieniany na jego adres
docelowy.
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 1.1.1.1
Tab. 49 zmiana adresu przeznaczenia na 1.1.1.1
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 \
-j DNAT --to 1.1.1.1:8080
Tab. 50 przekierowanie ruchu http na adres 1.1.1.1 na portu 80.
119
Przy konstruowaniu reguł DNAT używamy celu „DNAT” oraz opcji dodatkowej „-to
destination” , która określa nam adres docelowy bądź grupę adresów i opcjonalnie
zakres portów.
Problemy z NAT dotyczą tylko niektórych protokołów. Zatem aby NAT działa
poprawnie zachodzi potrzeba napisania rozszerzeń, które będą śledzić połączenie na
poziomie danego protokołu oraz aktualnego stanu NAT.
3.4 Aplikacja Proxy Firewall
Podrozdział ten ukaże nam aplikacje serwera Proxy, która może zostać użyta jako
firewall bądź w celu ukrycia naszych wewnętrznych zasobów. Ponadto dowiemy
sięjakie są jego ograniczenia oraz jakei może pełnić fukcję.
3.4.1 Funkcjonalność Serwera Proxy
Firewalel jak i również serwery Proxy maja kilka podstawowych funkcji są nimi:
Działanie jako pośrednik pomiędzy hostami,
Cache danych w celu zmniejszenia czasu dostępu do danych jak i odciążenia
przepustowości łącza,
120
Rys. 47 Proces komunikowania się hostów przez Proxy.
Rys. 42 pokazuje nam sytuacje gdzie serwer 1 i serwer 2 próbują się z e sobą
komunikować za pośrednictwem serwera Proxy. Gwarantuje nam to że oba hosty nigdy
nie będą komunikować się bezpośrednio ze sobą. Logicznie rzecz biorą serwer 1 oraz
serwer 2 komunikują się ze sobą nawet jeżeli w fizycznym procesie komunikacji
występuję za pomocą Proxy. Funkcja ta jest całkowicie przejrzysta dla użytkownika
końcowego co w rezultacie oznacza ze serwer 1 nie ma pojęcia że komunikacja nie
przebiega w sposób bezpośredni. Tak samo widzi tą sprawę serwer 2. Wiele serwerów
Proxy, które posiadają obsługuje protokół HTTP może używać podręcznej pamięci
cache w celu zapisywania tam danych, które mogą być używane w późniejszym czasie
przez hosty. Funkcja ta pozwoli serwerowi Proxy zmniejszyć zapotrzebowanie na
pasmo do Internetu, ponieważ za pierwszym razem dane pobierane są z Internetu i
zapisywane w pamięci cache, natomiast za każdym kolejnym wysłaniem żądania o te
dane pobierane są one z pamięci cache serwera Proxy. Dodatkowym atutem tego jest
zmniejszenie czasu potrzebnego do wyświetlenia danych, ponieważ wiele serwerów
Proxy podłączonych jest do klientów.
121
3.4.2 Ograniczenia Serwera Proxy
Niestety serwery Proxy posiadają pewne ograniczenia, które uniemożliwiają
wykonywanie na nich pewnych operacji. Po pierwsze serwer Proxy ma zastosowanie
tylko przypadku gdy żądanie dla Proxy jest zdefiniowane na serwerze. Niestety
większość serwerów Proxy może obsługiwać tylko niewielką liczbę żądań.
Ograniczenie oznacza że inne aplikacje nie będą dozwolone, bądź że zajdzie potrzeba
użycia generic service Proxy. Po drugie serwery Proxy mają zazwyczaj gorsze wyniki w
filtrowaniu niż tradycyjny firewall. Skutkuje to tym że serwery Proxy podczas
wykonywania filtrowania pakietów będzie zużywał więcej czasu na tą operację niż
standardowe firewalle przez co mogą wystąpić opóźnienia w dostarczaniu danych..
W końcu serwery Proxy są bardziej kosztowe w przeciwieństwie do odpowiadających
im firewalli. Dzieje się tak ponieważ zazwyczaj serwery Proxy mają dosyć duże
wymagania sprzętowe, potrzebują szybszych procesorów oraz więcej pamięci, dochodzi
do tego także wysoki koszt modernizacji sprzętu. W związku z tym serwery Proxy nie
nadają się aby pełniły rolę firewalla z obsługą filtrowania pakietów.
3.4.3 Microsoft ISA Server 2004 Firewall
Microsoft ISA Server 2004 Firewall występuje w dwóch wersjach Standard Edition
oraz Enterprise Edition. Główna różnica pomiędzy tymi dwoma wersjami dotyczy ich
skalowalności.
Funkcja
Standard Edition
Enterprise Edition
Sieci
Nieograniczona liczba
Nieograniczona liczba z
dodatkiem sieci
korporacyjnych(sieci, które
mogą być stosowane do
każdej tablicy firewalla)
Skalowalność (up)
Max 4 procesory i 2GB
Nieograniczone
pamięci.
Skalowalność(out)
Pojedynczy serwer
Max do 32 węzłów przy
użyciu Microsoft Network
122
Load Balancing (NLB)
Bufor
Pojedynczy Server store
Nielimitowany po przez
wykorzystanie Cache
Array Routing Protocol
(CARP)
Dostępność
Brak
Dostępne z użyciem
Network Load Balancing
(NLB)
Zarządzanie
Bazowy system operacyjny
Lokalna konfiguracja i
Zaawansowana tablica
zarządzanie
konfiguracyjna
Microsoft Windows Server
Microsoft Windows Server
2003 (Standard lub
Enterprise Edition)
2003 (Standard lub
Enterprise Edition),
Microsoft Windows 2000
Server lub Advanced
Server z Service Pack 4
Tab. 51 Porównanie ISA Server 2004 Standard and Enterprise
Funkcje firewalla ISA Server 2004 można podzielić w następujący sposób:
Bezpieczeństwo i filtrowanie,
Buforowanie funkcji serwera Web
Funkcjonalność VPN
Funkcje zarządzania i administracji,
Uwierzytelnienia klientów firewalla
Microsoft ISA Server 2004 jest w stanie pełną inspekcję pakietów, oraz filtrowanie
całego ruchu sieciowego, który będzie przechodził przez firewall. Ponadto ma
możliwość wykonania przejrzystego układu filtrowania dla wielu protokołów np.
Telnet, RealAudio, Internet Relay Chat (IRC) filtrowanie to odbywać się będzie w
warstwie transportowej bądź w warstwie sesji. Filtrowanie aplikacji przez ISA Server
2004 może odbywać się tylko za pośrednictwem Proxy i może być wykonywane dla
wielu protokołów np. FTP, HTTP. Dzięki temu ISA Server 2004 może działać w
imieniu klientów ochraniając ich od zewnętrznych zasobów oraz zagrożeń. Microsoft
123
ISA Server 2004 obsługuję także podstawowe funkcje wykrywania włamań, aczkolwiek
aby wypełni zabezpieczyć się przed tego typu problemami należy zintegrować swój
istniejący system z produktami innych firm np. SS RealSecure. Obecnie ISA Server
2004 posiada możliwość wykrywania następujących włamań bądź prób ataku:
WinNuke
Ping of Heath
Land attaca
IP half scan
Port scan
UDP bomb
POP3 buffer overflow
SMTP buffer overflow
DNS zone transfer
DNS length overflow
DNS host name overflow
Microsoft ISA Server 2004 obsługuje trzy rodzaje klientów, którzy próbują uzyskać
dostęp do zewnętrznych zasobów sieci chronionej:
Klient SecureNAT
Klient Firewall
Klient Web proxy
Klient SecureNAT nie posiada zbyt zaawansowanej konfiguracji i nie jest zbyt
bezpiecznym typem połączenia z firewallem. Występuje tutaj zupełny brak
uwierzytelniania podczas połączenia z firewallem tak więc nie mamy możliwości
określenia jakie prawa może mieć użytkownik logujący się do systemu.
Klient firewall jest jednym z komponentów systemu ISA Server 2004, jest to
rozwiązanie, które naprawdę wyróżnia ten system spośród innych. Oprogramowanie
klienckie firewalla może zostać zainstalowane na każdym komputerze z systemem
Windows, niestety klient posiada pewne ograniczenia dla systemów typu: Linux, Unix,
124
Sun oraz Mac. Klient firewall pozwoli nam na zdefiniowanie dostępu do zewnętrznych
zasobów w oparciu o grupy użytkowników Umożliwia także określenie w jaki sposób
użytkownicy mają się wzajemnie porozumiewać. informacje na temat autoryzacji
użytkowników będą znajdowały się w pliku dziennika firewalla. Najmocniejszą cechą
klienta firewall jest możliwość wykonania kontroli bezpieczeństwa bezpośrednio na
kliencie. Klient Web Proxy jest używany za każdym razem kiedy komputer
konfigurowany jest za pomocą przeglądarki internetowej, aby korzystać w pełni z
serwera Proxy
ISA Server 2004 w pełni przejmuje role tego serwera. Klient ten
pozwoli nam na zwiększenie wydajności dostępu do sieci ponieważ dane mogą być
przechowywane przez serwer i przekazywane w późniejszym czasie do użytkowników z
pamięci podręcznej. To także sprawi że zmniejszy się zapotrzebowanie na pasmo
Internetu. Aby zapewnić dostęp do chronionych zasobów sieci ISA Server 2004
wprowadza tzw. zasady publikowania. Zasady te są realizowane w stosunku do
przychodzących funkcji filtrowania zasobów, które są chronione przez firewall. Na
przykład jeżeli serwer WWW, który potrzebuje do świadczenia usług klientów
zewnętrznych należy wówczas użyć sieci tzw. usług wydawniczych (web server
publishing rules) do zapewnienia dostępu do chronionych zasobów sieci. Wyróżniamy
cztery rodzaje zasad publikacji:
Reguły publikowania serwera WWW
Reguły publikacji Web serwer Secure
Reguły publikowania na serwerze E-mail
Reguły publikowania serwera
Microsoft ISA Server 2004 podobnie jak wiele innych firewalli posiada wsparcie
techniczne oraz zintegrowaną funkcjonalność dla VPN umożliwiając tym sposobem
korzystanie z ISA Server 2004 zarówno jako składnik site-to-site VPN jak i również
jako punkt końcowy dla usługi sieci VPN dostępu zdalnego. ISA Server 2004 ma
również możliwość obsługi trybu native IPsec tunnel mode. Ze względu na dużą
funkcjonalność VPN ISA Server 2004 ma możliwość wykonywania dynamicznego
filtrowania pakietów oraz pełnej kontroli ruchu VPN.
125
Prawie wszystkie funkcje tego firewala wykonywane są za pośrednictwem konsoli ISA
Server. Pełna nazwa tej konsoli to Microsoft Management Konsole, jest ona
uruchamiana na serwerze ISA
Rys. 48 ISA Server 2004 Management Console
Dostęp do konsoli może być bezpośrednio na serwerze bądź za pomocą zdalnego
dostępu ale w tym wypadku zachodzi potrzeba instalacji oprogramowania do
zarządzania. programowanie to pobierane jest z serwera ISA i instalowane na hoscie.
Oprócz tego trzeba skonfigurować serwer ISA aby umożliwić konfiguracje w trybie
zdalnym tak więc należy dodać do Remote Management Enterprise komputery, które w
trybie zdalnym będą miały dostęp do konfiguracji.
126
Rys. 49 Remote Management Rulet
Najprościej jest kliknąć prawym przyciskiem myszy na obiekcie Firewall Policy i
wybrać pozycję Edit System Policy, następnie w grupie Remote Management wybrać
Microsoft Management Console, ostatnim krokiem jest wybranie karty From i wybranie
odpowiedniej grupy, którą chcemy zaktualizować. Po zakończeniu konfiguracji należy
kliknąć ok. aby powrócić do głównego okna konsoli ISA Server .
127
Rys. 50 Apply Changes ISA Server 2004
Ostatnim zadaniem, które musimy wykonać aby nasze ustawienia zostały trwale
zapisane jest kliknięcie na przycisk Apply tak jak widać na Rys. 43.
Do specyficznych funkcji firewalla ISA Server 2004 należą:
Filtrowanie ruchu wychodzącego,
Publikowanie zasobów wewnętrznych,
Filtrowanie aplikacji sieciowych,
Konfiguracja reguł polityki systemowej,
Konfigurowanie metod dostępu do klienta,
Cache danych internetowych,
128
Do filtrowania ruchu wychodzącego firewall ISA stosuje następujące elementy
polityki:
Zasada działania : określa nam czy ruch powinien być dozwolony czy też
zabroniony gdy warunki zasady są spełnione.
Protokoły: W tym miejscu określamy protokoły, których dotyczy reguła, nie ma
tutaj praktycznie żadnych ograniczeń co do protokołu.
Źródło: Określamy tutaj źródło, z którego wykonywany jest ruch, zazwyczaj
źródło pochodzi z sieci wewnętrznej.
Przeznaczenie: Tutaj z kolei definiujemy źródło wykonywanego ruchu,
zazwyczaj celem końcowym ruchy jest siec zewnętrzna.
Ustawienia użytkownika: Tutaj administrator definiuje gdzie będzie miałą
zastosowanie nowo powstała reguła.
Typy zawartości: Tutaj definiować będziemy rodzaje oraz rozszerzenia plików
dla których reguła będzie tworzona. Typy zawartości można określić i stosować
zasady tylko dla HTTP oraz tunele dla FTP. Pozwoli nam to na dokąłdne
określenie jakie konkretne treści będą dozwolone a jakie nie np. (rozszerzenia
*.exe będą odrzucane).
Harmonogramy: Tutaj definiujemy harmonogram, w którym reguła zostanie
zastosowana. Wykazy będą dotyczyć nowych połączeń oraz już istniejących.
Rys. 51 Tworzenie nowej reguły dostępu
129
Tworzenie nowej reguły dostępu oparte jest na procesie kreatora, z jednym wyjątkiem
mianowicie mówimy tutaj o typie zawartości oraz o harmonogramie. Te opcje
konfigurujemy poprzez edycje właściwości istniejącej już reguły. Podczas konfiguracji
nowej reguły na początku wpisujemy odpowiednią nazwę reguły dostępu po kliknięciu
NEXT pojawi sięgam okno Rule Action gdzie będziemy mogli wybrać czy zezwolić czy
też zabronić na ruch sieciowy. Po kliknięciu NEXT ukaże się nam kolejne okno o
nazwie Protocols gdzie ustalimy dla jakich protokołów ruch sieciowy będzie dozwolony
a dla jakich zabroniony. Po zakończeniu musimy jeszcze ustalić źródło z którego będzie
odbywał się ruch sieciowy aby dodać źródło klikamy na Add Network Entities i
podajemy skąd będzie odbywał się ruch.
Rys. 52 Okno z którego wybieramy skąd będzie odbywał się ruch sieciowy
Po określeniu źródła klikamy przycisk NEXT i kolejnym ekranem będzie User Sets
czyli określenie użytkowników, dla których reguła będzie miała zastosowanie. Ważne
jest że tylko klienci serwera Proxy jak również sieci Web mogą dokonać
uwierzytelnienia, więc jeżeli chcemy dokonać uwierzytelnienia dla wszystkich
130
użytkowników należy przyjąć wartość domyślną dla wszystkich użytkowników tak jak
na Rys. 46.
Rys. 53 ustawienie wartości domyślnych dla wszystkich użytkowników reguły
Po dokładnym przejrzeniu reguły klikamy przycisk FINISH co sprawi że nasza reguła
zostanie utworzona ale nie będzie jeszcze stosowana dla firewalla. Aby sprawić że
będzie ona stosowana należy zastosować ją w oknie głównym konsoli.
Publikowanie zasobów wewnętrznych jest to również proces tworzenia reguły dostępu,
odbywa się on również za pomocą kreatora. Niezależnie od reguły publikowania proces
tworzenia jest podobny do poprzedniego. Tak więc wybieramy utworzenie nowej reguły
firewalla (np. reguła publikowania w internecie) a następnie uruchamiamy kreatora. Po
uruchomieniu kreatora postępujemy jak poprzednio podajemy nazwę reguły po czym
klikamy NEXT, nastepnym oknem jakie pojawi się będzie Define Website to Publish.
131
Rys. 54 Define Website to Publish w firewalli ISA
W tym miejscu określany informacje dla wewnętrznego serwera, który obsługuje stronę
internetową, po wprowadzeniu odpowiednich informacji klikamy NEXT. Jedną z
ciekawych funkcji publikowania jest to że mamy możliwość określania poszczególnych
folderów na stronie internetowej. Po zakończeniu klikamy NEXT. Pojawi nam się wtedy
kolejne okno Public Name Details gdzie określamy że strona będzie widoczna jako
publiczna w Internecie. Po zakończeniu klikamy NEXT, teraz pozostaje nam
zdefiniowanie interfejsów, adresów IP oraz numerów portów, których będzie używać
nowo utworzona reguła. Można też zdefiniować ścieżkę wewnętrzną gdzie również
będzie dostępna strona WWW ale w tym przypadku tylko w sieci wewnętrznej. W
ostatnim oknie User Sets wybieramy użytkowników dla których reguła będzie miała
zastosowanie. Po przejrzeniu poprawności reguły klikamy FINISH. Aby zastosować
regułę dla firewalla należy tak jak w poprzednim przypadku zastosować jaw konsoli
ISA.
132
Firewall ISA Server 2004 zawiera wiele wbudowanych filtrów aby zapewnić kontrolę w
warstwie aplikacji Konfiguracja ta odbywa się w różnych miejscach konsoli ISA na
przykład dla filtrów internetowych należy kliknąć na regułę HTTP lub HTTPS i wybrać
Configure http. Firewall ISA Server 2004 następujące opcje filtrowania:
Maksymalna długość nagłówka (liczona w bajtach)
Długość URL (liczona w bajtach)
Normalizacja URL
Blokowanie plików wykonywalnych Windows (*.exe)
Metoda filtrowania http definiowana przez użytkownika
Rozszerzenie filtrowania
Znaczącym wyjątkiem jest filtrowanie DNS, które konfiguruję się w General section po
przez aktywowanie opcji Intrusion Detection oraz DNS Attack Detection. Domyślnie
obie te opcje są włączone. Aby móc kontrolować dostęp do firewalla muszą być
stworzone zasady polityki systemu. Zasady te nie stworzone domyślnie podczas
przeglądania reguł, ale mogą być włączone. Zatem klikając Show System Policy Rules
spowodujemy ze wszystkie zasady polityki systemu firewalla zostaną wyświetlone tak
jak widać na Rys. 55.
133
Rys. 55 System Policy Rules firewalla ISA
Mamy tutaj możliwość dodawania, zmiany oraz usuwania polityki systemu w sposób
ręczny, lub po przez interfejs graficzny klikając prawym przyciskiem myszy na opcję
Edit System Policy co spowoduje uruchomienie System Policy Editor. System Policy
Editor pozwoli nam praktycznie na skonfigurowanie wszystkiego zaczynając np. od
tego jakie systemy mogą zdalnie zarządzać firewallem oraz jak realizuje on swoje
uwierzytelnienia.
Konfiguracja cache web data to prosty proces, otóż w konsoli ISA przechodzimy do
opcji Cache, klikamy prawym przyciskiem myszy po czym wybieramy Properties aby
uruchomić Server Cache Properties. Aby włączyć cache należy po prostu wybrać dyski
oraz ustawić maksymalny rozmiar pamięci podręcznej. Po zakończeniu klikamy OK.
oraz Apply. Konieczny jest restart usług ISA aby konfiguracja zaczęła działać. Kiedy
cache jest już włączony należy określić zasady jakie dane powinny być przechowywane
134
oraz w jaki sposób. Wybierając opcję Rules tab opracowujemy konkretne reguły, które
zabezpieczą na jakie dane powinny być przechowywane. Podobnie jak większość
zadań wykonywanych w Microsoft ISA Server 2004 również i to oparte jest na
kreatorze, aczkolwiek kreator ten jest prosty i nie powinien sprawiać żadnych
problemów podczas konfiguracji.
135
Rozdział IV Kofiguracja zapory sieciowej bazującej na
systemie operacyjnym GNU/Linux
Rozdział trzeci
opisuje nam budowe oraz konfiguracje firewalla bazującego na
systemie GNU/Linux. Znajdziemy tutaj również opis konfiguracji naszego firewalla
wraz ze skryptem powłoki bash odpowiadającej za działanie naszego firewalla.
4.1 Firewall bazujący na systemie GNU/Linux
Podrozdział ten opisywać będzie poszczególne kroki wykonywane podczas tworzenia
firewalla bazującego na systemie GNU/Linux. Dystrybucja uzyta w procesie tworzenia
firewalla to Slackware 13.1 z kernelem w wersji 2.6.33.4.
4.1.1 Budowa systemu pełniącego rolę firewalla
Rozdział ten poświęcony będzie budowie oraz konfiguracji firewalla opartego o system
GNU/Linux. Rozpatrzymy dwa warianty firewalla: firewall stworzony na podstawie
skryptu pisanego w powłoce bash, konfiguracji reguł IPtables , oraz firewalla
stworzonego na bazie oprogramowania OpensSource z interfejsem graficznym.
Do budowy firewalla wykorzystamy dystrybucję Linuxa Slackware 13.1 z kernelem w
wersji 2.6.33.4 , która zostanie zainstalowana na dysku twardym w celu utworzenia
zapory sieciowej. Po standardowej instalacji systemu przystępujemy do zabezpieczenia
go w standardowy sposób. Efekt polecenia netstat oraz ps przed dokonaniem
standardowego zabezpieczenia systemu:
root@host:~# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address
State
tcp
0
0 0.0.0.0:37
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:6000
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:113
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:53
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:22
0.0.0.0:*
136
LISTEN
tcp6
0
0 :::6000
:::*
LISTEN
tcp6
0
0 :::53
:::*
LISTEN
tcp6
0
0 :::22
:::*
LISTEN
udp
0
0 0.0.0.0:512
0.0.0.0:*
udp
0
0 0.0.0.0:37
0.0.0.0:*
udp
0
0 0.0.0.0:53
0.0.0.0:*
udp6
0
0 :::53
:::*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags
Type
State
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
lfM7xL0OoX
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ]
DGRAM
unix 2
[ ACC ]
STREAM
LISTENING
/var/run/dbus/system_bus_socket
unix 2
[ ACC ]
STREAM
LISTENING
/root/.kde/share/apps/nepomuk/socket
unix 2
[ ]
DGRAM
@/org/freedesktop/hal/udev_event
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
root/kdeinit4__0
unix 2
[ ACC ]
STREAM
LISTENING
root/klauncherMT1885.slave-socket
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
unix 2
[ ACC ]
STREAM
LISTENING
mpFbUy2pCN
unix 2
[ ACC ]
STREAM
LISTENING
I-Node
6235
4513
6153
4595
Path
@/tmp/fam-root/var/run/acpid.socket
@/tmp/dbus-kf9pDWnKpz
@/var/run/hald/dbus-
5917
2301
4569
@/tmp/.X11-unix/X0
@/org/kernel/udev/udevd
7697
4622
5918
6179
/tmp/.X11-unix/X0
/tmp/ksocket-
6194
/tmp/ksocket-
6423
7687
5849
4600
/tmp/.ICE-unix/1914
/tmp/virt_1111
/dev/gpmctl
@/var/run/hald/dbus-
6422
@/tmp/.ICE-unix/1914
Tab. 51 Efekt działana polecenia netstat z parametrami –an
root@host:~# ps -axf
PID TTY
STAT
TIME
COMMAND
6
?
5
?
4
?
3
?
1
?
2
?
7
?
92
?
147
?
150
?
155
?
163
?
167
?
177
?
180
?
183 tty1
SW
SW
SW
SWN
S
SW
SW
S
S
S
S
S
S
S
S
S
0:00
0:00
0:00
0:00
0:03
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
[kupdated]
[bdflush]
[kswapd]
[ksoftirqd_CPU0]
init [2]
[keventd]
[i2oevtd]
/sbin/portmap
/sbin/syslogd
/sbin/klogd
/sbin/rpc.statd
/usr/sbin/inetd
/usr/sbin/lpd
/usr/sbin/atd
/usr/sbin/cron
-bash
137
184
185
186
187
188
206
208
tty2
tty3
tty4
tty5
tty6
?
?
S
S
S
S
S
SW
SW
0:00
0:00
0:00
0:00
0:00
0:00
0:00
/sbin/getty
/sbin/getty
/sbin/getty
/sbin/getty
/sbin/getty
[eth0]
[eth1]
38400
38400
38400
38400
38400
tty2
tty3
tty4
tty5
tty6
Tab. 52 Efekt działania polecenia PS z parametrami –axf
Następnym krokiem jaki musimy wykonać z naszym systemem to wyłączenie
niepotrzebnych demonów, które uruchamiaja niepotrzebne usługi. Aby to wykonać
należy wprowadzić szereg poleceń mających na celu wyłączenie demonów.
root@host:~#
find /etc/rc* -name “*nfs-kernel-server” –exec rm {} \;
root@host:~#
root@host:~#
find /etc/rc* -name “*nfs-common” –exec rm {} \;
root@host:~#
root@host:~#
find /etc/rc* -name “*atd” –exec rm {} \;
root@host:~#
root@host:~#
find /etc/rc* -name “*inetd” –exec rm {} \;
root@host:~#
root@host:~#
find /etc/rc* -name “*cron” –exec rm {} \;
root@host:~#
root@host:~#
find /etc/rc* -name “*lpd” – exec rm {} \;
root@host:~#
Tab. 53 wyłączenie niepotrzebnych demonów w linuxie.
Po wykonaniu tych czynności oraz ponownym restartowaniu systemu demony nie będą
już aktywne. Kolejnym ważnym krokiem jest aby posiadać stabilne źródła jądra, na
którym będziemy wprowadzali pewne zmiany. Po pierwsze musimy zaopatrzyć się w
patch umożliwiający filtrowanie pakietów w 7 warstwie modelu OSI. Dostępny jest on
pod adresem http://l7-filter.sourceforge.net/ . Zatem ściągami netfilter-layer7-v2.22.tar i
następnie dokonujemy uzupełnienia kernela. Po wykonaniu patchowania należy
przekompilować jądro z opcjami, które będą dostępne na płytce cd oraz je zainstalować.
root@host:~#
make dep && make bzImage && make modules && make
modules_install
138
root@host:~# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.33.4
root@host:~# cp /usr/src/linux/.config /boot/config-2.6.33.4
root@host:~# cp /usr/src/linux/System.map /boot/System.map-2.6.33.4
Tab. 54 Opcje użyte podczas prekompilacji jądra, polecenia użyte do instalacjo nowego
jądra.
Ostatnim krokiem będzie zainstalowanie pakietu Iproute2 w systemie. Zatem aby to
wykonać użyjemy poleceń:
root@host:~# tar zxvf iproute2-2.6.16-060323.tar.gz
root@host:~# cd iproute2-2.6.16-060323
root@host:~# ./configure
root@host:~# make
root@host:~# make install
Tab. 55 Instalowanie pakietu Iproute2
Po wykonaniu tej czynności konieczny jest restart systemu ponieważ jest to wymagane
do poprawnego działania. Po ponownym uruchomieniu systemu mamy już w pełni
działające narzędzia do konfiguracji podstawowego firewalla. Możemy zatem
przystąpić do konfiguracji firewalla opartego o IPtables.
4.1.2 Iptables
Do konfiguracji podstawowej użyjemy narzędzia Iptables, które działa podobnie jak
starsze narzędzie ipchains. Do wykonania podstawowego firewalla opartego o reguły
łańcuchów iptables użyjemy skryptu napisanego w powłoce bash:
#!/bin/bash
# sciezka do IPTABLES
IPT="/usr/local/sbin/iptables"
usage()
{
echo "Usage: $0 {start|stop}"
}
139
case "$1" in
start)
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# interfejsy sieciowe
GW="eth0"
IPGW="aaa.bbb.ccc.ddd" # routowalny adres IP {od dostawcy}
IF="eth1"
IPIF="192.168.1.1"
# tutaj definiujejmy hosty ktorych adresy bedziemy maskowac
NATED_HOSTS="192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16 192.168.1.17
192.168.1.18 192.168.1.19 192.168.1.20 192.168.1.21 192.168.1.22 192.168.1.23 192.168.24 192.168.1.25
192.168.1.26 192.168.1.27 192.168.1.28 192.168.1.29 192.168.1.30"
#maskarada
for HOST in $NATED_HOSTS; do
$IPT -t nat -A POSTROUTING -o $GW -s $HOST -j MASQUERADE
done
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "1" > /proc/sys/net/ipv4/ip_forward
# Hosty ktore ma wpuszczane przez serwer z sieci lokalnej
# odbywa się to według identyfijacji ADRES IP + MAC
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.11 -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.12 -m mac --mac-source 00:00:00:00:00:01 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.13 -m mac --mac-source 00:00:00:00:00:02 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.14 -m mac --mac-source 00:00:00:00:00:03 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.15 -m mac --mac-source 00:00:00:00:00:04 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.16 -m mac --mac-source 00:00:00:00:00:05 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.17 -m mac --mac-source 00:00:00:00:00:06 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.18 -m mac --mac-source 00:00:00:00:00:07 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.19 -m mac --mac-source 00:00:00:00:00:08 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.20 -m mac --mac-source 00:00:00:00:00:09 -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.21 -m mac --mac-source 00:00:00:00:00:0A -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.22 -m mac --mac-source 00:00:00:00:00:0B -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.23 -m mac --mac-source 00:00:00:00:00:0C -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.24 -m mac --mac-source 00:00:00:00:00:0D -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.25 -m mac --mac-source 00:00:00:00:00:0E -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.26 -m mac --mac-source 00:00:00:00:00:0F -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.27 -m mac --mac-source 00:00:00:00:00:1A -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.28 -m mac --mac-source 00:00:00:00:00:2A -j ACCEPT
140
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.29 -m mac --mac-source 00:00:00:00:00:3A -j ACCEPT
$IPT -t nat -A PREROUTING -i $IF -s 192.168.1.30 -m mac --mac-source 00:00:00:00:00:4A -j ACCEPT
# Tutaj blokujemy ruch
$IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT
$IPT -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.0/16 -j DROP
$IPT -t nat -A PREROUTING -i $IF -j DROP
##
echo "Firewall wlaczony"
;;
stop)
$IPT -F
$IPT -Z
$IPT –X
Tab. 56 skrypt konfiguracyjny firewalla napisany w powłoce bash.
I tak powstały skrypt prostego lecz skutecznego firewalla będzie zabezpieczał naszą
siec. Opisując krótko działanie tego firewalla jego zadanie będzie polegalo na tym że
nikt z sieci LAN nie będzie miał dostępu do Internetu jeżeli nie zostanie przypisany do
maskarady oraz do tablicy, która sprawdza powiązania adresu IP z adresem MAC, po
pomyślnym sprawdzeniu uzyskuje dostęp do serwera, w każdym innym przypadku
dostęp jest blokowany.
4.1.2 Firewall Firestarter
Przyjrzymy się teraz drugiej implementacji firewalla, który również oparty będzie o
system GNU/Linux. Będzie to oprogramowanie OpenSource o nazwie Firestarter.
Zapewni nam on graficzny interfejs do budowy fiewalla. Będziemy mieli tutaj
możliwość grupowania poszczególnych elementów w obiekty co pozwoli nam na
kontrole nad wieloma zaporami sieciowymi.
Zatem przechodzimy do strony http://www.fs-security.com/ i pobieramy z niej stabilną
wersje Firestarter 1.0.3 (stable). Po instalacji uruchamiamy go z konsoli po czym
pojawi nam się okno kreatora firewalla, za którego pomocą skonfigurujemy go.
141
Rys. 56 Kreator Firewalla Firestarter
Mamy tutaj do dyspozycji kilka ustawień mianowicie czy adresy sieciowe będą
przydzielane za pomocą serwera DHCP czy tez będą statyczne, oraz możliwość
ustawienia konkretnych interfejsów, w przypadku naszego firewalla będą to dwa
interfejsy (ETH0 oraz ETH1). Po pomyślnej konfiguracji ukaże na się okno statusu
firewalla.
142
Rys. 57 Status firewalla Firestarter
Użyjemy
tego
oprogramowania
do
stworzenia
reguł
dotyczącej
połączeń
przychodzących oraz wychodzących. Interfejs zdarzeń firewalla będzie na bieżąco
pokazywał nam przechwycone próby włamania do systemu
143
Rys. 58 Zakładka Events firewalla Firestarter.
Jeżeli klikniemy prawym przyciskiem myszy na wpis w tabelce events będziemy mogli
kontrolować sposób w jaki firewall będzie postępował w razie wykrycia podobnego
połączenia. Jak widać na Rys. 51 firewall wykrył trzy próby nieautoryzowanego
dostępu z sieci zewnętrznej, które zaznaczone są kolorem czerwonym, natomiast
kolorem czarnym odznacza się połączenie które nie jest szkodliwe dla nas i jest
dopuszczone przez nasz firewall.
144
Rys. 59 Zakładka Policy firewalla Firestarter
Musimy także zdefiniować politykę bezpieczeństwa naszego firewalla, w której
musimy umieścić reguły dotyczące ruchy wychodzącego jak i również przychodzącego.
Ponadto musimy zdefiniować czarne oraz białe listy połączeń, czyli jakie połączenia
będą dozwolone a jakie będą blokowane.
145
Rozdział V Testy zbudowanej zapory sieciowej.
5.1 Testy i analiza zabezpieczonej sieci
W tym podrozdziale opisane zostały testy działania zaprojektowanego firewalla.
Firewall zostanie analizowany zarówno od strony zewnętrznych problemów jaki
problemów wewnętrznych. Celem testów jest sprawdzenie poprawności działania
firewalla jak i równieżsprawdzenai jego wydajności.
5.1.1 Prawidłowość filtrowanych danych
Pierwszym krokiem będzie sprawdzenie czy firewall w ogóle przepuszcza jakikolwiek
ruch sieciowy odbywający się od sieci wewnętrznej. Tak więc po wystartowaniu
naszego systemu konfigurujemy go. Nas firewalla posiada dwie karty Ethernet,
pierwszy interfejs EHT0 posiada routowalny adres IP przydzielony przez usługodawcę,
natomiast drugi interfejs ETH1 posiada adres IP wewnętrzny 192.168.1.1/24. Komputer
znajdujący się w sieci wewnętrznej jest z systemem Windows i posiada adres IP
192.168.1.2/24 a jego domyślna brama to 192.168.1.1. Komputer z systemem Windows
podłączamy bezpośrednio do firewalla za pomocą kabla skrosowanego, natomiast
firewall jest podłączony za pomocą switcha do sieci zewnętrznej. Stan interfejsów po
uruchomieniu usług firewalla klasyfikuje się następująco:
root@host:~# ip address
1: lo: <LOOPBACK> mtu 16436 qdisc noop
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb qlen 1000
link/ether 00:c0:26:a5:c5:9f brd ff:ff:ff:ff:ff:ff
inet 192.168.7.28/24 brd 192.168.7.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb qlen 1000
link/ether 00:00:21:ec:58:e0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
Tab. 57 stan interfejsów sieciowych po załadowaniu usług firewalla.
146
Po
wykonaniu prawdzenia interfejsów następnym krokiem będzie sprawdzenie
poprawności działania konfiguracji IPtables:
root@host:~# iptables –L –n –v
Chain INPUT (policy DROP 4 packets, 755 bytes)
pkts bytes target
prot opt in
2 168 ACCEPT
0 0 ACCEPT
udp -- *
22 2992 ACCEPT
0 0 ACCEPT
out
icmp -- *
*
*
tcp -- *
source
0.0.0.0/0
0.0.0.0/0
*
all -- lo *
0.0.0.0/0 state RELATED,ESTABLISHED
0.0.0.0/0
0.0.0.0/0
destination
0.0.0.0/0 state RELATED,ESTABLISHED
0.0.0.0/0 state RELATED,ESTABLISHED
0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target
prot opt in out
source
destination
0 0 ACCEPT
icmp -- * *
192.168.1.0/24 0.0.0.0/0
0 0 ACCEPT
udp -- * *
192.168.1.0/24 0.0.0.0/0
0 0 ACCEPT
0 0 DROP
tcp -- * *
tcp -- * *
192.168.1.0/24 0.0.0.0/0
0.0.0.0/0
0.0.0.0/0 tcp flags:!0x16/0x02 state NEW
0 0 ACCEPT
icmp -- * *
0.0.0.0/0
0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT
udp -- * *
0.0.0.0/0
0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT
tcp -- * *
0.0.0.0/0
0.0.0.0/0 state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT 33 packets, 4179 bytes)
pkts bytes target prot opt in out source destination
Tab. 58 Konfiguracja Iptables po uruchomieniu usługi firewalla.
root@host:~# iptables –L –n –v
iptables –t nat –L –n -v
Chain PREROUTING (policy ACCEPT 3 packets, 518 bytes)
pkts bytes target
prot opt in out source
destination
Chain POSTROUTING (policy ACCEPT 5 packets, 392 bytes)
pkts bytes target
0 0
prot opt in out source
destination
MASQUERADE tcp -- * * 192.168.1.0/24 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 5 packets, 392 bytes)
pkts bytes target
prot opt in out source
destination
Tab. 59 Konfiguracja IPtables po uruchomieniuusługi firewalla.
Analizując tak przeprowadzone testy możemy zauważyć ze komputer z systemem
Windows z sieci wewnętrznej wykonywał już połaczenia z internete za pośrednictwem
naszego firewalla. Świadczyc będą o tym liczniki znajdujące się w IPtables. Strony
147
WWW chodza prawidłowo tak więc ruch odbywający się po TCP działa, wywołanie
ping również działa prawidłowo tak wieć ICMP również działa, Liczniki na firewallu
będą zwiekszać się wraz z ilością ściągniętych danych z Internetu.
5.1.2 Hping2
Uzyjemy teraz narzędzia hping do przetestowania naszego firewalla. pierwszym
krokiem
jest
pobranie
ze
strony
http://www.hping.org/download.php
.
Po
zainstalowaniu zbadamy skuteczność w przepuszczaniu pakietów do sieci chronionej.
root@host:~# ip r a 192.168.1.0/24 via 192.168.7.78
Tab. 60 Ustawienie w tablicy routowania
Na samym początku musimy ustawić w tablicy routowania komputer z sieci
wewnętrznej aby pakiety z adresem docelowym 192.168.1.0/24 były kierowane przez
badanego przez nas firewalla. Teraz wykonmy ping z hosta znajdującego się w sieci
zewnętrznej do hosta z systemem Windows w sieci wewnętrznej.
user@host:~# ping -c 5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
--- 192.168.1.2 ping statistics --5 packets transmitted, 0 packets received, 100% packet loss
Tab. 61 Efekt działania ping z hosta zewnętrznego.
I jak widzimy pakiety ICMP zostaly w pełni odrzucone, oznacza to o poprawnym
działaniu filtrowania danych ICMP, tak więc nasz firewall spełnia powierzone mu
zadanie. Wykonajmy zatem jeszcze jeden test, mianowicie zainicjujmy skanowanie za
pomoca pakietów ACK. Na początek przeskanujemy nasz firewall:
user@host:~# hping 192.168.7.28 -A -p 22 -c 5
HPING 192.168.7.78 (eth0 192.168.7.28): A set, 40 headers + 0 data bytes
--- 192.168.7.28 hping statistic ---
148
5 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
user@host:~# hping 192.168.7.28 -A -p 80 -c 5
HPING 192.168.7.78 (eth0 192.168.7.28): A set, 40 headers + 0 data bytes
--- 192.168.7.28 hping statistic --5 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
Tab. 62 Skanowanie firewalla za pomocą pakietów ACK
W kolejnym kroku sprawdzimy jakie porty sa otwarte na wewnętrznym hoście z
systemem Windows:
Rys. 60 Polecenie netstat –an majace na celu ukazanie otwartych portów.
149
Jak widzimy na rysunku powyżej w systemie jest kilka portów, które są otwarte i
wynokuja tzw. nasłuchiwanie.
Wykonamy teraz skanowanie portów na hoscie wewnętrznym.Skupiamy się na portach,
które są otwarte:
user@host:~# hping 192.168.1.2 -A -p 1028 -c 5
HPING 192.168.1.2 (eth0 192.168.1.2): A set, 40 headers + 0 data bytes
--- 192.168.1.2 hping statistic --5 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
user@host:~# hping 192.168.1.2 -A -p 135 -c 5
HPING 192.168.1.2 (eth0 192.168.1.2): A set, 40 headers + 0 data bytes
--- 192.168.1.2 hping statistic --5 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
Tab. 63 Polecenie do wykonania skanowania portów.
I w taki sposób spradzilismy naszgo firewalla pod kątem bezpieczeństwa filtrowania
danych TCP oraz UDP. Wszystkie przeprowadzone testy firewalla wypadły z
pozytywnym wynikiem.
150
5.1.3 Nmap
Aby mieć pewnośc ze firewall naprawde dobrze wykonuje powierzone mu zadanie
wykonany drugi test za pomocą narzędzie Nmap, którego celem będzie pokazanie ze
firewall broni sieć wewnetrzną przed atakami z sieci zewnętrznej.
user@host:~# nmap -sS -O 192.168.7.78/32
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Note: Host seems down. If it is really up, but blocking our ping probes, try -P0
Nmap run completed -- 1 IP address (0 hosts up) scanned in 30 seconds
user@host:~# nmap -sU 192.168.7.78/32
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Note: Host seems down. If it is really up, but blocking our ping probes, try -P0
Nmap run completed -- 1 IP address (0 hosts up) scanned in 30 seconds
user@host:~# nmap -sF 192.168.7.78/32
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Note: Host seems down. If it is really up, but blocking our ping probes, try -P0
Nmap run completed -- 1 IP address (0 hosts up) scanned in 30 seconds
Tab. 64 wykorzystanie skanera Nmap
Jak widac zaden pakiet nie dotarł do firewalla, ponieważ nasz firewall nie posiada
żadnych otwartych portów, a odpowiednie pakiety kierowane są do reguły DROP
stworzonej przez nas w IPtables.
151
Rozdział VI Podsumowanie
Celem niniejszej pracy było stworzenie firewalla bazującego na systemie GNU/Linux,
który powinien spełniać podstawowe funkcje firewalla, być odpornym na różnorodne
ataki, które mogą napływać z sieci zewnętrznej. W pracy znajdziemy także podstawowe
informacje na temat modelu osi, protokołów które używane sa podczas pracy firewalli
ale i również podczas działania innych urządzen sieciowych. Mamy możliwośc
przyjrzenia się różnym firewallom zarówno tym komercyjnym takim jakk np. CISCO
PIX/ASA, bądź Linksys jak i również rozwiązaniom OpenSource, które pomimo tego
że są darmowe mogą również dobrze spełniać powierzone mu zadania. Wnioski jakie
możemy wyciągnąc to przedewszystkim to że aby uchronić się przed zagrożeniami
płynącymi z sieci należy bezwzględnie zastosować firewall. Niekoniecznie musi to być
to sprzęt, którego cena jest bardzo wysoka, ponieważ dobry administrator może również
za pomocą tańszych środków uzyskać porządany efekt podczas zabezpieczania sieci.
Oczywiście tyczy się to tylko wtedy gdy posiadamy ograniczone środki budżetowe,
natomiast jeżeli nie posiadamy zbyt dużych ograniczeń warto jest inwestować w sprzęt
z tzw. górnej półki ponieważ w każdej sieci bezpieczeństwo użytkowników oraz ich
danych to podstawa, i tak na dobrą sprawe administrator sieci nie powinien sobie
pozwolić na jakiekolwiek błędy podczas planowania oraz wdrażania systemu
zabezpieczeń.
152
Rozdział VII Bibliografia
1. ISA Server 2004 UNLEASHED Michael Noel Sams Publishing 2005r.
2. Cisco Network Security Troubleshooting Handbook Mynul Hoda Cisco Press
2005r.
3. Troubleshooting Linux® Firewalls Michael Shinn, Scott Shinn Prentice Hall
PTR 2004r.
4. Designing and Implementing Linux Firewalls and QoS using netfilter, iproute2,
NAT, and L7-filter Lucian Gheorghe Packt Publishing 2006r.
5. Akademia sieci Cisco. Pierwszy rok nauki
Vito Amato, Wayne Lewis
Wydawnictwo MIKOM 2001r.
6. Zarządzanie
sieciami
IP
za
pomocą
ruterów
CISCO
Scott
Ballew
Wydawnictwo RM 2003r.
7. Cisco Router Firewall Security Richard A. Deal Cisco Press, 2004r.
8. Firewalls ściany ogniowe Matthew Strebe, Charles Perkins Mikom 2000r.
153
Streszczenie
Niniejsza praca opisuje nam zasady implementacji Firewall’i w oparciu o elementy
aktywne sieci LAN/WAN. Ponadto ukazuje nam również zagrożenia jakie panują w
Internecie, oraz jakie powinny wyglądac dobre polityki bezpieczeństwa. Poruszane były
również aspekty dotyczące technologii oraz architektur w jakich wykonywane sa
firewalle. Były to architektury pojedynczego oraz podwójnego firewalla, single/dual
system firewall oraz inne. W pracy zostały również omówione protokoły, które są
najczęściej wykorzystywane podczas pracy firewalli są to m.in. (TCP, IP, UDP, ICMP,
NAT oraz inne). Rozdział trzeci przedstawia wybrane poszczególne modele zapór
sieciowych zaczynając od routerów szerokopasmowych firmy Linksys po przez bardziej
zaawansowane technologicznie firewalle CISCO PIX oraz ASA firewall, Microsoft
ISA Server 2004. Również zostały poruszone aspekty firewalli opartych na systemie
OpenSource. Charakterystyki te dotyczyly ogólnych zagadnien co do możliwości jakie
mogą spełniać poszczególne firewalle, oraz ograniczeń jakie posiadaja. Przedstawione
zostały również metody konfiguracji firewalli. W zależności od stopnia zaawansowania
firewalla w opisie konfiguracji zawarte są tryby konfiguracyjne (tryb tekstowykonsola), (tryb graficzny- GUI). Rozdział czwarty jest tzw. rodzialem praktycznym,
który opisuje Budowe oraz konfiguracje zapory sieciowej bazującej na systemie
operacyjnym GNU/LINUX. Zawarte są tak również informacje dotyczące podstawowej
konfiguracji firewalla przy użyciu regół oraz łańcuchów IPTABLES oraz przy uzyciu
Firewall
Firestarter.
Ostatni
rozdział
poświęcony jest
testom
oraz
analizie
zabezpieczonej sieci. Firewall został poddany próbie przełamania zabezpieczen po
przez uzycie narzędzi typu (Hping2) oraz (Nmap), których celem bylo zdobycie dostępu
do sieci chronionej. Ponadto Firewall został poddany testom, które miały wykazać że
firewall dobrze spełnia powierzone mu zadania oraz poprawie filtruje dane, które przez
niego przechodza.Wszystkie testy wykonywane na firewallu zostały zakończone
pomyślnie co skutkowało tym że firewall dobrze spełnial powierzone mu zadania i
bronil przed jakimkolwiek atakiem intruza na sieć chroniona.
154
155