Kraków, 5.01.2007
Zapora sieciowa
Damian Sobinek
Grupa 3
Spis treści:
Czym jest zapora sieciowa?
Typy zapór sieciowych.
Ataki jakim zapobiega zapora.
Konstrukcja zapory sieciowej.
Zapory sieciowe.
Czym jest zapora sieciowa?
Zapora sieciowa (ang. firewall - ściana ogniowa, często mylnie tłumaczone jako ściana ognia) - jeden ze sposobów zabezpieczania sieci i systemów przed intruzami. Termin ten może odnosić się zarówno do dedykowanego sprzętu komputerowego wraz ze specjalnym oprogramowaniem, jak i do samego oprogramowania blokującego niepowołany dostęp do komputera, na którego straży stoi.
Zapory sieciowe są zwykle stawiane na styku dwóch sieci komputerowych, np. Internetu i sieci lokalnej (LAN) (wtedy zapora pracuje często dodatkowo jako router), oraz na ważnych serwerach. Na zaporze można zdefiniować specjalna strefę DMZ - podsieć, która izoluje od wewnętrznej sieci lokalne serwery udostępniające usługi na zewnątrz.
Nazwa „firewall” pochodzi od kurtyny przeciwpożarowej stosowanej w teatrach, która w momencie wybuchu pożaru na scenie zostaje opuszczona, aby odizolować ogień od widowni. Firewall może skutecznie odizolować od świata zewnętrznego sieć lokalną; może działać na styku dwóch sieci (lub podsieci) chroniąc przed włamaniami typu „internet spoofing”. Trzeba jednak pamiętać, że firewall chroni sieć komputerową tylko przed atakami z zewnątrz i dla pełnego bezpieczeństwa informacji w takiej sieci potrzebny jest cały szereg przedsięwzięć chroniących przed utratą tajności, integralności bądź dostępności informacji na skutek działań wykonywanych wewnątrz sieci (np. przez uprawnionego lub podszywającego się pod takiego użytkownika.
Typy zapór sieciowych.
Typy zapór sieciowych:
filtrujące: monitorują przepływające przez nie pakiety sieciowe i przepuszczają tylko zgodne z regułami ustawionymi na danej zaporze (zapora pracująca dodatkowo jako router). Zwykle w niewielkich sieciach jest zapora sprzętowa bądź dedykowany komputer z systemem operacyjnym Linux. Obecnie najczęściej wykorzystywana metoda filtrowania w Linuksie to reguły oparte na iptables. Dostępne są także zamknięte komercyjne rozwiązania programowe, z których wiele posiada bardzo wymyślne własności i rozbudowany system konfiguracji oraz wachlarz możliwych do zintegrowania rozwiązań, pozwalających nie tylko na analizę i filtrowanie pakietów IP, ale także na sprawdzanie poprawności pakietów z punktu widzenia wyższych warstw modelu ISO/OSI a nawet na prowadzenia ochrony antywirusowej.
oprogramowanie komputerów stacjonarnych: udostępnia wybrane porty do połączeń "z zewnątrz" monitorując ruch, udostępnia także połączenia na zewnątrz komputera wybranym usługom/programom. Często zintegrowane z ochroną antywirusową (na przykład Norton Internet Security)
zapory pośredniczące (proxy): wykonujące połączenie w imieniu użytkownika (przykład: zamiast uruchomienia sesji ftp do systemu zdalnego uruchamiamy sesję ftp na naszej zaporze i dopiero stamtąd uruchamiany połączenie z systemem zdalnym. Zabezpieczające działanie proxy polega w tym wypadku na blokowaniu wszelkich pakietów niepoprawnych z punktu widzenia protokołu ftp, które przy bezpośrednim połączeniu mogłyby być może być obsłużone przez nasz lokalny system, oraz na udostępnieniu możliwości zarządzania i kontroli kto i kiedy oraz w jaki sposób korzysta z usługi FTP).
Współcześnie często pracująca zapora sieciowa jest hybrydowym rozwiązaniem analizującym pakiety w każdej warstwie od warstwy sieciowej, aż do warstwy aplikacji, oraz umożliwiającym realizację złożonych polityk bezpieczeństwa oraz integrację z systemami IDS.
Podział zapór ogniowych oraz ich specyfika:
Firewall to hardware'owe lub software'owe zabezpieczenie, które ma na celu zablokować wszelkie próby ataku z zewnątrz - z Internetu i z sieci lokalnej. Pierwszy typ zapór ogniowych wykorzystywany jest głównie w serwerowniach oraz wszędzie tam, gdzie bardzo istotne jest odpowiednie zabezpieczanie danych. Niestety, sprzętowe zapory ogniowe są kosztowne: za najtańszą (i w miarę dobrą) zapłacimy około 300 złotych; przeważnie sprzętowe zapory ogniowe sprzedawane jako integralna część routera; profesjonalne rozwiązania wiążą się nawet z wydatkiem rzędu kilku tysięcy złotych. Powszechnie stosowane są firewalle programowe. Ich sztuczność w blokowaniu nieautoryzowanego dostępu do domowego komputera jest wystarczająca. Niewątpliwą zaletą rozwiązań programowych jest również ich niska cena (ba, istnieją darmowe zapory ogniowe, których skuteczność dorównuje niejednemu płatnemu oprogramowaniu).
Ataki jakim zapobiega zapora sieciowa.
Ataki, którym zapobiec może zapora ogniowa:
Pingflood
Atak typu pingflood polega na „bombardowaniu” komputera pakietami ICMP o większej niż dozwolona wielkości (tzn. większej niż 65 536 B). Do ich wysyłania wykorzystywany jest program ping. W efekcie zaatakowany komputer (lub serwer) może zostać mocno obciążony lub nawet może samoczynnie uruchomić się ponownie.
Land
Skutki ataku typu land mogą być takie same, jak opisanego wyżej pingfloodu. Sam przebieg jest jednak inny. Agresor wysyła sfałszowany pakiet, w którym adres IP komputera-adresata jest taki sam, jak numer IP nadawcy. Zaatakowany komputer próbuje odpowiedzieć na otrzymaną informacje, jednak ponieważ sfałszowano adres nadawcy, łączy się on z samym sobą. Dochodzi w efekcie do zapętlenia czynności odbierania i odpowiadania na żądanie.
Smurf Attack
Do sieci kierowanych jest wiele pakietów protokołu ICMP, których adres zwrotny został zastąpiony adresem rozgłoszeniowym (tzw. broadcast; w niektórej literaturze nazywany jest adresem rozsiewczym). W wyniku tego wszystkie komputery znajdujące się w danej sieci zaczynają odpowiadać na otrzymaną informację. Atak wpływa na ilość generowanego, niepotrzebnego ruchu. Może również doprowadzić do zablokowania serwera.
Skanowanie portów
Ten typ ataku często zapowiada kolejne (na przykład próbę zainfekowania komputera koniem trojańskim lub robakiem). Cracker (lub napisany przez crackera skrypt) skanuje komputer w celu wykrycia wolnych portów, przez które możliwe będzie „wszczepienie” złośliwego kodu, lub aby zebrać nieco informacji na temat sposobu wykorzystania sieci (np. czy atakowany korzysta z programów typu peer to peer lub z poczty elektronicznej).
Konstrukcja zapory sieciowej.
Przy "stawianiu" zapory sieciowej istotne jest przeprowadzenie poniższych czynności:
Rozpoznanie topologii sieci oraz potrzeb w zakresie aplikacji i protokołów
Analiza zależności służbowych (kompetencje decyzyjne, dostęp do zasobów)
Stworzenie reguł dostępu do zasobów w oparciu o uprzednio określone potrzeby użytkowników oraz ich miejsce w strukturze decyzyjnej
Znalezienie odpowiedniej zapory dla naszych potrzeb
Właściwa instalacja i konfiguracja zapory
Drobiazgowe przetestowanie stosowanych reguł
Rozpoznanie topologii sieci oraz potrzeb w zakresie aplikacji i protokołów
To zagadnienie jest dużo trudniejsze niż mogłoby się wydawać, zależy ono od struktury i rozmiarów danej sieci. Jeśli administrujemy siecią jednorodną (co jednak zdarza się dość rzadko), zadanie jest proste - będziemy mieć do czynienia z jednym systemem operacyjnym i przypuszczalnie takim samym zestawem aplikacji obecnym na każdej ze stacji.
Większość sieci, to sieci heterogeniczne, co zmusza administratora do identyfikacji każdego systemu operacyjnego i wszystkich zestawów aplikacji używanych w sieci. To z kolei wymagać może konieczności korzystania z usług ekspertów w dziedzinie bezpieczeństwa poszczególnych aplikacji.
Analiza zależności służbowych
Ten krok może wymagać od administratora rozpoznania potrzeb i uzgodnienia działań z poszczególnymi działami firmy podłączonymi do sieci. Musimy uniknąć sytuacji, kiedy ze względu na fizyczną odległość między poszczególnymi segmentami sieci ruch wewnętrzny będzie się odbywał poprzez którąś z naszych bram programowych. Zatem przed dokonywaniem zmian w strukturze sieci należy dokładnie przeanalizować te zależności. Cały ten proces wymaga dużego taktu. Można spotkać się z użytkownikami lub menedżerami, którzy będą sprzeciwiać się zmianom (skoro od 10 lat sieć chodzi, to po co cokolwiek zmieniać?). Konieczna jest bliska współpraca z użytkownikami i uzasadnienie im konieczności przeprowadzenia zmian. Ostatnią rzeczą jaką byśmy sobie życzyli, to rzesza niezadowolonych lokalnych użytkowników - to od nich w przyszłości będzie zależeć bezpieczeństwo sieci, to nasi użytkownicy przestrzegając (lub nie) zasad korzystania z systemów będą mieli decydujący wpływ jej bezpieczeństwo. Jeśli staraliśmy się rzeczowo (i przystępnie) uzasadnić konieczność przedsięwzięcia odpowiednich środków - nie mamy się czego obawiać; jeśli zaś wprowadziliśmy drakońskie reguły korzystania z sieci bez słowa wyjaśnienia, możemy się spodziewać oporu materii ludzkiej na każdym możliwym kroku.
Zastosowanie i testowanie zapory sieciowej
Po zakupie zapory sieciowej powinniśmy przeprowadzić intensywne testy w dwóch fazach:
Testowanie zasad korzystania z sieci dla użytkowników zdalnych
Testowanie wewnętrznych reguł korzystania z sieci
Pierwsza faza może być przeprowadzona w dowolnym czasie - nawet gdy użytkownicy danej sieci są nieobecni (weekend, godziny wieczorno-nocne, etc.).
Druga faza jest bardziej skomplikowana. Należy się spodziewać wielu problemów, a nawet przejściowego zaniku funkcjonalności sieci (trzeba być przygotowanym na reakcję zdenerwowanych użytkowników). Jest wyjątkowo mało prawdopodobne, że fazę tę przejdzie się gładko już za pierwszym razem - chyba, że sieć jest całkowicie jednorodna i mamy do czynienia z tym samym zestawem aplikacji na każdej z maszyn.
Czy zapory sieciowe są niezawodne?
Odpowiedź brzmi - nie. Wiele serwerów, na których zastosowano zapory sieciowe, zostało pokonanych przez krakerów. Wynika to nie tyle z właściwości zapory sieciowej jako takiej, a raczej z zawodności tzw. czynnika ludzkiego. Najczęstszą przyczyną wadliwości zabezpieczeń firewalla są administratorskie błędy w jego implementacji. Nie znaczy to, że niektóre zapory sieciowe nie mają słabych punktów. Owszem mają - aczkolwiek w większości przypadków luki te nie mają zbyt wielkiego znaczenia dla bezpieczeństwa sieci.
Filtry pakietowe i Application-Gateway
Do budowy firewalli wykorzystywane są filtry pakietowe oraz tzw. Application-Gateway (po polsku należałoby je nazwać bramami warstwy aplikacji siedmiowarstwowego modelu OSI/ISO). Filtrem pakietowym nazywa się routery lub komputery ze specjalnym oprogramowaniem, które na poziomie warstw 3 i 4 wykorzystuje dostarczane w ramach rodziny protokołów TCP/IP (IP, ICMP, ARP, TCP, UDP) do filtrowania pakietów. Filtry pakietowe muszą umożliwiać:
oddzielne filtrowanie dla każdego interfejsu;
oddzielne filtrowanie według źródeł lub adresów docelowych dla poszczególnych komputerów lub całych podsieci;
oddzielne filtrowanie według adresów portów źródłowych i docelowych;
przy dostępnych więcej niż dwóch interfejsach oddzielne filtrowanie wchodzących i wychodzących pakietów;
rozróżnianie pomiędzy pakietami ACK i nie-ACK (tzn. rozróżnianie czy dla pakietów TCP należy budować nowe połączenie, czy wykorzystać istniejące);
protokołowanie numeru IP, usługi, czasu i daty dla każdego pakietu (z możliwością ograniczenia do wybranych pakietów, np. o specjalnych adresach źródłowych);
przesyłanie całej zaprotokołowanej informacji na zewnętrzny host;
generowanie komunikatów ostrzegawczych w przypadku wystąpienia specjalnych, wyspecyfikowanych zdarzeń;
wykorzystanie statycznych tabel routowania (ruter wykorzystany jako filtr pakietowy);
takie konfigurowanie routera (gdy jest wykorzystywany jako filtr pakietowy), aby przy dynamicznym routingu dochodzące do chronionej sieci pakiety routowania (np. RIP) były dopuszczane tylko do interfejsu;
standardowe ignorowanie informacji routingu źródłowego;
dynamiczne filtrowanie.
Kolejność reguł filtrowania może być zmieniana automatycznie przez filtr pakietowy! Przy określaniu reguł filtrowania należy przestrzegać następujących zasad:
reguły muszą być tak sformatowane, aby wszystkie dostępy (do sieci chronionej) które nie są w sposób jawny dozwolone, były zabronione;
jeżeli występuje zapotrzebowanie na specyficzną autentykację użytkownika, musi zostać określone, który użytkownik znajduje się wewnątrz sieci, jakie usługi może wykorzystywać oraz jakie procedury autentykacji są wymagane;
muszą zostać uwzględnione wszystkie komputery znajdujące się w sieci;
musi zostać ustalone, jakie usługi są dozwolone i w jakich przedziałach czasu (np. dozwolone tylko w ustawowych godzinach pracy).
Application-Gateway jest komputerem, który wykorzystuje informacje z poziomu warstwy aplikacji do filtrowania połączeń. Rozwiązanie to umożliwia stworzenie jednolitego sposobu dostępu do chronionej sieci oraz ukrycie jej wewnętrznej struktury dla zewnętrznego użytkownika. Jeżeli Application-Gateway ma być wykorzystany do budowy firewalla należy przestrzegać następujących zasad:
muszą być uwzględnione wszystkie protokoły warstwy aplikacji (Telnet, FTP, SMTP, DNS, NNTP, HTTP);
dla każdego uwzględnionego protokołu musi być możliwa filtracja ww. reguł filtrowania wszystkich informacji (reguły powinny zostać sformułowane w sposób niezależny od użytkownika);
włączenie do pracy Application-Gateway nie powinno wiązać się z żadnymi zmianami w oprogramowaniu zarówno sieci chronionej jak i zewnętrznej;
stosowane oprogramowanie musi być dobrze udokumentowane;
dokładanie nowych protokołów powinno być proste;
dla każdego zbudowanego połączenia musi zostać zaprotokołowany numer identyfikacyjny użytkownika, numer IP, rodzaj usługi, czas oraz data;
specjalne, wyspecyfikowane zdarzenia powinny powodować pojawienie się komunikatów ostrzegawczych (np. kilkakrotnie źle podane hasło);
dla identyfikacji użytkownika muszą być stosowane silne metody autentykacji.
Konfiguracja zapór sieciowych
Można wyróżnić trzy podstawowe konfiguracje firewalli:
stosowanie wyłącznie filtrów pakietowych (jak na rysunku)
Taki firewall składa się wyłącznie z filtru pakietowego, który filtruje informacje na poziomie dolnych warstw sieciowych i przepuszcza lub blokuje informacje według specjalnych reguł pakietowych. Zalety takiego rozwiązania to prosta realizacja (wiele ruterów ma wbudowane takie możliwości), oraz łatwa rozbudowa dla nowych usług, natomiast wady to:
możliwy IP-Spoofing;
wszystkie dozwolone usługi na wszystkich dostępnych dlanich komputerach muszą być bezpieczne;
rozbudowane reguły filtracji;
niewystarczające możliwości protokołowania aktywności.
Z powodu wymienionych wad, rozwiązanie takie jest stosowane zwykle w małych sieciach, gdzie wszystkie komputery są zabezpieczone (w inny sposób) przed atakami.
Dual-homed Geteway
W skład tej konfiguracji wchodzi jeden Application-Gateway, wyposażony w dwa interfejsy sieciowe. Jest on jedynym połączeniem pomiędzy dwoma sieciami. W tym typie konfiguracji nie mają prawa przechodzić żadne pakiety bez filtrowania.
Zaletami tej konfiguracji jest ukrycie wewnętrznej struktury chronionej sieci oraz zadawalające możliwości protokołowania, natomiast wady to:
wysoki koszt (wydajny komputer + dwie karty sieciowe);
trudności z wprowadzeniem nowych usług;
przejęcie Application-Gateway przez intruza prowadzi do całkowitej utraty bezpieczeństwa chronionej sieci.
Screened-Subnet
W tej konfiguracji mamy do czynienia z pewnego rodzaju „siecią pośredniczącą” (czy dokładniej - ekranującą) pomiędzy siecią zewnętrzną a siecią chronioną. Taka sieć składa się z Application-Gateway i jednego lub dwóch filtrów pakietowych. Reguły filtrowania muszą być tak skonstruowane, aby każde połączenie pomiędzy sieciami było realizowane wyłącznie poprzez Gateway. Możliwe warianty rozwiązania podstawowego Screened-Subnet przedstawiono na kolejnych rysunkach. Dla każdego z pokazanych wariantów istnieją jeszcze dalsze możliwości konfiguracji polegające na rezygnacji z któregoś z filtrów pakietowych (w efekcie mamy sześć możliwych konfiguracji firewalla typu Screened-Subnet).
Zalety tego rozwiązania w konfiguracjach podstawowych to:
brak bezpośredniego dostępu do Gatewaya;
ukrycie wewnętrznej struktury sieci;
dodatkowe zabezpieczenia wnoszone przez dwa filtry pakietowe;
zastosowanie dodatkowych Gateway'ów podnosi dostępność informacji;
zadawalające możliwości protokołowania.
Do wad należą:
wysoka cena (wydajny komputer + filtry pakietowe +interfejsy sieciowe);
możliwość obejścia Gatewaya z jednym interfejsem sieciowym poprzez manipulacje filtrem pakietowym.
Z przedstawionych wad i zalet wynika, że godna polecenia jest tylko konfiguracja z pierwszego z poniższych rysunków.
Zapory sieciowe.
Niektóre darmowe i komercyjne zapory sieciowe:
Komercyjne:
Norton Internet Security - Umożliwia pobieranie aktualizacji zabezpieczeń przez 12 miesięcy i korzystanie z nowych funkcji produktu przez cały rok. Następnie można wykupić kolejne roczne subskrypcje. Zapewnia bezpieczne korzystanie z komputera dzięki automatycznemu aktualizowaniu zabezpieczeń przed wirusami, końmi trojańskimi i robakami.
Panda Internet Security - to zintegrowana, kompletna ochrona komputera, dzięki której możesz bezpiecznie korzystać z Internetu. Zapobiega kradzieżom informacji osobistych (dane logowania, numerów kart kredytowych itp.) oraz chroni komputer przed innymi zagrożeniami internetowymi, takimi jak wirusy, programy szpiegujące, hakerzy i oszustwa online.
BitDefender Internet Security - pokrywa zapotrzebowanie każdej rodziny korzystającej z Internetu. Dostarcza niezbędnej ochrony przeciw wirusom, programom szpiegującym, spamowi, podszywaniu się, intruzom i zakazanej zawartości stron.
Darmowe:
ZoneAlarm - jest zaporą ogniową dostępną w dwóch wersjach. Pierwsza jest darmowa dla użytkowników indywidualnych i instytucji non profit (wykluczając urzędy państwowe i instytucje edukacyjne).
Sygate Personal Firewall - Firewall o sporym zakresie możliwej konfiguracji poziomu bezpieczeństwa. Zapewnia pełne wsparcie ICS, zabezpieczenie protokołu poziomu sterowników i bardzo rozbudowane możliwości logowania.
Sunbelt Kerio Personal Firewall - Łatwy i przejrzysty w obsłudze firewall. Oferuje ochronę przed atakami z sieci w tym tryb "stealth", technologię ICSA (certyfikowana technologia ochrony), sprawdzanie integralności uruchamianych aplikacji (sygnatury MD5). Filtrowanie www (blokowanie pop-upów, reklam, cookies i skryptów) tylko w wersji płatnej. Instalator jest połączeniem wersji płatnej i darmowej = po 30 dniach dodatkowe funkcje ulegną deaktywacji i pozostanie okrojona ale ciągle funkcjonalna wersja podstawowa.
Outpost Firewall Free - Outpost oferuje większość typowych dla tego typu programów możliwości czyli ochronę przed atakami, trojanami / wirusami i robakami przesyłanymi w poczcie a także tryb "stealth". Program ma wbudowane standardowo kilka wtyczek poszerzających możliwości. Więcej dostępnych tylko dla wersji płatnej Pro.
1
Sieć chroniona
Filtr pakietowy
Sieć zewnętrzna (niebezpieczna)
Sieć chroniona
Application-Gateway
Sieć zewnętrzna (niebezpieczna)
Filtr pakietowy
Filtr pakietowy
Sieć zewnętrzna
Application-Gateway
Sieć chroniona
Filtr pakietowy
Filtr pakietowy
Sieć zewnętrzna
Application-Gateway
Sieć chroniona