Zapory ogniowe Nietrudno się domyślić, że jednym z

Transkrypt

Zapory ogniowe Nietrudno się domyślić, że jednym z
Zapory ogniowe
Nietrudno się domyślić, że jednym z najtrudniejszych zadań wykonywanych przez administratora
podczas budowania sieci jest zapewnienie jej bezpieczeństwa. Podstawą bezpieczeństwa sieci
komputerowej przyłączonej do Internetu powinno być zabezpieczenie typu zapora ogniowa.
Zabezpieczenie to oddziela chronioną sieć komputerową od systemów nie chronionych, a często
również chroniony fragment sieci od innych jej części.
Różne rodzaje zabezpieczeń
Twórcy Internetu zaprojektowali go tak, aby był odporny na awarie typu odłączenie elementów,
uszkodzenie okablowania i wahania zasilania. Niestety w obecnych czasach Internet wymaga
dodatkowych zabezpieczeń chroniących zasoby prywatne i nadzorujących sieci przedsiębiorstw. Są na
szczęście dostępne przeróżne systemy sprzętowe i programowe pomagające ochronić sieć. Jednym z
najskuteczniejszych sposobów fizycznego zabezpieczenia sieci przed wtargnięciem do niej osób
niepowołanych jest zastosowanie sprzętu przeznaczonego do ochrony sieci komputerowych.
Komputery-bastiony
W literaturze opisującej zapory ogniowe można się natknąć na termin komputer-bastion (ang. bastion
host). Nazwa pochodzi od średniowiecznego terminu określającego mury obronne. Bastion to
ufortyfikowane miejsce służące do odpierania ataków. Komputer-bastion jest więc komputerem
wyposażonym w specjalne zabezpieczenia chroniące przed atakami dokonywanymi z sieci.
Projektanci sieci umieszczają taki komputer w pierwszej linii obrony sieci. Jest on sitem, przez które
przechodzą wszystkie informacje do sieci lokalnej i na zewnątrz. Dzięki scentralizowaniu dróg
dostępu w jednym komputerze można łatwo zarządzać systemem ochrony sieci i konfigurować
odpowiednie aplikacje dla tego pojedynczego komputera.
Większość środowisk systemu UNIX, w tym Linux, doskonale się sprawdza jako system taniego
komputera-bastionu. Rozwiązania takie wymagają jedynie kupienia stacji roboczej lub serwera (może
to być niedrogi komputer z procesorem 486 firmy Intel), ponieważ system UNIX umożliwia
korzystanie z zapory ogniowej i jej konfigurowanie. Dzięki temu nie jest potrzebny ruter spełniający
funkcję zapory ogniowej (którego cena może przekraczać 18 tyś. dolarów), a ponadto można
korzystać z mechanizmów środowiska UNIX podczas konfigurowania ruchu IP i monitorowania jego
natężenia.
Ochrona sieci przed włamaniami z zewnątrz
Większość firm nadaje swoim pracownikom prawa dostępu do Internetu na długo przed zapewnieniem
im dostępu do intranetu. Wymiana danych z Internetem powinna się odbywać przez zaporę ogniową.
Zabezpieczenie takie jest zbiorem urządzeń i programów, które łączą dwie lub więcej sieci, a
jednocześnie są centralnym punktem zarządzania systemem zabezpieczeń. Zapora ogniowa składa się
zazwyczaj z komputera-bastionu. Jak widać na rysunku 1, komputerem-bastionem może być każdy
komputer już używany. Czasami nawet pełni on funkcję serwera.
Rys.1. Każdy komputer typu PC może pełnić funkcje komputera-bastionu
Do tradycyjnej sprzętowo-programowej zapory ogniowej można dodać kolejne urządzenie, zwane
ruterem, które podnosi poziom bezpieczeństwa. Służy ono do oddzielania pakietów danych według
kryterium zdefiniowanego przez użytkownika. Ruter może być zaimplementowany za pomocą
dowolnego komputera typu PC lub UNIX-owego. Na rysunku 2 przedstawiono sposób, w jaki ruter
przepuszcza niektóre pakiety, a zatrzymuje inne.
Rys.2. Ruter jest urządzeniem filtrującym pakiety
Dzięki odpowiedniemu skonfigurowaniu zapory ogniowej za pomocą kombinacji komputerówbastionów i ruterów można uzyskać dobrą ochronę przed atakami użytkowników Internetu. Ponadto
właściwe skonfigurowanie zapory ogniowej wewnątrz firmy zapewnia wysoki poziom bezpieczeństwa
poszczególnym jej oddziałom.
Ochrona sieci przed włamaniami od wewnątrz
Oprócz ochrony sieci lokalnej przed użytkownikami Internetu, należy także zapewnić ochronę
poszczególnych działów w ramach jednej firmy. Należy przyjąć zasadę, że trzeba chronić ważne dane
należące do konkretnego działu firmy przed każdym rodzajem ataku, zarówno z Internetu, jak i z
innego działu tego samego przedsiębiorstwa. W większości wypadków skupia się większą uwagę na
zabezpieczeniu sieci przed złośliwymi atakami z zewnątrz, a nie od wewnątrz. Najlepszym
rozwiązaniem jest jednak przydzielanie prawa dostępu do konkretnych informacji wyłącznie tym
użytkownikom, którzy muszą je znać. Pozostali pracownicy nie powinni mieć dostępu do takich
danych.
Rys.3. Zastosowanie komputera z wieloma kartami sieciowymi do ochrony kilku sieci lokalnych
Bez względu na wewnętrzny system bezpieczeństwa, zapora ogniowa zapewni wymagany stopień
ochrony. Ponadto zapora ogniowa (lub zapory ogniowe) zabezpieczająca sieć lokalną przed dostępem
użytkowników Internetu jest podobna do tej chroniącej dokumenty należące do konkretnego działu.
Na rysunku 3 pokazałem przykładową nieskomplikowaną konfigurację sieci, w której zastosowano
jeden komputer główny z trzema kartami sieciowymi, aby chronić trzy działy przed wzajemnym
dostępem.
Wprowadzenie do architektury zapór ogniowych
Ruter ekranujący stanowi pierwszą linię ochrony sieci przed atakami z Internetu lub innych sieci
lokalnych. Filtruje on pakiety w warstwie sieciowej i w warstwie łącza danych, niezależnie od
warstwy aplikacji. Dzięki temu rutery kontrolują dane przesyłane w sieci nie wymagając
wprowadzania zmian do żadnej z aplikacji typu klient czy serwer. Pokazałem to na rysunku 4
Rys..4. Rutery ekranujące umożliwiają kontrolowanie danych przesyłanych w sieci nie wymagając modyfikowania
aplikacji typu klient ani serwer
Mimo że rutery są wygodne w obsłudze i stosunkowo niedrogie, nie są wydajnymi zabezpieczeniami.
Cecha, dzięki której są to urządzenia nieskomplikowane w obsłudze — praca wyłącznie w warstwach
sieciowej i transportowej modelu ISO/OSI — sprawia, że ich możliwości są niewystarczające. Aby w
pełni zabezpieczyć sieć przed atakami z zewnątrz, należy na wszystkich warstwach protokołu TCP/IP
zastosować zabezpieczenie typu zapora ogniowa. W dalszej części tego rozdziału opisano różne
rodzaje zapór ogniowych ochraniających poszczególne warstwy.
Ruter filtruje dane na podstawie nieodpowiednich informacji. Jest to główne ograniczenie tego typu
urządzeń. Pracują one w warstwach sieciowej i łącza danych, co zapewnia im dostęp tylko do adresów
IP, numerów portów oraz znaczników TCP. Rutery nie mając dostępu do informacji o kontekście
konkretnego pakietu nie mogą podołać zadaniu filtrowania danych przesyłanych za pomocą protokołu
UDP (User Datagram Protocol). Ponadto praca administratorów korzystających z ruterów jest
utrudniona, gdyż większość narzędzi służących do filtrowania pakietów, w tym także rutery, nie ma
żadnych mechanizmów kontrolnych ani ostrzegawczych. Ruter może więc odeprzeć wiele ataków nie
informując o tym administratora sieci. Obok urządzeń filtrujących pakiety należy więc stosować
zabezpieczenia typu zapora ogniowa. Zilustrowałem to na rysunku 5.
Rys.5. Zapory ogniowe wspomagają rutery i inne technologie filtrowania pakietów
Filtry zapór ogniowych działają w wyższych warstwach modelu ISO/OSI, dzięki czemu mogą
filtrować dane na podstawie informacji dostępnych w warstwie aplikacji. Zapory ogniowe działają
równocześnie w warstwach sieciowej i transportowej, badając nagłówki IP i TCP przesyłanych
pakietów. Umożliwia to przepuszczanie lub zatrzymywanie pakietów na podstawie wcześniej
zdefiniowanych zasad filtrowania.
Zapory ogniowe
Jak już wspomniałem, zapora ogniowa kontroluje drogi dostępu między dwiema sieciami. Zazwyczaj
instaluje się ją pomiędzy siecią lokalną a Internetem po to, aby ochronić swoją prywatną sieć przed
dostępem z całego świata. Nic można myśleć o zaporze ogniowej jak o pojedynczym urządzeniu czy
aplikacji wykonującej jakąś funkcję, choć sprzedawcy usiłują czasem swoim klientom wmówić taki
pogląd. Zapora ogniowa jest wszechstronnym systemem, który zapewnia maksymalną ochronę sieci, a
zarazem wnosi tylko minimalne niewygody dla użytkowników dysponujących odpowiednimi
uprawnieniami.
Najbezpieczniejszą zaporą ogniową jest odłączenie prywatnej sieci od Internetu. Przesyłanie
informacji między sieciami wymaga fizycznego ich połączenia. Jeśli nie istnieje połączenie między
siecią a Internetem, to jego użytkownicy nic mają dostępu do danych w sieci lokalnej. Jeśli
przedsiębiorstwo korzysta z wewnętrznej sieci komputerowej obsługującej bazę danych i nie
przewiduje udostępniania danych na zewnątrz firmy, to można fizycznie odizolować taką sieć od
reszty świata.
Izolowanie sieci
Najlepszą metodą uniemożliwienia osobom postronnym dostępu do swojej sieci lokalnej jest fizyczne
odizolowanie jej od Internetu. W najprostszym ujęciu sieci komputerowe są połączone za pomocą
kabli. Aby odizolować swoją sieć, trzeba się upewnić, że jej kable nie łączą się z kablami Internetu.
Dzięki połączeniu dwóch wiązek kabli —jednej od sieci lokalnej, a drugiej od Internetu — można
zapewnić użytkownikom dostęp zarówno do sieci wewnętrznych, jak i zewnętrznych. Na rysunku 6
przedstawiłem sieć, w której zastosowano serwer (komputer-bastion) wyposażony w dwie oddzielne
karty sieciowe. Każda z nich jest podłączona do komputera przez inny port, co pozwala na
odizolowanie ich od siebie. Użytkownik może programowo uaktywnić jedną z kart uzyskując dostęp
do Internetu lub sieci lokalnej. Nie jest możliwe uzyskanie dostępu do obydwu sieci równocześnie.
Rys.6. Zastosowanie dwóch kart sieciowych do pracy z różnymi sieciami
Jedną z zalet konfiguracji przedstawionej na rysunku 6 jest ochrona całej sieci lokalnej przed
użytkownikami Internetu. Komputer główny zapewnia jednak użytkownikom sieci lokalnej dostęp do
Internetu.
Rozwiązanie zaprezentowane na rysunku 6 wymaga wyposażenia wszystkich komputerów, które mają
mieć dostęp do Internetu, w dodatkowe karty sieciowe. Konfiguracja ta staje się coraz droższa, w
miarę jak rośnie liczba użytkowników chcących dysponować dostępem do Internetu. W sytuacji, w
której wielu użytkowników sieci musi korzystać z Internetu, jest więc korzystniej stosować
zabezpieczenie typu zapora ogniowa komputer-bastion.
Obszary ryzyka
Implementowanie zabezpieczenia typu zapora ogniowa jest skomplikowanym zadaniem polegającym
na zapewnieniu wysokiego poziomu bezpieczeństwa sieci bez ograniczania jej funkcjonalności.
Zapora ogniowa musi umożliwiać autoryzowanym użytkownikom korzystanie z zasobów sieci
lokalnej i Internetu bez przeszkód. Musi ona jednak zatrzymywać nieznanych użytkowników,
pozwalając im na korzystanie z niewielkiej części zasobów sieciowych.
Większość projektantów zabezpieczeń typu zapora ogniowa nazywa tę część obszarem ryzyka. W
obszarze tym znajdują się informacje i systemy będące częścią chronionej sieci, do których haker
może uzyskać dostęp podczas ataku. Jeśli na przykład sieć jest przyłączona do Internetu bez
pośrednictwa rutera, to jest ona w całości obszarem ryzyka.
Wszystkie komputery główne znajdujące się w nie chronionej części sieci są narażone na atak
hakerów. Nie można uważać za poufne danych znajdujących się w którymkolwiek pliku lub systemie
w tej części sieci. Poprawnie zaprojektowana zapora ogniowa ogranicza obszar ryzyka do samej siebie
lub do niewielkiej liczby komputerów głównych w sieci. Na rysunku 7 przedstawiłem obszar ryzyka
sieci nie chronionej.
Rys.7. Obszar ryzyka sieci nie chronionej
Obszar ryzyka stanie się, rzecz jasna, większy, jeśli haker pokona zaporę ogniową. W takim wypadku
może on się posłużyć tym zabezpieczeniem podczas dalszych ataków na sieć. Punkt, w którym
pokonano zaporę, stanie się bazą, z której włamywacz będzie atakował kolejne serwery sieci.
Zabezpieczenie typu zapora ogniowa ogranicza możliwości hakerów i znacznie zwiększa
prawdopodobieństwo ich wykrycia lub ujęcia. Intruzi przedostający się do systemu przez zaporę
ogniową muszą pozostawić ślady swojej obecności, które ułatwią administratorowi systemu wykrycie
włamania. Każde wykryte włamanie do systemu dostarcza jego administratorowi informacji, jak
usunąć kolejny słaby punkt w zabezpieczeniach sieci.
Dobrze zaprojektowane zabezpieczenie typu zapora ogniowa będzie okresowo tworzyć raporty na
temat rodzaju przepuszczonych i zatrzymanych danych, a także liczby zatrzymanych pakietów.
Ostatnia informacja ułatwia administratorowi określenie liczby prób pokonania zapory. Jak już
napisałem, najlepszym zabezpieczeniem przed atakiem jest zachowanie czujności.
Ograniczenia zapór ogniowych
Nawet mimo braku połączenia z Internetem jest możliwy nieautoryzowany dostęp do firmy. Źródłem
zagrożenia może być na przykład poczta przedsiębiorstwa (tradycyjne usługi pocztowe) lub osobista
poczta jego pracowników. Jest to zagrożenie, z którego mało kto zdaje sobie sprawę. Istnieje jednak
możliwość, że ktoś nielegalnie uzyska dostęp do listów (na przykład listonosz doręczy je pod
niewłaściwy adres). Poufność informacji jest zagrożona niezależnie od tego, czy zapisano je w sieci
lokalnej czy na nośniku fizycznym (takim jak papier).
Kolejnym przykładem są niezadowoleni pracownicy, którzy mogą stanowić poważne źródło
zagrożenia. Tacy pracownicy mogą przekazać na zewnątrz wszystko, poczynając od kodów
źródłowych, a kończąc na planach strategicznych firmy. Ponadto zwyczajowe rozmowy o interesach
prowadzone w restauracji lub innych miejscach publicznych, które zostaną podsłuchane, stanowią
zagrożenie dla bezpieczeństwa firmy. Podsumowując, zjawisko ochrony informacji należących do
firmy jest już znane. Oczywiście zapora ogniowa nie rozwiąże tych konkretnych problemów, jednak
firma ma już pewien system bezpieczeństwa, a zaporę ogniową można do niego dołączyć.
Wiele firm tworzy kosztowne i rozbudowane zapory ogniowe mające chronić dane przed atakiem z
Internetu. Niestety część z nich nie opracowała spójnego systemu zabezpieczającego dane przed
kradzieżą lub zniszczeniem spowodowanym uzyskaniem bezpośredniego połączenia ze swoimi
sieciami. Takie połączenie ostrożności i nierozwagi można porównać do instalowania solidnych,
stalowych drzwi w drewnianym domu. Zapora ogniowa po prostu nie może ochronić danych przed
kradzieżą dokonaną z wnętrza sieci przedsiębiorstwa. Zabezpieczenie to nie powstrzyma
autoryzowanego użytkownika lub kogoś dysponującego imieniem i hasłem osoby upoważnionej.
Jak widać, zapory ogniowe mają wiele ograniczeń. Nie spełniają one poniższych wymagań.
Zapewnienie integralności danych — mimo że prawie wszystkie zabezpieczenia typu zapora
ogniowa nowej generacji zawierają oprogramowanie chroniące przed wirusami przesyłanymi
wraz z pakietami, nie gwarantuje to pełnego bezpieczeństwa. W wielkich sieciach
charakteryzujących się dużą liczbą odbieranych i wysyłanych pakietów nie można wymagać
od zapory ogniowej szukania w nich (a także we wszystkich plikach binarnych związanych z
każdym pakietem) ponad tysiąca znanych wirusów. Takie zadanie znacznie spowolniłoby
działanie sieci. Należy więc ograniczyć liczbę ośrodków, do których docierają pliki, a po ich
odebraniu badać je za pomocą oprogramowania antywirusowego na komputerach nic
podłączonych do sieci. Po sprawdzeniu plików można je przesłać do odpowiednich stanowisk
w sieci. Wirusy komputerowe stanowią poważne zagrożenie dla bezpieczeństwa sieci, a ich
liczba znacznie wzrosła w ostatnich latach.
Ochrona przed katastrofami — zapory ogniowe nie uchronią danych przed katastrofami.
Należy pamiętać, że zabezpieczenie typu zapora ogniowa kontroluje elektroniczny dostęp do
danych, ale nie zabezpiecza ich przed fizycznym zniszczeniem lub uszkodzeniem.
Autoryzowanie źródeł danych — zapora ogniowa nie ułatwia autoryzowania źródeł danych.
Nie może ona usunąć jednej z najpoważniejszych słabości protokołu TCP/IP — możliwości
podszycia się pod dowolną osobę podczas pracy na nieautoryzowanym komputerze.
Zabezpieczenie to nie uchroni sieci przed tego typu działaniami.
Poufność danych — zapora ogniowa nie zapewni poufności danych znajdujących się w sieci
wewnętrznej. Większość nowszych rozwiązań oferuje narzędzia przeznaczone do szyfrowania
wysyłanych pakietów. Zastosowanie tych mechanizmów wymaga od odbiorcy takich danych
korzystania z tej samej wersji zapory ogniowej, z której korzysta nadawca, a nie jest to
sytuacja częsta.
Projektowanie własnej zapory ogniowej
Potrzeba zainstalowania zapory ogniowej pojawia się w momencie dołączania sieci lokalnej do reszty
świata, czyli do Internetu. Po oszacowaniu typów połączeń między siecią lokalną a Internetem można
opracować konkretny projekt zapory ogniowej. Należy między innymi zadać sobie poniższe pytania.
1. Czy użytkownicy Internetu będą wysyłać pliki do serwera firmy?
2. Czy użytkownicy Internetu będą pobierać pliki z serwera firmy?
3. Czy istnieje wyszczególniona grupa osób (na przykład konkurencja), która nie będzie miała
żadnych praw dostępu?
4. Czy firma będzie publikować stronę WWW?
5. Czy system będzie zapewniał użytkownikom Internetu usługę Telnet?
6. Czy pracownicy firmy powinni mieć nieograniczony dostęp do Internetu i do sieci WWW?
7. Czy istnieje osobny zespół zajmujący się monitorowaniem pracy zapory ogniowej?
8. Jaki jest najbardziej pesymistyczny scenariusz na wypadek wtargnięcia do systemu?
Trzy typy zapór ogniowych
Rys.9. Zastosowanie mechanizmu szyfrowania oferowanego przez niektóre zapory ogniowe
Istnieją trzy typy zapór ogniowych spełniające różnorodne wymagania użytkowników. Są to systemy
działające na poziomie sieci, na poziomie aplikacji oraz na poziomie transmisji. W każdym z nich
zastosowano inne podejście do ochrony sieci. Po określeniu wymagań stawianych zaporze ogniowej,
sformułowanych w poprzednim punkcie, należy ostrożnie rozważyć każdy jej typ. Określenie swoich
potrzeb dotyczących ochrony pozwoli na lepsze zaprojektowanie zapory ogniowej.
Trzeba pamiętać, że większość zapór ogniowych korzysta z jednego lub kilku poziomów szyfrowania.
Zaszyfrowanie wszelkich danych wysyłanych na zewnątrz sieci lokalnej chroni ją przed atakiem.
Wiele zapór ogniowych stosujących mechanizm szyfrowania będzie chroniło przesyłane dane
szyfrując je automatycznie przed wysłaniem do Internetu. Proces odwrotny jest analogiczny:
zaszyfrowane dane przychodzą z Internetu i — zanim dotrą do sieci lokalnej — są deszyfrowane w
zaporze ogniowej. Dzięki szyfrowaniu danych w zaporze ogniowej można skorzystać z Internetu do
połączenia rozproszonych sieci lokalnych lub umożliwienia pracy użytkownikom, którzy uzyskują
dostęp do sieci za jego pośrednictwem. Szyfrowanie uniemożliwia przechwytywanie i odczytywanie
przesyłanych danych. Na rysunku 9 przedstawiłem proces szyfrowania.
Zapory ogniowe na poziomie sieci
Zapora ogniowa na poziomie sieci to zazwyczaj ruter lub specjalny komputer, który kontroluje adresy
pakietów i decyduje o tym, czy przepuścić pakiet do sieci lokalnej czy go zatrzymać. Jak
wspomniałem, pakiety zawierają adresy IP nadawcy i odbiorcy oraz wiele innych informacji o sobie.
Można na przykład skonfigurować ruter lub zaporę ogniową na poziomie sieci tak, aby blokowała
wszystkie wiadomości pochodzące od określonej firmy konkurencyjnej oraz do niej wysyłane.
Zazwyczaj blokowania pakietów dokonuje się za pomocą pliku zawierającego adresy IP określonych
ośrodków. Ruter będzie wtedy blokował wszystkie pakiety pochodzące z tych ośrodków lub
zmierzające do nich. W momencie, gdy odnajduje on pakiet zawierający zastrzeżony adres IP,
zatrzymuje go uniemożliwiając mu przedostanie się do sieci lokalnej. Blokowanie w ten sposób
określonych ośrodków jest czasem nazywane czarną listą. Zazwyczaj oprogramowanie rutera pozwala
na zablokowanie całego ośrodka, a nie pojedynczego użytkownika.
Należy pamiętać, że pakiet przybywający do intranetu może zawierać wiadomość poczty
elektronicznej, żądanie usługi HTTP (dostęp do strony WWW), plik FTP (funkcje wysyłania i
przyjmowania plików) lub nawet żądanie usługi Telnet dotyczące załogowania (zdalny dostęp do
komputera), Ruter pracujący na poziomie sieci rozpoznaje i wykonuje operacje określone osobno dla
każdego rodzaju żądania. Można na przykład zaprogramować ruter tak, aby użytkownicy Internetu
mogli oglądać strony WWW znajdujące się w intranecie, ale nie mogli korzystać z usługi FTP do
pobierania plików z serwera lub wysyłania ich do niego. Zazwyczaj można określić, które z informacji
dołączonych do pakietu będą kontrolowane przez ruter przed dokonaniem decyzji o odesłaniu pakietu.
Informacje zawarte w pakiecie to:
adres źródłowy — skąd pochodzą dane;
adres docelowy — dokąd podążają dane;
protokół sesji, taki jak TCP, UDP lub ICMP;
źródłowy i docelowy port aplikacji dla żądanej usługi;
informacja o tym, czy pakiet jest początkiem żądania połączenia.
Poprawnie zainstalowana i skonfigurowana zapora ogniowa będzie działała bardzo szybko i będzie
niewidoczna dla użytkowników (jeśli nie będą próbować wykonywać niedozwolonych operacji).
Oczywiście w wypadku użytkowników z zastrzeżonych ośrodków ruter zaalarmuje zaporę ogniową i
uniemożliwi wtargnięcie niepożądanym gościom.
Zapora ogniowa na poziomie aplikacji
Funkcje zapory ogniowej na poziomie aplikacji pełni zazwyczaj komputer główny z uruchomionym
programem zwanym oprogramowaniem serwera proxy. Serwery proxy komunikują się w imieniu
użytkowników sieci z serwerami na zewnątrz tej sieci, czyli kontrolują wymianę danych między
dwiema sieciami. W pewnych wypadkach serwer proxy zarządza wszystkimi danymi przesyłanymi
między niektórymi użytkownikami a usługą (usługami) sieciową. Komputery przyłączone do Internetu
będą postrzegały użytkownika, który uzyskał dostęp do serwera proxy, jako ten serwer (adresem
użytkownika będzie adres TCP serwera proxy). W sieci lokalnej serwer może zapewnić dostęp do
chronionych aplikacji (takich jak baza danych z poufnymi informacjami) bez konieczności przesyłania
nie zaszyfrowanego hasła klienta.
Takiej zapory ogniowej używa się wtedy, gdy sieć lokalna nie jest fizycznie połączona z Internetem.
Dane transmitowane w jednej sieci nigdy się nie stykają z danymi drugiej sieci, ponieważ
okablowanie tych sieci nie jest połączone. Rolą serwera proxy jest transmitowanie odizolowanych
kopii pakietów z jednej sieci do drugiej. Ten typ zapory ogniowej skutecznie maskuje źródło
połączenia i chroni sieć lokalną przed dostępem użytkowników Internetu, którzy mogą usiłować
zdobyć o niej informacje.
Ponieważ serwery proxy obsługują protokoły transmisji stosowane w sieci, można je skonfigurować
tak, aby udostępniały w sieci lokalnej tylko niektóre usługi. Można na przykład zadecydować, że
serwer będzie umożliwiał przyjmowanie plików FTP, ale nie pozwoli na wysyłanie takich plików.
Serwery proxy obsługują wiele różnorodnych usług, takich jak dostęp do HTTP, Telnet, FTP czy
Gopher. Należy zainstalować oddzielny serwer proxy dla wszystkich oferowanych usług — inaczej
niż w wypadku stosowania rutera. Dwa popularne serwery proxy to TIS Internet Firewall Toolkit oraz
SOCKS. W wypadku korzystania z serwera współpracującego z systemem Windows NT można
skorzystać z rozwiązania Internet Information Server Firmy Microsoft lub Commerce Server firmy
Netscape. Obydwa te produkty współpracują z serwerem proxy.
Po zaimplementowaniu serwera proxy działającego na poziomie aplikacji użytkownik musi korzystać
z programów typu klient obsługujących funkcje proxy. Projektanci sieci opracowali wiele protokołów
TCP/IP (takich jak HTTP, FTP i inne) z myślą o serwerach proxy. Użytkownicy większości
przeglądarek sieciowych mogą z łatwością— modyfikując ustawienia programu — skonfigurować je
tak, aby używały serwera proxy. Niestety pozostałe protokoły nie są przygotowane do obsługiwania
usług proxy. W takich wypadkach należy się upewnić, czy aplikacje używane do łączenia się z
Internetem są zgodne z typowym protokołem proxy. Na przykład aplikacje współpracujące z
serwerem proxy SOCKS są dobrym rozwiązaniem w wypadku, gdy cała sieć opiera się na tym
serwerze. Po uruchomieniu zapory ogniowej działającej na poziomie aplikacji należy ustalić, czy
użytkownicy mają już oprogramowanie typu klient oferujące usługi proxy.
Zapory ogniowe na poziomie aplikacji umożliwiają kontrolowanie typu i objętości danych
napływających do sieci lokalnej. Zapory ogniowe na poziomie aplikacji fizycznie oddzielają sieć
lokalną od Internetu, dzięki czemu dobrze pełnią funkcje ochronne. Ponieważ jednak program musi
kontrolować pakiety i decydować o ich przepuszczaniu, takie zapory ogniowe zmniejszają wydajność
systemu. Ten typ zapory ogniowej działa wolniej niż zapora ogniowa na poziomie sieci. Jeśli więc jest
planowane użycie tego typu zabezpieczenia, to należy je umieścić w najszybszym komputerze.
Zapory ogniowe na poziomie transmisji
Zapory ogniowe działające na poziomie transmisji są podobne do systemów na poziomie aplikacji,
ponieważ w obydwu rozwiązaniach są stosowane serwery proxy. Różnica między nimi jest taka, że
systemy działające na poziomie transmisji nie wymagają specjalnych aplikacji typu klient
obsługujących protokoły proxy. Jak napisano w poprzednim paragrafie, systemy na poziomie aplikacji
wymagają takich aplikacji dla każdej usługi, takiej jak FTP, Telnet lub HTTP.
Dla odmiany, zapory ogniowe na poziomie transmisji tworzą obwód łączący komputer-klient z
serwerem i nie wymagają żadnej aplikacji do kontrolowania określonej usługi. Komputer-klient i
serwer komunikują się ze sobą przez zaporę ogniową na poziomie transmisji. Zapory ogniowe tego
typu rozpoczynają transmisję nie wpływając na wcześniej uruchomione procesy wymiany danych. Ich
zaletą jest możliwość obsługiwania wielu protokołów, których stosowanie w systemach działających
na poziomie aplikacji wymaga używania odpowiedniej aplikacji dla każdej usługi. Jeśli na przykład
zapora ogniowa na poziomie transmisji ma obsługiwać usługi HTTP, FTP lub Telnet, to nie trzeba w
tym celu wykonywać żadnych dodatkowych operacji ani wymieniać aplikacji- Można wciąż używać
dotychczasowego oprogramowania. Kolejną zaletą tych systemów jest to, że używa się w nich tylko
jednego serwera proxy. Jest łatwiej zarządzać, logować się i kontrolować pojedynczy serwer niż wiele
serwerów. Więcej informacji o zaporach ogniowych działających na poziomie transmisji można
znaleźć na stronie WWW pod adresem http://www8.zdnet.com/pcweek/reviews/1007/07firer.html.
Architektury zapór ogniowych
Po zainstalowaniu zapory ogniowej należy ustalić, jakie typy danych będą przepuszczane z Internetu
do sieci lokalnej lub z innych działów firmy do działu chronionego. Jak wspomniałem, można
zastosować ruter, który będzie blokował pakiety określonego typu. Można też uruchomić na już
istniejącym komputerze głównym któryś z serwerów proxy. Jak się okazuje, zapora ogniowa może się
składać z obydwu tych rozwiązań. Innymi słowy, stopień zabezpieczenia systemu można zwiększyć
przez połączenie rutera i serwera proxy w zaporze ogniowej.
Trzema najpopularniejszymi architekturami zapór ogniowych są: zapora ogniowa z dwiema kartami
(dual-homed host firewall), zapora ogniowa z ruterem ekranującym (screened-host firewall) i zapora
ogniowa z dwoma ruterami ekranującymi (screened-subnet firewall). W dwóch ostatnich systemach
stosuje się kombinację ruterów i serwerów proxy.
Zapory ogniowe z dwiema kartami
Zapora ogniowa z dwiema kartami jest prostym, lecz bardzo bezpiecznym rozwiązaniem, w którym
jeden komputer oddziela sieć lokalną od Internetu. W komputerze głównym są zainstalowane dwie
karty sieciowe, do których są podłączone obie sieci. Stosowanie zapory ogniowej z dwiema kartami
wyklucza używanie funkcji rozsyłania w komputerach. Uniemożliwia to programowe połączenie
dwóch sieci.
Wadą tego rozwiązania jest łatwość nieumyślnego włączenia wewnętrznych funkcji rozsyłania. Na
rysunku 10 przedstawiono przykładową konfigurację zapory ogniowej z dwiema kartami.
Rys. 10. Zapora ogniowa z dwiema kartami
Zapora ogniowa z dwiema kartami jest oparta na kilku serwerach proxy poziomu aplikacji lub na
serwerze proxy poziomu transmisji. Jak już wspomniałem, oprogramowanie serwerów proxy sprawuje
kontrolę nad przepływem pakietów z jednej sieci do drugiej. Ponieważ komputer główny jest
„podzielony" na dwie części (dołączony do dwóch sieci), zapora ogniowa umieszczona w tym
komputerze ma dostęp do pakietów obydwu sieci, dzięki czemu może kontrolować przepływ danych
między sieciami. Mogą to być dwie sieci lokalne lub sieć lokalna i Internet.
Jak już wiadomo, największą wadą tego zabezpieczenia jest konieczność wyłączenia wewnętrznych
funkcji rozsyłania. Jeśli wykonano tę operację, to dane są rozsyłane przez punkt kontrolny — warstwę
aplikacji (znajdującą się na szczycie stosu protokołów) — który jest jedyną drogą między siecią
lokalną i segmentami sieci. Segment sieci jest fragmentem sieci stanowiącym pewną całość. Można na
przykład podzielić sieć firmy na segment działu sprzedaży i segmentu działu badań, a następnie
oddzielić je od siebie za pomocą rutera lub zapory ogniowej.
Włączenie standardowych wewnętrznych funkcji rozsyłania w komputerze głównym sprawia, że
zapora ogniowa staje się bezużyteczna. Na przykład jeśli funkcja rozsyłania IP zostanie uaktywniona,
to można przesyłać dane omijając funkcje warstwy aplikacji zapory ogniowej z dwiema kartami. Na
rysunku 11 zilustrowałem niebezpieczeństwo stosowania takiego zabezpieczenia w sytuacji, gdy
włączono funkcje rozsyłania.
Sieci współpracujące z systemem UNIX są szczególnie narażone na zagrożenia stwarzane przez
zapory ogniowe z dwiema kartami. W niektórych wersjach tego systemu (zwłaszcza Berkeley UNIX)
funkcje rozsyłania są domyślnie włączone. Należy więc pamiętać, że w takich sieciach trzeba
sprawdzić, czy system wyłączył wszystkie funkcje rozsyłania w zaporze ogniowej z dwiema kartami.
Jeśli system nie wykonał tej operacji, to należy przekonfigurować jego jądro w zaporze ogniowej, tak
aby umożliwić wyłączenie funkcji rozsyłania.
Rys. 11. Dane omijają zaporę ogniową z dwiema kartami
Zapory ogniowe z ruterem ekranującym
Wielu projektantów sieci komputerowych uważa, że zapora ogniowa z ruterem ekranującym jest
bezpieczniejsza niż zapora ogniowa z dwiema kartami. Zapora ogniowa z ruterem ekranującym
wymaga dodania do sieci rutera i umieszczeniu komputera głównego z dala od Internetu (przerwania
bezpośredniego połączenia tego komputera z Internetem). Taka zapora ogniowa jest bardzo efektywna
i prosta w eksploatacji. Zabezpieczenie tego typu przedstawiono na rysunku 12
Rys. 12. Zapora ogniowa z ruterem ekranującym
Jak widać, ruter łączy sieć lokalną z Internetem i jednocześnie oddziela określone typy pakietów.
Można tak skonfigurować ruter, aby widział on tylko jeden komputer główny w sieci lokalnej.
Użytkownicy sieci, którzy mają dostęp do Internetu, muszą korzystać z pośrednictwa tego komputera.
Mają oni więc bezpośredni dostęp do Internetu, dostęp do sieci lokalnej z zewnątrz jest natomiast
ograniczany przez komputer główny.
Zapory ogniowe z dwoma ruterami ekranującymi
Zapora ogniowa z dwoma ruterami ekranującymi zapewnia dodatkową izolację sieci lokalnej od
Internetu. Wymaga ona zastosowania dwóch ruterów i serwera proxy. Serwer proxy znajduje się w
swojej własnej sieci, gdzie współpracuje tylko z dwoma ruterami. Jeden ruter kontroluje przepływ
danych w sieci lokalnej, a drugi kontroluje dane przychodzące z Internetu i wysyłane do niego.
System tego typu przedstawiłem na rysunku 13
Rys. 13. Zapora ogniowa z dwoma ruterami ekranującymi
Zapora ogniowa z dwoma ruterami ekranującymi zapewnia wyjątkowo skuteczną ochronę przed
atakami. Dzięki temu, że komputer główny jest odizolowany w oddzielnej sieci, uderzenie jest
ograniczone jedynie do niego, co dodatkowo minimalizuje możliwość wyrządzenia szkód w
chronionej sieci. Ponadto ruter w sieci lokalnej uniemożliwia uzyskanie nieautoryzowanego dostępu
do komputera głównego z wnętrza sieci.

Podobne dokumenty