Sieci Komputerowe
Wykład 4
FIREWALL
Zapora firewall
Zapora firewall
to mechanizm kontroli dostępu, zabezpieczający sieć przed niechcia-
nym dostępem.
Zapora firewall
jest w najprostszym ujęciu ruterem lub zestawem
ruterów umieszczonych w miejscu połączenia sieci prywatnej z
publiczną.
Komputery w sieci prywatnej nie są wystawione bezpośrednio na
„widok publiczny”. Każda niepożądana próba dostępu do nich
wymaga przedostania się przez zaporę. W ten sposób zapora firewall
pełni funkcję zabezpieczenia (bufora) pomiędzy siecią prywatną i
publiczną — na przykład Internetem.
Zapora firewall
Zapora firewall
Rutery służące jako zapory firewall zwykle w celu zabezpieczenia
sieci stosują zasady kontroli dostępu (lub, mówiąc prościej, listy
dostępu).
Zasady kontroli dostępu opierają się na dwóch mechanizmach:
¾jeden z nich odpowiada za blokowanie niechcianego ruchu,
¾drugi — za wpuszczanie do sieci reszty „niegroźnych” transmisji.
Zapora firewall, oprócz pełnienia funkcji kurtyny ochronnej dla intranetu
organizacji, może posłużyć też do oddzielania ważnych części sieci od
użytkowników, nawet zaufanych. Na przykład, część sieci używaną przez dział
zatrudnienia można oddzielić zaporą, aby chronić ważne dane dotyczące wypłat i
osobowe przed resztą organizacji. Taki typ zapory nazywany jest często
intranetową zaporą firewall.
Zapora firewall
Do utworzenia systemu zapory firewall może posłużyć ruter lub
zestaw ruterów filtrujących pakiety oraz hosty bastionowe.
Host bastionowy to silnie zabezpieczony host (lub serwer),
zezwalający na ograniczony dostęp z zewnątrz.
Każdy gość z zewnątrz ma prawo dostępu do określonych danych
lub aplikacji w hoście, lecz z ograniczonymi prawami, wobec czego
nie jest w stanie zaszkodzić systemowi.
Do przykładów hostów bastionowych należą serwery WWW,
serwery anonimowych usług FTP, serwery DNS
Zapora firewall
Poza kontrolą i rejestrowaniem ruchu pomiędzy sieciami zapora
firewall może spełniać inne funkcje, na przykład:
¾ tworzyć wirtualne sieci prywatne (VPN — Virtual Private
Network),
¾ sprawdzać pocztę elektroniczną na obecność wirusów,
¾ filtrować adresy URL (Uniform Resource Locator), zabraniając
dostępu do nieautoryzowanych witryn,
¾ filtrować aplikacje, blokując zdalny dostęp do zdalnych aplikacji,
które mogą być dla sieci niebezpieczne.
Zapora firewall
Zapory są potężnym mechanizmem chroniącym przed
niepożądanym dostępem do sieci prywatnych i przed atakami z
zewnątrz, lecz nie są w stanie zabezpieczać zasobów organizacji
przed wszystkimi atakami i włamaniami.
¾ Zapory nie dają żadnej ochrony przed atakami pochodzącymi z sieci,
którą chronią. Mogą jedynie zabezpieczać granice sieci.
¾ Zapory firewall mogą być niewłaściwie skonfigurowane.
Po skonfigurowaniu zapory często ignoruje się testy i weryfikację
reguł. W eksploatowanych zaporach muszą być wprowadzane zmiany
konfiguracji, zaś dzienniki zdarzeń powinny być uważnie i regularnie
kontrolowane, aby stwierdzić, czy reguły są prawidłowo stosowane.
Zapora firewall
¾ Zapory firewall nie radzą sobie ze złośliwymi programami, koniami
trojańskimi i wirusami, ponieważ w sieciach istnieje zbyt dużo metod
kodowania plików binarnych, a na dodatek liczba istniejących wirusów
jest przytłaczająca. Zagrożenia te możemy jednak do pewnego stopnia
ograniczyć, instalując skuteczne oprogramowanie antywirusowe w
zaporach oraz w każdym komputerze w sieci, który jest podatny na
ataki ze strony danych. Ataki tego typu polegają na przesyłaniu pocztą
elektroniczną lub skopiowaniu do hosta w sieci wewnętrznej wirusów i
innych złośliwych programów.
Typy zapór firewall
Używane są trzy typy zapór firewall na różnych poziomach modelu
odniesienia OSI:
¾zapory filtrujące pakiety,
¾zapory badające stan pakietów
¾ zapory przejścia w warstwie aplikacji.
Zapory filtrujące pakiety działają w trzeciej warstwie modelu OSI,
zaś dwa pozostałe typy w warstwach od piątej do siódmej.
Wiele dostępnych na rynku zapór dąży do połączenia funkcji dwóch
lub więcej typów. Administrator musi rozważnie ustalić wymagania
bezpieczeństwa organizacji i według nich dobrać zaporę.
Zapory filtrujące pakiety
Każdy pakiet IP, musi zawierać adres przeznaczenia i docelowy
numer portu.
Każdy pakiet IP musi też zawierać adres IP i numer portu
komputera, z którego jest wysyłany, aby odbiorca wiedział, kto ten
pakiet wysłał.
Zapora firewall filtrująca pakiety (packet filter firewall)
decyduje czy pakiet przepuścić, czy zatrzymać, na podstawie
następujących informacji w nim zawartych:
¾adresu źródłowego,
¾adresu docelowego,
¾portów (źródłowego i docelowego).
Zapory filtrujące pakiety
Rutery należą tradycyjnie do kategorii zapór filtrujących pakiety,
ponieważ funkcjonują opierając się na wymienionych powyżej
informacjach. Zapory filtrujące pakiety wyróżnia fakt, że przekazują
ruch z jednej swojej strony na drugą. Aby więc pakiet pomyślnie
przeszedł zaporę, musi należeć do bloku adresów IP, które zgodnie z
konfiguracją zapora może przepuścić lub też musi używać adresu IP
z sieci prywatnej, którą zapora ochrania.
Zapory filtrujące pakiety
Zalety
¾ Są szybkie, ponieważ działają jedynie na podstawie adresów IP i
numerów portów TCP, ignorując zawartość pakietów.
¾ Są niezależne od aplikacji, ponieważ ignorują dane zawarte w
pakietach.
¾ Są najtańszym typem zapór.
¾ Nie wymagają żadnych zmian konfiguracji ochranianych
komputerów.
Wady
¾ Są najmniej bezpieczne z wszystkich typów zapór, ponieważ
kontrolują nadchodzący ruch jedynie w minimalnym zakresie.
¾ Ignorują zawartość pakietów, przez co nie pozwalają na
blokowanie dostępu użytkowników do nieautoryzowanych
witryn WWW.
¾ Nie pozwalają na zaimplementowanie złożonej zapory firewall.
Zapory badające stan pakietów
Większość zapór decyduje o przepuszczeniu lub zatrzymaniu
pakietu na podstawie zawartych w nim adresów: źródłowego i
docelowego.
Zapory takie jednakże nie sprawdzają danych zawartych w
pakietach.
Zapora firewall badająca stan pakietów (stateful packet
inspection firewall) przechwytuje nadchodzące pakiety i sprawdza
stan połączenia. Do sieci przepuszczane są tylko te nadchodzące
pakiety, które spełniają wszystkie warunki zdefiniowane dla zapory.
Zapory badające stan pakietów stopniowo tworzą dynamiczne
tablice stanów, które służą im do śledzenia przepuszczanych
połączeń. Dopuszczalne są jedynie pakiety należące do poprawnych
i nawiązanych połączeń.
Zapory badające stan pakietów
Oprócz badania adresów IP i zawartości pakietów, zapory badające
stan pakietów biorą pod uwagę dodatkowo stan połączeń.
Dzięki temu nadchodzący pakiet można skojarzyć z wysłanym
uprzednio żądaniem, zanim pakiet ten zostanie dopuszczony do
sieci. Zapobiega to przedostaniu się do sieci pakietów udających
odpowiedź na nieistniejące żądanie.
Zapory badające stan pakietów stosują również mechanizm
filtrowania sesji, aby gromadzić informacje o sesji od jej początku
aż do końca.
Informacje te służą razem z adresami IP pakietu i analizą zawartości
do podejmowania decyzji o filtrowaniu.
Zapory badające stan pakietów
Zalety
¾ Zapewniają wyższy poziom bezpieczeństwa niż najprostsze zapory,
ponieważ kojarzą nadchodzące informacje z wysyłanymi żądaniami.
¾ Udostępniają szczegółowe rejestrowanie transakcji, co pomaga
administratorom sieci łatwo lokalizować źródła problemów w
przypadku kłopotów z funkcjonowaniem sieci.
¾ Zmniejszają nakłady pracy administracyjnej, ponieważ nie są
wymagane żadne zmiany w konfiguracji komputerów w sieci
prywatnej.
Wady
¾ Konfiguracja zapór badających stan pakietów jest skomplikowanym
zadaniem.
¾ Nie zapewniają uwierzytelnienia użytkowników.
¾ Są wolniejsze od zapór filtrujących pakiety, ponieważ muszą
„pamiętać” stany połączeń. Co za tym idzie, wymagają większych
zasobów.
¾ Są droższe od zapór firewall filtrujących pakiety.
Zapory przejścia w warstwie aplikacji
Zapory firewall przejścia w warstwie aplikacji (application
proxy firewall)
wpuszczają ruch sieciowy z jednej strony i wypuszczają z drugiej po
przejściu pakietów przez oprogramowanie przejścia w warstwie
aplikacji (application proxy software).
Przejście to (proxy) analizuje wszystkie przechodzące przez nie
dane i odrzuca nie autoryzowane i niebezpieczne pakiety danych.
Gdy komputer spoza chronionej sieci komunikuje się z hostem
wewnątrz, proxy imituje tego hosta. Podobnie, gdy wewnętrzny host
łączy się z zewnętrznym klientem, proxy maskuje pochodzenie
komputera, który zainicjował połączenie. W wyniku tego hosty w
wewnętrznej sieci nie są nigdy ujawniane na zewnątrz.
Zapory przejścia w warstwie aplikacji
Zapory przejścia w warstwie aplikacji
Zalety
¾ Zapewniają najwyższy poziom bezpieczeństwa, ponieważ nie
pozwalają komputerom po obu końcach połączenia komunikować się
ze sobą bezpośrednio.
¾ Zapewniają najlepsze zdolności filtrowania.
¾ Uwierzytelniają użytkowników i rejestrują zdarzenia w sposób pełny,
zapewniając w ten sposób wysoki poziom bezpieczeństwa.
¾ Ich działanie opiera się na zasadach, które można łatwo konfigurować.
Dzięki temu zapory te łatwiej jest konfigurować niż zapory badające
stan pakietów, które korzystają z reguł filtrowania pakietów.
Wady
¾ Są najwolniejszymi zaporami z wszystkich trzech typów.
¾ Dla każdego protokołu wymagają odrębnego oprogramowania proxy.
¾ Wymagają zmian konfiguracji wszystkich wewnętrznych hostów.
¾ Są najdroższym typem zapór firewall.
Konfiguracje sieci z zaporami firewall
Istnieją dwie popularne konfiguracje sieci z zaporami firewall:
¾ prosty system zapory, używający ruterów,
¾ trzyczęściowy system zapory, składający się z trzech warstw
(części).
Konfiguracje sieci z zaporami firewall
Prosty system zapory
W tej konfiguracji ruter-zapora umieszczony jest na wyjściu
prywatnej sieci, które łączy ją ze światem zewnętrznym. Każdy
wchodzący i wychodzący pakiet danych musi przejść przez zaporę
na ruterze. Zabezpieczenie takie trzeba zastosować w każdym
miejscu, gdzie sieć łączy się z innymi sieciami publicznymi i
Internetem.
Konfiguracje sieci z zaporami firewall
Trzyczęściowy system zapory
System ten składa się z trzech wyspecjalizowanych warstw:
¾ Izolująca sieć lokalna — ta warstwa gra rolę bufora pomiędzy
intranetem przedsiębiorstwa a sieciami nie zaufanymi. Izolująca
sieć lokalna (LAN) otrzymuje unikatowy numer sieci, różny od
numeru intranetu przedsiębiorstwa. Jedynie izolująca sieć lokalna
jest widoczna dla sieci zewnętrznej.
¾ Wewnętrzny filtr pakietów — ruter (lub zestaw ruterów), który
filtruje pakiety przechodzące pomiędzy izolującą siecią lokalną i
intranetem przedsiębiorstwa.
¾ Zewnętrzny filtr pakietów — ruter (lub zestaw ruterów), który
filtruje pakiety przechodzące pomiędzy izolującą siecią LAN i
światem zewnętrznym.
Konfiguracje sieci z zaporami firewall
Konfiguracje sieci z zaporami firewall
Trzyczęściowy system zapory
Podczas tworzenia trzyczęściowego systemu zapory należy
postępować według następujących reguł:
¾ Wewnętrzny i zewnętrzny filtr pakietów powinny przepuszczać
nadchodzące pakiety tylko wtedy, gdy należą do otwartej uprzednio sesji.
¾ Zewnętrzny filtr pakietów powinien przepuszczać pakiety kierowane do
hostów bastionowych.
¾ Zewnętrzny filtr pakietów nie powinien posiadać niepotrzebnych usług i
połączeń.
¾ Jeśli to możliwe, na zewnętrznym ruterze filtrującym pakiety należy:
¾ stosować tylko trasy statyczne,
¾ całkowicie zablokować usługę TFTP,
¾ wyłączyć usługi finger, proxy ARP, przekierowanie IP, buforowanie
tras IP oraz telnet,
¾ stosować szyfrowanie haseł.
Konfiguracje sieci z zaporami firewall
Trzyczęściowy system zapory
Podczas tworzenia trzyczęściowego systemu zapory należy
postępować według następujących reguł (cd):
¾ Ruch z ruterów zapory firewall do międzysieci przedsiębiorstwa powinien
być blokowany, ponieważ te rutery mogą paść ofiarą ataku hakerów. Jeśli
zablokujemy cały ruch z zapory do sieci, prawdopodobieństwo ataku na
sieć stanie się niskie.
¾ Rutery zapory i hosty bastionowe powinny zawierać jak najmniej
oprogramowania, które na dodatek nie powinno być złożone.
Skomplikowane aplikacje zwykle zawierają więcej błędów, tworzących
luki w zabezpieczeniach.
NAT — Network Address Translation
Mechanizm NAT (Network Address Translation) został
opracowany przez firmę Cisco — początkowo jako mechanizm
trasowania, oszczędzający zarejestrowane adresy IP w dużych
sieciach.
Z czasem stał się również skuteczną metodą ochrony sieci
prywatnych przed nieupoważnionym dostępem z zewnątrz.
NAT pozwala na łączenie z Internetem i innymi publicznymi
sieciami prywatnych sieci, które stosują adresy nie zarejestrowane w
InterNIC lub innej agencji rejestrującej, co odbywa się za pomocą
tłumaczenia adresów prywatnych na adresy IP zarejestrowane
globalnie.
NAT — Network Address Translation
NAT musi być zainstalowany na styku pomiędzy siecią prywatną i
siecią globalną .
Takim punktem styku jest ruter. Każde urządzenie zdolne do obsługi
NAT posiada tablicę translacji, która służy do tłumaczenia
prywatnych adresów IP na adresy IP unikatowe globalnie.
Jeśli sieć ma kilka wyjść, bardzo ważne jest, aby wszystkie rutery
obsługujące NAT posiadały identyczne tablice translacji.
Mechanizm NAT jest zasadniczo używany przez rutery, lecz może
też być stosowany przez zapory firewall. Rutery używające NAT
nazywane są czasami ruterami NAT lub translatorami adresów
sieciowych.
NAT — Network Address Translation
NAT — Network Address Translation
Przez zaimplementowanie NAT automatycznie tworzymy zaporę firewall
pomiędzy siecią prywatną i światem zewnętrznym. Urządzenie używające
mechanizmu NAT gra rolę agenta pomiędzy siecią prywatną i resztą
świata.
Pojedynczy adres IP może posłużyć do reprezentowania całej sieci, co
dodatkowo zwiększa jej bezpieczeństwo przez ukrycie wewnętrznych
adresów IP.
W NAT jedynie połączenia zainicjowane wewnątrz sieci mają prawo
przejść przez ruter. Dzięki temu komputer wewnątrz może z powodzeniem
łączyć się z komputerem położonym na zewnątrz swojej sieci. Jednakże
zewnętrzny komputer nie będzie w stanie połączyć się z wewnętrznym,
ponieważ musiałby zainicjować połączenie (na co NAT nie pozwala). W
wyniku tego użytkownicy należący do sieci mogą przeglądać zasoby
internetowe, łączyć się z komputerami należącymi do innych sieci
publicznych, a nawet pobierać pliki, lecz kontakt z zewnątrz z
wewnętrznymi hostami za pomocą ich adresów IP jest niemożliwy.
NAT — Network Address Translation
Istnieją dwie formy mechanizmu NAT:
¾statyczny,
¾dynamiczny.
Dynamiczny NAT posiada również dwa typy:
¾przeciążony (overloaded),
¾nakładany (overlapped).
NAT — Network Address Translation
Statyczny NAT — nie zarejestrowane adresy IP są kojarzone z
zarejestrowanymi jeden do jednego. Na przykład, adres 160.111.7.8
będzie zawsze tłumaczony na 192.1.1.5. Ta forma jest stosowana,
gdy trzeba łączyć się z wewnętrznym hostem spoza danej sieci.
NAT — Network Address Translation
Dynamiczny NAT — nie zarejestrowany adres IP może zostać
odwzorowany na dowolny pierwszy dostępny adres z bloku
zarejestrowanych adresów IP. Na przykład, 160.111.7.8 będzie
tłumaczony na pierwszy dostępny adres z zakresu od 192.1.1.1 do
192.1.1.120. Ta forma NAT jest stosowana, gdy wewnętrzny host
musi mieć dostęp do zewnętrznego.
NAT — Network Address Translation
Przeciążony NAT dynamiczny — wiele nie zarejestrowanych
adresów IP odwzorowuje się na pojedynczy zarejestrowany adres IP
za pomocą różnych portów. Na przykład, adres 160.111.7.8 będzie
tłumaczony na 192.1.1.5:209, zaś 160.111.7.10 na 192.1.1.5:210.
Przeciążony NAT dynamiczny nazywany jest również tłumaczeniem adresów
portów (PAT — Port Address Translation), NAT multipleksowanym na poziomie
portów (port-level multiplexed NAT) oraz NAT jednoadresowym (single address
NAT).
NAT — Network Address Translation
Nakładany NAT dynamiczny — jeśli w prywatnej sieci używany
jest blok adresów IP legalnie zarejestrowanych dla innej sieci, rutery
NAT muszą przechwycić je i zastąpić zarejestrowanymi adresami
unikatowymi. W przeciwnym razie pakiety danych mogłyby zostać
utracone z powodu obecności w Internecie dwóch hostów o
identycznym adresie IP.
Załóżmy na przykład, że sieć prywatna używa bloku adresów
162.111.xxx.xxx. Ten sam blok został jednak przydzielony przez
internetową agencję rejestrującą innej sieci. Aby uniknąć
możliwości kolizji adresów, ruter NAT powinien przetłumaczyć nie
zarejestrowany adres IP na zarejestrowany, gdy wewnętrzny host
będzie musiał komunikować się z hostem należącym do innej sieci.
Analogicznie, ruter NAT musi przetłumaczyć też zarejestrowane
globalnie adresy IP na nie zarejestrowane adresy IP używane w sieci
prywatnej, gdy zewnętrzny host wyśle informacje do wewnętrznego.
NAT — Network Address Translation
Nakładany NAT dynamiczny
NAT — Network Address Translation
Korzyści wynikające ze stosowania NAT
¾ upraszcza zadania związane z zarządzaniem adresami IP,
¾ zmniejsza nakłady pracy administratorów,
¾ NAT może posłużyć do podziału dużej sieci na wiele mniejszych. Komputery można
dodawać, usuwać i zmieniać im adresy bez wpływu na inne jednostki.
¾ NAT jest zadaniem ruterów, wobec czego jedynie rutery w punktach wyjściowych sieci
wymagają modyfikacji.
¾ NAT może obsługiwać protokół DHCP, który pozwala na automatyczną aktualizację
informacji związanych z TCP/IP we wszystkich komputerach. Dzięki temu
administrator nie musi modyfikować ręcznie wspomnianych informacji w każdym
komputerze w sieci.
¾ NAT pozwala administratorom zabraniać dostępu do lokalizacji potencjalnie
niebezpiecznych lub zawierających wątpliwe treści.
¾ NAT udostępnia funkcjonalność rejestrowania ruchu, co pomaga administratorom w
wyszukiwaniu użytkowników, lokacji i połączeń sieciowych powodujących problemy.
¾ NAT przeważnie nie wykorzystuje stosu protokołów komputera, wobec czego jest mniej
podatny na ataki przez protokoły niskiego poziomu,
¾ NAT obsługuje filtrowanie i trasowanie na poziomie pakietów, zapewniając
wysoki poziom bezpieczeństwa hostów wewnętrznych.
NAT — Network Address Translation
Wady NAT
¾ W przypadku globalnych sieci dużych przedsiębiorstw korzystanie z NAT nie jest
zalecane, ponieważ duża liczba hostów może chcieć komunikować się ze sobą, co
zwiększa rozmiary tablic translacji.
¾ Pakiety danych aplikacji zawierające adresy IP nie będą działać z NAT, o ile NAT nie
będzie rozpoznawać takich przypadków i posiadać odpowiedniego mechanizmu
dokonującego odpowiednich translacji.
¾ Wprawdzie NAT obsługuje szyfrowanie na poziomie aplikacji, lecz nie wspiera
szyfrowania sumy kontrolnej nagłówka, co zmniejsza liczbę dostępnych opcji
zabezpieczeń.
¾ NAT może utrudnić wykrycie naruszenia bezpieczeństwa. Na przykład, jeśli wewnętrzny
lub zewnętrzny host zaatakuje innego hosta lub wyśle dużą liczbę bezwartościowych
informacji, namierzenie źródła kłopotów może być trudne, ponieważ adres IP hosta jest
ukryty.
Serwer Proxy
Serwer proxy pełni funkcję bramy pomiędzy siecią prywatną i
sieciami publicznymi, włącznie z Internetem. Brama (gateway) jest
programem (aplikacją) lub komputerem z uruchomionym
specjalnym oprogramowaniem, który gra rolę bariery pomiędzy
dwiema sieciami, a jednocześnie umożliwia komunikację pomiędzy
nimi.
Serwer proxy jest aplikacją sieciową, skonfigurowaną tak, by
działała w imieniu wyznaczonej sieci. Gdy aplikacja uruchomiona w
wewnętrznym hoście wysyła żądanie danych na zewnątrz sieci,
serwer proxy przechwytuje żądanie, tłumaczy je i przesyła do sieci
docelowej. Gdy zewnętrzny host musi połączyć się z hostem
wewnętrznym, serwer proxy ponownie przechwytuje żądanie,
sprawdza czy zawarte w nim dane są bezpieczne, a następnie
przekazuje pakiet danych do docelowego hosta wewnętrznego.
Serwer Proxy
Serwer proxy dodatkowo utrzymuje pamięć podręczną
najnowszych żądań.
Gdy host — zewnętrzny lub wewnętrzny — żąda informacji, które
były ostatnio pobierane, serwer proxy spełnia żądanie korzystając z
pamięci podręcznej, zamiast ponawiać żądanie wysyłane do hosta
docelowego. Chroni to dodatkowo sieć i przyspiesza transakcje.
Serwer Proxy
Zalety
¾ Konfigurując hosty wewnętrzne do korzystania z serwera proxy,
możemy dostarczyć aplikacje internetowe do wszystkich
komputerów w sieci.
¾ Wykorzystanie pamięci podręcznej serwera proxy może znacząco
poprawić wydajność i bezpieczeństwo sieci prywatnej.
¾ Konfigurując w serwerze proxy dla wewnętrznych użytkowników
zezwolenia i odmowy dostępu do zasobów na zewnątrz, porty lub
domeny, możemy zapewnić wewnętrznym użytkownikom
bezpieczeństwo dostępu. „Niebezpieczne” lokalizacje i witryny
WWW możemy z łatwością zablokować.
Wady
¾ nieprzezroczystość dla użytkowników,
¾ konieczność konfigurowania wszystkich wewnętrznych hostów,
¾ zwiększenie nakładów pracy na administrowanie.
Dziękuję za uwagę!!!