Internet i bezpieczeństwo sieci


KLUCZOWE POJĘCIA.
 
  • Firewall stanowi barierę, którą pokonywać musi ruch sieciowy w obie strony - wchodzący do sieci i wychodzący z niej. Zasady filtrowania tego ruchu określone są przez politykę bezpieczeństwa firewalla.
  • Firewall może funkcjonować jako filtr pakietów IP, może też być zaprojektowany do funkcjonowania w protokołach wyższych warstw.
 
Firewalle, zwane także zaporami sieciowymi, stanowią efektywny środek ochrony systemu (lub sieci połączonych systemów) przed zagrożeniami sieciowymi przy jednoczesnym udostępnianiu sieci zewnętrznych, w tym internetu, na potrzeby wykonywania użytecznych zadań.
 
ZAPOTRZEBOWANIE NA FIREWALLE.
 
Systemy informatyczne przedsiębiorstw, agencji rządowych i innych organizacji doznały znaczących przeobrażeń na przestrzeni ostatnich dziesięcioleci. Nieustanny rozwój technologiczny wyznaczył w tej dziedzinie następujące kamienie milowe:
  • odosobniony, scentralizowany system oparty na komputerze mainframe z przyłączonymi do niego terminalami,
  • sieć lokalną (LAN) łączącą komputery PC ze sobą i z centralnym komputerem mainframe,
  • sieć firmową, łączącą kilka sieci lokalnych LAN i być może jeden lub dwa komputery mainframe, wszystko to zlokalizowane w jednym oddziale firmy,
  • sieć korporacyjną, prywatną sieć rozległą (WAN) łączącą (za pośrednictwem dzierżawionych łączy) wiele rozproszonych geograficznie sieci firmowych należących do poszczególnych oddziałów,
  • system sieci firmowych połączonych z internetem, opcjonalnie również połączonych w prywatną sieć rozległą.
Połączenie z internetem nie jest już dla przedsiębiorstw opcją - jest standardem. Przedsiębiorstwa nie są dziś w stanie funkcjonować bez aktualnych informacji i standardowych usług; ponadto dostęp do internetu niezbędny jest pracownikom firmy i jeżeli dostępu tego nie zapewni im sieć LAN, będą zmuszeni korzystać z połączeń "dodzwanianych", łączących ich z dostawcą internetu (ISP).
Chociaż internet jest dla firmy źródłem wielorakich pożytków, to jednak równocześnie jest źródłem nowego zagrożenia dla firmowych zasobów IT; zagrożenia te stwarzają potrzebę zastosowania odpowiednich zabezpieczeń. I jakkolwiek teoretycznie możliwa jest realizacja takich zabezpieczeń na poziomie poszczególnych komputerów, to jednak trudno wyobrazić to sobie w praktyce, gdy liczba komputerów w sieci firmowej sięga setek lub tysięcy, a na komputerach tych działają różne wersje równych systemów operacyjnych - Windows, Linuksa, Mac OSX lub rozmaite odmiany Uniksa. Gdy odkryta zostanie luka w jakiejś aplikacji, jej załatania trzeba będzie dokonać na każdym z wrażliwych komputerów z osobna, co będzie procesem zarówno wielce pracochłonnymi i czasochłonnym, jak i podatnym na pomyłki i zaniedbania. W tym kontekście atrakcyjną i szeroko akceptowaną alternatywą (lub przynajmniej uzupełnieniem) jest zastosowanie firmowego firewalla. Firewall taki umieszczony jest na granicy sieci firmowej i stanowi jedyny środek jej kontaktu z internetem. Skoncentrowanie w jednym miejscu ruchu przecinającego granicę sieci ma wiele zalet, między innymi umożliwia scentralizowanie ochrony przed zagrożeniami z zewnątrz oraz centralną implementację audytu. Fizycznie firewall może być zrealizowany na bazie jednego komputera lub niewielkiego zbioru współpracujących ze sobą komputerów.
Firewall stanowi zatem dodatkową warstwę obrony, izolującą systemy wewnętrzne od zewnętrznych sieci. Można się w tym dopatrzyć analogii do militarnej doktryny „obrony w głębi" (in-depth defense).
 
CHARAKTERYSTYKA FIREWALLI.
 
Autorzy publikacji [BELL94b] wymieniają następujące cele projektowania firewalla:
  1. Cały ruch przecinający granicę sieci musi przechodzić przez firewall. Wszelkie inne drogi łączności sieci ze światem zewnętrznym muszą być fizycznie zablokowane. Cel ten można realizować za pomocą różnych konfiguracji.
  2. Firewall powinien przepuszczać jedynie ruch autoryzowany, w rozumieniu zasad lokalnej polityki bezpieczeństwa. Różne rodzaje firewalli realizują różne odmiany tej polityki.
  3. Sam firewall musi być odporny na penetrowanie. Implikuje to użycie do jego implementacji szczególnie niezawodnego sprzętu i bezpiecznych systemów operacyjnych. W administracji USA obowiązuje wymóg stosowania w tym celu wyłącznie komputerów pochodzących od zaufanych dostawców.
Wymuszanie reguł polityki bezpieczeństwa i kontrolowanie dostępu może firewall realizować, stosując cztery następujące metody:
  • Kontrolę usług, czyli analizowanie typów usług, z którymi związany jest ruch zarówno przychodzący, jak i wychodzący. Firewall może wykonywać filtrowanie na podstawie adresów IP, numerów portów czy identyfikatorów protokołu, może uruchamiać oprogramowanie proxy dokonujące bardziej szczegółowej analizy bądź też może bezpośrednio hostować oprogramowanie usługowe, na przykład serwer WWW lub serwer pocztowy.
  • Kontrolę żądanego kierunku przepływu usługi (wychodząca albo przychodząca).
  • Kontrolę użytkowników bazującą na uprawnieniach poszczególnych użytkowników do korzystania z poszczególnych usług. Taka kontrola może dotyczyć zarówno użytkowników wewnątrz chronionego obszaru (lokalnych), jak i użytkowników zewnętrznych żądających dostępu do usługi - w tym drugim przypadku konieczne jest zastosowanie mechanizmów bezpiecznego uwierzytelniania, na przykład IPsec.
  • Kontrolę zachowania, czyli analizowanie sposobu wykorzystywania poszczególnych usług. w tej kategorii mieści się między innymi kontrola antyspamowa poczty elektronicznej czy też selektywne udostępnianie na zewnątrz jedynie wybranych porcji zawartości serwera WWW.
Przed zagłębieniem się w szczegóły konfiguracji i funkcjonowania firewalli warto zastanowić się nad tym, czego tak naprawdę mogą od nich oczekiwać ich użytkownicy:
  1. Firewall wyznacza pojedynczy punkt kontroli, chroniący sieć przed nieuprawnionym dostępem z zewnątrz, blokujący potencjalnie niebezpieczne usługi (zarówno te próbujące wniknąć do sieci, jak i te próbujące się z niej wydostać) i zabezpieczający przed fabrykowaniem adresów IP i próbami zmieniania tras pakietów IP. Skupienie tej kontroli w jednym punkcie upraszcza zarządzanie bezpieczeństwem, ponieważ mechanizmy bezpieczeństwa implementowane są w pojedynczym systemie (lub niewielkiej grupie systemów).
  2. Firewall stanowi dogodne miejsce do monitorowania zdarzeń związanych z bezpieczeństwem i doskonałą lokalizację do realizacji audytu i generowania alertów.
  3. Firewall jest także wygodną platformą do realizacji różnych funkcji internetowych niezwiązanych bezpośrednio z bezpieczeństwem, między innymi translacji adresów (NAT) realizującej odwzorowanie między lokalnymi adresami sieciowymi a zewnętrznymi adresami w internecie. Można też w firewallu realizować różne funkcje z zakresu zarządzania siecią, na przykład audyt korzystania z internetu.
  4. Firewalle są elementami mechanizmu IPsec, umożliwiają realizację trybu tunelowego, stanowiącego bazę do konstrukcji wirtualnych sieci prywatnych (VPN).
Firewalle mają jednak swe ograniczenia, między innymi:
  1. Nie są w stanie kontrolować ani wykluczać ruchu, który przez granice sieci przedostaje się innymi drogami. Przykładowo: wewnętrzne systemy mogą udostępniać usługi "dodzwaniania" do dostawcy internetu albo połączenia modemowe z pracownikami mobilnymi.
  2. Nie są w stanie zapewnić pełnej ochrony przed zagrożeniami dla sieci mającymi swe źródło wewnątrz niej, na przykład atakami zbuntowanych pracowników czy też użytkownikami współdziałającymi (świadomie lub nie) z hakerami na zewnątrz.
  3. Niewłaściwie skonfigurowana sieć LAN może kontaktować się ze światem zewnętrznym z pominięciem firewalla, na przykład za pośrednictwem połączeń bezprzewodowych.
  4. Zagrożenie może wniknąć do sieci nie tylko drogą elektroniczną, lecz takie za pośrednictwem zainfekowanego urządzenia - PDA, laptopa czy innego urządzenia mobilnego, które zostanie przyłączone do sieci i używane w niej w sposób lokalny.
 
TYPY FIREWALLI
 
Firewall może funkcjonować jako filtr pakietów, zarówno jako filtr "pozytywny", czyli przepuszczający jedynie pakiety spełniające zdefiniowane kryteria, albo jako filtr "negatywny", czyli odrzucający pakiety na podstawie zdefiniowanych kryteriów. Zależnie od typu firewalla różny może być zakres analizy pakietu: kontrola może być na przykład ograniczona tylko do najbardziej zewnętrznego nagłówka albo obejmować nagłówki protokołów wyższych warstw; kontroli może podlegać także "ładunek użyteczny" pakietu czy nawet wzorce, w jakie układają się sekwencje pakietów.
 
Filtrowanie pakietów
 
Filtrowanie pakietów polega na weryfikowaniu każdego pakietu pod kątem zdefiniowanych reguł i przepuszczaniu albo odrzucaniu go, kontrola taka dotyczy zwykle ruchu w obu kierunkach. Wspomniane reguły wykorzystują zazwyczaj następujące elementy pakietu sieciowego:
    • źródłowy adres IP, czyli adres, od którego pakiet rozpoczyna swoją wędrówkę (na przykład 192.178.1.1),
    • docelowy adres IP, czyli adres miejsca ostatecznego przeznaczenia pakietu (na przykład 192.168.1.2),
Obraz3 (5) Obraz5 Obraz6 (2)
Rysunek. Typy firewalli
 
  • źródłowy i docelowy adres protokołu warstwy wyższej, na przykład numer portu TCP lub UDP, definiujący konkretną aplikację, na przykład SNMP lub TELNET,
  • protokół transportowy identyfikowany w polu protokołu warstwy wyższej pakietu IP,
  • interfejs, dla firewalla z większą liczbą portów - identyfikator interfejsu, przez który pakiet ma opuścić firewall lub przez który dotarł do firewalla.
Typowy filtr pakietów ma postać listy reguł dotyczących pól w nagłówkach IP lub TCP. W odniesieniu do danego pakietu sprawdzane są kolejne reguły ze wspomnianej listy i gdy napotkana zostanie reguła, do której pakiet ten się stosuje, dalszy los pakietu zależy od dyspozycji zawartej w tejże regule. W sytuacji, gdy do pakietu nie uda się dopasować żadnej reguły, wykonywana jest dyspozycja domyślna. Możliwe jest zdefiniowanie jednej z dwóch następujących dyspozycji domyślnych:
  • domyślne odrzucanie - czyli wszystko, co nie jest jawnie dozwolone, jest zabronione,
  • domyślna akceptacja - czyli wszystko, co nie jest jawnie zabronione, jest dozwolone.
Pierwsza z wymienionych reguł ma charakter bardziej zachowawczy. Początkowo zablokowane są wszystkie usługi, a odblokowywanie poszczególnych usług odbywa się w sposób jawny. Obecność firewalla jest wysoce odczuwalna dla użytkowników, którzy często postrzegają firewalla jako zbędną przeszkodę. W miarę jednak definiowania kolejnych reguł uciążliwość ta staje się coraz mniejsza. Polityka domyślnego odrzucania nieznanych usług jest bardziej bezpieczna od konkurentki i dlatego chętnie wykorzystywana w sieciach biznesowych oraz sieciach agencji rządowych.
Polityka domyślnej akceptacji jest wygodniejsza dla użytkowników, ale z definicji mniej bezpieczna od reguły domyślnego odrzucania. Odpowiedzialność za właściwy kształt zbioru reguł wykluczających spoczywa na administratorze, który tym samym musi szybko reagować na pojawiające się nowe zagrożenia. Ze względu na wygodę polityka ta chętnie używana jest przez organizacje o bardziej otwartym charakterze, na przykład uniwersytety.
W tabeli u dołu , widoczne są przykłady kilku zbiorów reguł filtrowania. W każdym ze zbiorów reguły stosowane są kolejno, od góry do dołu; gwiazdka ("*" ) w polu oznacza wszystkie możliwe wartości. Zakładamy obowiązywanie dyspozycji domyślnego odrzucania.
  • Na mocy drugiej reguły akceptowana jest przychodząca poczta (port 25 jest domyślnym portem SMTP), ale tylko ta adresowana do bramy domyślnej. Pierwszeństwo ma jednak wcześniejsza reguła, nakazująca blokowanie poczty pochodzącej od hosta SPIGOT, który w przeszłości okazał się być źródłem spamu.
  • Ta reguła nakazuje odrzucanie wszystkich pakietów; jest ona domyślnym, ostatnim składnikiem każdego zbioru reguł (o ile stosowana jest dyspozycja domyślnego odrzucania), nawet jeśli nie wyspecyfikowano jej w sposób jawny.
  • Na mocy tej reguły dowolny wewnętrzny host może wysyłać pocztę na zewnątrz - pakiet z docelowym numerem portu 25 dostarczony zostanie do serwera SMTP w docelowym komputerze. Reguła ta jest o tyle zdradliwa, że mimo iż port 25 domyślnie przypisany jest do protokołu SMTP, przypisanie to można łatwo zmienić, z czego skorzystać może haker, przypisując port 25 do swojej destrukcyjnej aplikacji i wysyłając "pocztę" do wewnętrznej sieci.
  • Ten zestaw reguł wykorzystuje pewną specyficzną cechę połączeń TCP: w segmencie będącym odpowiedzią na inny segment ustawiony jest znacznik ACK. Pierwsza reguła zezwala na wysyłanie poczty przez każdy z explicite wskazanych hostów, druga natomiast zezwala na przyjmowanie pakietów wysyłanych z portu 25 i stanowiących odpowiedź na pakiety wysłane wcześniej w przeciwnym kierunku. W ten sposób zlikwidowane zostają opisane mankamenty reguły C.
  • Ten zbiór reguł jest jednym z możliwych podejść do współpracy chronionej sieci z serwerami FTP. W łączności klienta z serwerem FTP wykorzystywane są dwa połączenia: jedno z nich przeznaczone jest dla poleceń sterujących, drugie dla transferu danych. Dla tego drugiego połączenia numery portów wybierane są dynamicznie dla każdego transferu; większość serwerów posługuje się w tym celu portami o niskich numerach, klienty FTP wykorzystują natomiast z zasady porty o numerach "wysokich", zaczynających się od 1024. Reasumując, opisywany zbiór reguł wymusza akceptowanie pakietów:
    • inicjowanych przez wskazane hosty,
    • stanowiących odpowiedzi na połączenia inicjowane wewnątrz sieci,
    • przeznaczonych dla portów o wysokich numerach w komputerach wewnątrz sieci.
     
Tabele. Przykłady reguł filtrowania pakietów
 
Zbiór reguł A
 
Akcja Host wewnętrzny Port wewnętrzny Host wewnętrzny Port wewnętrzny Komentarze
odrzuć * * SPIGOT * Nie ufamy tym ludziom
akceptuj Wewnętrzna brama 25 * * Połączenie przez wewnętrzny port SMTP
 
Zbiór reguł B
 
Akcja Host wewnętrzny Port wewnętrzny Host zewnętrzny Port zewnętrzny Komentarz
odrzuć * * * * akcja domyślna
 
Zbiór reguł C
 
Akcja Host wewnętrzny Port wewnętrzny Host zewnętrzny Port zewnętrzny Komentarz
akceptuj * * * 25 Połączenie z docelowym portem SMTP
 
Zbiór reguł D
 
Akcja Żródło Port źródłowy Przeznaczenie Port docelowy Znaczniki komentarz
akceptuj Lista hostów * * 25 Pakiety wysyłane do docelowego portu SMTP
akceptuj * 25 * * ACK Odpowiedzi z zewnętrznego portu SMTP
Zbiór reguł E
 
Akcja Żródło Port źródłowy Przeznaczenie Port docelowy Znaczniki Komentarz
akceptuj Lista hostów * * * Połączenia wychodzące na zewnątrz
akceptuj * * * * ACK Odpowiedzi na potączenia wychodzące
akceptuj * * * >1023 Pakiety odsyłane do klientów
 
Warunkiem spełnienia oczekiwań wyrażonych przez zestaw reguł E jest właściwe skonfigurowanie współpracujących systemów pod względem numerów używanych portów.
Zestaw reguł E jest przykładem trudności, jakie napotyka się przy próbie filtrowania aplikacji na poziomie zwykłego filtrowania pakietów. Trudności te można pokonać, stosując inne podejścia, na przykład filtrowanie pakietów w połączeniu z informacją o stanie lub bramę aplikacyjną.
Jedną z zalet prostego filtrowania pakietów jest jego prostota, ponadto jest ono względnie szybkie i wysoce "przezroczyste" dla użytkowników. Ma jednak liczne wady, między innymi:
  • nie jest w stanie zapobiegać atakom specyficznym dla danej aplikacji, ponieważ działa na niższym poziomie; jeśli pakiety danej aplikacji zostaną zaakceptowane, jej działanie nie będzie doznawało żadnych ograniczeń ze strony firewalla,
  • ze względu na ograniczony zasób informacji dostępnej dla firewalla ograniczona jest przydatność dzienników ("logów") prowadzonych przez firewall, dzienniki te zawierają prawie taką samą informację jak dzienniki prowadzone przez mechanizmy kontroli dostępu - adres źródłowy, adres docelowy i typ pakietu,
  • większość firewalli stosujących proste filtrowanie pakietów nie obsługuje zaawansowanych schematów uwierzytelniania użytkowników, przede wszystkim ze względu na nieobecność funkcjonalności wyższych warstw,
  • filtrowanie na poziomie pakietów nie jest w stanie zapobiegać atakom polegającym na fałszowaniu informacji w wyższych warstwach, na przykład w warstwie dostępu do sieci (trzeciej warstwie modelu referencyjnego OSI) - fałszowanie takie dokonywane jest przez intruzów właśnie w celu ominięcia kontroli przeprowadzanej przez firewalle;
  • wreszcie ze względu na skąpy zasób informacji wykorzystywanej na potrzeby kontroli dostępu :firewalle stosujące proste filtrowanie podatne są na powstawanie luk wynikających z błędnego ich konfigurowania - wskutek drobnej nawet pomyłki w adresie źródłowym, adresie docelowym czy numerze portu może się zdarzyć, że do sieci zupełnie legalnie docierać będą pakiety, które ze względów bezpieczeństwa powinny zostać kategorycznie odrzucone.
Wykorzystując powyższe mankamenty prostego filtrowania, intruzi próbować mogą uskuteczniania następujących ataków polegających na:
  • Fałszowaniu adresów IP, a dokładniej - wysyłania do sieci pakietów z adresami źródłowymi charakterystycznymi dla wnętrza tej sieci. Pakiety takie firewall potraktuje jak "swoje", czyli pochodzące od chronionych komputerów, a intruz może wykorzystać zmylenie przeciwnika do penetrowania sieci w poszukiwaniu użytecznych dla siebie informacji. Oczywiście najprostszym sposobem zapobiegania takim oszustwom jest odrzucanie pakietów, które pochodząc z zewnątrz, mają w polu adresu źródłowego wpisany adres IP z wnętrza sieci - faktycznie funkcjonalność taka często implementowana jest w routerach lokalizowanych na zewnątrz firewalli.
  • Nadużywaniu trasowania źródłowego - intruz może wykorzystywać tzw. trasowanie źródłowe (source routing), czyli określanie trasy przez węzeł źródłowy w nadziei, że pakiet zostanie zaakceptowany przez węzły nie analizujące bezpieczeństwa wytyczonej trasy. Prostym antidotum jest w tym przypadku odrzucanie pakietów z włączoną opcją trasowania źródłowego.
  • Nadmiernej fragmentacji pakietu - zazwyczaj polityka firewalla w stosunku do pofragmentowanego pakietu określana jest na podstawie pierwszego fragmentu i stosowana konsekwentnie do wszystkich fragmentów. Jeśli więc uda się skłonić firewall do zaakceptowania pierwszego fragmentu, zaakceptowany zostanie cały pakiet. Intruzi próbują wykorzystywać ten fakt, fragmentując pakiety do tego stopnia, że w pierwszym fragmencie znajduje się jedynie niewielka część nagłówka IP, niezawierająca informacji, które spowodowałyby ewidentne odrzucenie pakietu. Ataki takie można unieszkodliwiać przez wprowadzenie zasady, że pierwszy fragment musi zawierać niezbędne minimum nagłówka transportowego.
 
Skojarzone filtrowanie pakietów
 
W ramach tradycyjnego filtrowania pakietów decyzje o ich traktowaniu podejmowane są dla każdego pakietu z osobna, nie uwzględniając w żaden sposób kontekstu wynikającego z warstw wyższych. Żeby właściwie zrozumieć użyte tu słowo "kontekst", konieczne jest pewne wyjaśnienie. Otóż większość standardowych aplikacji wykorzystujących protokół TCP opiera się na architekturze klient-serwer - i tak na przykład w przypadku protokołu SMTP list utworzony przez użytkownika transmitowany jest przez program kliencki do serwera, którego zadaniem jest dostarczenie wspomnianego listu do skrzynki odbiorczej adresata. Odbywa się to w ten sposób, że program kliencki nawiązuje ze swej inicjatywy połączenie z serwerem, specyfikując port docelowy 25, czyli domyślny dla SMTP, i wybierając port źródłowy z zakresu od 1024 do 65535.
W ogólnym przypadku, gdy aplikacja bazująca na TCP ustanawia sesję ze zdalnym hostem, nawiązuje połączenie TCP, w ramach którego numer portu docelowego mieści się w zakresie "dobrze znanych" portów, czyli ma numer poniżej 1024 (25 w przypadku SMTP), natomiast w charakterze portu źródłowego aplikacja wykorzystuje port o numerze nie mniejszym niż 1024. Ów "wysoki" numer portu źródłowego ma znaczenie tymczasowe - obowiązuje jedynie do czasu zakończenia połączenia.
Wynika stąd ważny wniosek, że proste filtrowanie pakietów musi akceptować wszystkie paldety TCP zawierające "wysokie" numery portów - a to już stwarza niebezpieczną okazję do nadużyć.
Można uniknąć tego niebezpieczeństwa, jeżeli powiąże się przychodzące pakiety z informacją o stanie połączeń, czyli gdy firewall utrzymywać będzie katalog trwających aktualnie wychodzących połączeń TCP, jak pokazano to w tabeli u dołu . Firewall zaakceptuje pakiet z wysokim numerem portu tylko wtedy, gdy uda się ten pakiet powiązać z jednym z trwających połączeń.
 
Tabela. Przykład katalogu trwających połączeń (na podstawie testu).
 
Adres źródłowy Port źródłowy Adres docelowy Port docelowy Stan połączenia
192.168.1.100 1030 210.22.88.29 80 Nawiązane
192.168.1.102 1031 216.32.42.123 80 Nawiązane
192.168.1.101 1033 173.66.32.122 25 Nawiązane
192.168.1.106 1035 177.231.32.12 79 Nawiązane
223.43.21.231 1990 92.168.1.6 80 Nawiązane
212.222.123.32 2112 192.168.1.6 80 Nawiązane
210.22.212.18 3321 192.168.1.6 80 Nawiązane
24.102.32.23 1025 192.168.1.6 80 Nawiązane
223.21.22.12 1046 192.168.1.6 80 Nawiązane
 
Firewall filtrujący pakiety w połączeniu z informacją o stanie połączeń wykorzystuje te same informacje zawarte w pakietach, które używane są w ramach prostego filtrowania, dodatkowo rejestrując informacje na temat nawiązywanych i rozwiązywanych połączeń TCP. Niektóre firewalle kontrolują także poprawność numerów sekwencyjnych TCP, co pozbawia potencjalnych intruzów wielu możliwości ataku. Co więcej, niektóre z firewalli zapewniają (ograniczoną co prawda) kontrolę poprawności danych dla "dobrze znanych" protokołów, jak FTP, SIP czy komunikatory, w celu powiązania tych aplikacji z konkretnymi połączeniami.
 
Brama aplikacyjna
 
Brama aplikacyjna (application-level gateway), zwana także proxy aplikacyjnym, funkcjonuje jako przekaźnik ruchu na poziomie aplikacji (patrz na Rysunek Typy firewalli u góry (d)). Użytkownik kontaktuje się z bramą za pomocą aplikacji TCP/IP (na przykład FTP lub TELNET), brama wysyła zapytanie o docelowy host, z którym użytkownik chce się połączyć. Po pomyślnym uwierzytelnieniu użytkownik zostanie połączony ze wspomnianym hostem, a rola bramy sprowadza się do biernego przekazywania pakietów. Jeśli brama nie implementuje kodu proxy dla danej aplikacji, usługi oferowane przez tę aplikację będą przez firewall odrzucane. Ponadto bramę aplikacyjną można skonfigurować w ten sposób, że będzie udostępniać jedynie wybrane elementy funkcjonalności aplikacji (zgodnie z ustawieniami dokonanymi przez administratora).
Bramy aplikacyjne wydają się znacznie bardziej bezpieczne niż proste filtry pakietów: zamiast rozstrzygać kwestię bezpieczeństwa wielu potencjalnie możliwych kombinacji na poziomie IP czy TCP, rozważa się tylko ograniczony, dobrze zdefiniowany zbiór kombinacji charakterystycznych dla danej aplikacji.
Podstawowym mankamentem bram aplikacyjnych jest dodatkowy narzut obliczeniowy związany z przetwarzaniem połączeń. Mamy bowiem do czynienia z podziałem połączenia między użytkownikami końcowymi na dwa odrębne połączenia, z których każde musi być przetwarzane oddzielnie.
 
Brama transmisyjna
 
Czwartym typem firewalla, przedstawionym na Rysunek Typy firewalli u góry (e), jest brama transmisyjna (circuit-level gateway) zwana także proxy transmisyjnym. Może być oddzielnym systemem albo specjalizowaną funkcją bramy aplikacyjnej. Podobnie jak brama aplikacyjna brama transmisyjna także dzieli połączenie między użytkownikami końcowymi na dwa - jedno między użytkownikiem lokalnym a bramą, drugie między bramą a użytkownikiem zdalnym. Bezpieczeństwo ogranicza się do rozstrzygania, czy dane połączenie może zostać nawiązane; gdy nawiązane zostanie, brama funkcjonuje jako bierny przekaźnik pakietów, zazwyczaj segmentów TCP.
Brama transmisyjna okazuje się przydatna w sytuacji, gdy administrator ma zaufanie do lokalnych użytkowników: połączenia przychodzące mogą być wówczas weryfikowane na poziomie aplikacji, a połączenia wychodzące - na poziomie sieci wewnętrznej. W tej konfiguracji brama obciążona zostaje dodatkowym narzutem związanym z analizą połączeń przychodzących, lecz nie zajmuje się połączeniami wychodzącymi.
Przykładem implementacji bramy transmisyjnej jest pakiet SOCKS, SOCKS w wersji 5. definiowany jest w dokumencie RFC 1928 w następującym ujęciu:
Opisywany tu protokół zaprojektowano w celu stworzenia dla aplikacji typu klient-serwer, zbudowanych na bazie TCP lub UDP, środowiska umożliwiającego wygodne i bezpieczne wykorzystywanie usług firewalla sieciowego. Koncepcyjnie protokół ten jest warstwą pośredniczącą (shim layer) między warstwą aplikacji a warstwą transportową, nie oferuje więc usług warstwy sieciowej w rodzaju filtrowania komunikatów ICMP.
Pakiet SOCKS składa się z następujących komponentów:
  • serwera SOCKS, najczęściej implementowanego w ramach firewalla z systemem UNIX; SOCKS dostępny jest także w wersji dla Windows,
  • biblioteki klienckiej SOCKS, uruchomionej na wewnętrznym hoście chronionym przez firewall,
  • odpowiednio przystosowanych aplikacji klienckich, takich jak FTP czy TELNET. Implementowanie protokołu SOCKS wymaga zwykle ponownej kompilacji lub konsolidacji takich aplikacji bądź użycia innych wersji bibliotek ładowanych dynamicznie, w celu umożliwienia współpracy tych aplikacji z procedurami biblioteki klienckiej.
Gdy aplikacja kliencka bazująca na TCP zamierza nawiązać połączenie z obiektem osiągalnym jedynie za pośrednictwem firewalla, musi wpierw nawiązać połączenie z serwerem SOCKS na porcie 1080. Gdy połączenie zostanie zestawione, klient rozpoczyna negocjowanie metody uwierzytelniania, uwierzytelnia się za pomocą wynegocjowanej metody, po czym wysyła żądanie przeznaczone dla wspomnianego obiektu docelowego. Serwer SOCKS dokonuje weryfikacji żądania i albo tworzy żądane połączenie, albo żądanie odrzuca. W przypadku aplikacji bazującej na UDP sprawy mają się nieco inaczej: otwarte zostaje połączenie TCP klienta z serwerem SOCKS w celu uwierzytelnienia klienta; po pomyślnym uwierzytelnieniu klient może przesyłać datagramy UDP do obiektu docelowego tak długo, jak długo otwarte jest wspomniane połączenie TCP.
 
Implementowanie Firewalli
 
Firewall implementuje się zwykle na wydzielonym komputerze pracującym pod kontrolą popularnego systemu operacyjnego, głównie Linuksa lub innej odmiany Uniksa. Firewall może również mieć formę modułu programowego, działającego w środowisku routera lub przełącznika LAN. W tej sekcji zajmiemy się właśnie rozmaitymi aspektami tych i innych fizycznych implementacji firewalli.
 
Ufortyfikowany host
 
Ufortyfikowany host (bastion host) to system traktowany przez administratora jako punkt krytyczny w zabezpieczeniu sieci. Implementująca go stacja służy zwykle jako platforma dla bramy aplikacyjnej lub bramy transmisyjnej. Podstawowe cechy ufortyfikowanego hosta są następujące:
  • Jest implementowany na wiarygodnej platformie sprzętowej zarządzanej przez bezpieczny system operacyjny.
  • Zestaw zainstalowanych usług sprowadzony jest do minimum, czyli do zbioru tych, które administrator uznał za konieczne - w praktyce może to oznaczać aplikacje proxy dla DNS, FTP, HTTP i SMTP.
  • Może wymagać dodatkowego uwierzytelnienia od użytkownika przed udostępnieniem mu usług proxy, ponadto każda z tych usług może wymagać odrębnego uwierzytelniania.
  • Zestaw obsługiwanych poleceń także sprowadzony jest do minimum.
  • Każde proxy skonfigurowane jest w ten sposób, że zapewnia dostęp jedynie do wybranej grupy hostów, zwykle z dodatkowymi ograniczeniami w zakresie wydawanych poleceń.
  • Każde proxy prowadzi szczegółowy audyt nawiązywanych połączeń, wraz z czasem ich trwania i informacjami na temat ruchu sieciowego odbywającego się w ramach tych połączeń; audyt ten jest podstawowym narzędziem wykrywania i powstrzymywania ataków z zewnątrz.
  • Każdy moduł proxy jest niewielkim pakietem zaprojektowanym specjalnie pod kątem bezpieczeństwa sieci. Ze względu na prostotę każdy z tych modułów łatwiej jest analizować na obecność ewentualnych luk w zabezpieczeniu. I tak na przykład typowa aplikacja pocztowa w systemie UNIX to program o rozmiarze rzędu 20 000 wierszy kodu, podczas gdy w wersji proxy rozmiar ten zredukowany jest do kilkuset wierszy.
  • Poszczególne proxy działające w ramach tej samej stacji bazowej są od siebie całkowicie niezależne. W przypadku stwierdzenia usterek w danym proxy (lub napotkania innych problemów w jego funkcjonowaniu) można je odinstalować bez wpływu na pozostałe. Identycznie ma się rzecz z instalowaniem nowych proxy.
  • Dostęp każdego proxy do dysku ograniczony bywa zazwyczaj do odczytywania konfiguracji startowej, zatem część systemu plików zawierającą moduły wykonywalne można uczynić dostępną jedynie do odczytu, co uniemożliwi potencjalnym intruzom instalowanie szkodliwego oprogramowania.
  • Każde proxy funkcjonuje z uprawnieniami nieuprzywilejowanego użytkownika w prywatnym i zabezpieczonym katalogu.
 
Firewall rezydujący
 
Firewall tej kategorii to moduł programowy używany do zabezpieczenia pojedynczego hosta. Moduły takie stanowią komponenty wielu systemów operacyjnych, dostępne są również w postaci niezależnego oprogramowania. Moduły te, podobnie jak konwencjonalne firewalle, ograniczają swą funkcjonalność do kontroli przepływu pakietów. Ze względu jednak na swą specyfikę (lokalność) posiadają następujące zalety w porównaniu z niezależnymi firewallami:
  • reguły filtrowania pakietów można przystosowywać do środowiska kon - kretnego hosta, na przykład polityka bezpieczeństwa może różnicować te reguły dla różnych serwerów oferujących różne usługi,
  • ochrona hosta zapewniana jest niezależnie od topologii sieci - pod kontrolą firewalla znajduje się wszelki ruch wchodzący do konkretnego komputera (niezależnie od pochodzenia) i wychodzący z niego,
  • lokalne firewalle stanowią wartościowe uzupełnienie niezależnych firewalli, zwiększając w ten sposób ogólne bezpieczeństwo. Gdy w sieci pojawi się nowy serwer, ze swym własnym firewallem, być może nie trzeba będzie w ogóle zmieniać konfiguracji firewalla sieciowego.
Firewall osobisty (personal firewall) kontroluje ruch między komputerem osobistym lub stacją roboczą z jednej strony, a internetem lub siecią firmową z drugiej. Funkcjonalność firewalla osobistego może być wykorzystywana w komputerach domowych lub w firmowym intranecie (Intranet). Firewall osobisty to zwykle moduł programowy w komputerze; w domowej sieci, w której komputery podłączone są do internetu za pośrednictwem routera, moduł ten może również funkcjonować w tym właśnie routerze.
Firewalle osobiste są zazwyczaj mniej skomplikowane niż firewalle samodzielne i firewalle działające w serwerach, ponieważ ich podstawowym zadaniem jest blokowanie nieautoryzowanego dostępu do komputera, a często także monitorowanie ruchu wychodzącego inicjowanego przez trojany, robaki inne egzemplarze szkodliwego oprogramowania.
Przykładem firewalla osobistego jest mechanizm CIS (Comodo internet security). Gdy użytkownik ów mechanizm włączy, blokowane są wszelkie połączenia przychodzące, z wyjątkiem jawnie dopuszczonych przez użytkownika.
  1 2 3 4 5 6 7 8 9  
Gdy na komputerze uruchomiony jest serwer FTP, udostępnia on swe usługi na portach 20 i 21. Dla klienta FTP działającego na komputerze dostępne są porty o "wysokich" numerach (1024 - 65535) pod warunkiem jednak, że portem źródłowym jest port 20 lub 21.
Dla lepszej ochrony firewall oferuje dodatkowe opcje. Włączenie trybu niewidzialności (stealth made) ukrywa komputer przed pakietami skanującymi. Blokowane są wszystkie połączenia UDP, a połączenia TCP ograniczone są do wybranych portów. Firewall oferuje także rejestrowanie zdarzeń w dzienniku, dostarczające śladów ewentualnej niepożądanej aktywności (u góry na zdjęciach) .
 
Podsumowanie
 
Można zdefiniować następujące warianty lokalizacji i topologii firewalli:
    • Firewall rezydujący jako moduł programowy w serwerze lub stacji roboczej - może funkcjonować samoistnie lub jako część strategii "obrony w głębi".
    • Router ekranujący, umiejscowiony między sieciami wewnętrzną i zewnętrzną, wykonujący filtrowanie pakietów - proste lub kojarzone ze stanem połączeń. Popularny do zastosowań domowych i biurowych (SOHO - small office/home office).
    • Pojedynczy ufortyfikowany host, czyli sprzętowy firewall oddzielający sieć wewnętrzną od zewnętrznej. Może realizować filtrowanie pakietów kojarzone ze stanem połączeń i (lub) proxy aplikacyjne. Przydatny w małych i średnich organizacjach.
    • Pojedynczy ufortyfikowany host typu T, wyróżniający się tym, że strefa DMZ przyłączona jest do oddzielnego interfejsu. Przydatny dla średnich i dużych organizacji.
Podwójny ufortyfikowany host, czyli sieć z wydzieloną strefą DMZ ulokowaną między firewallem zewnętrznym z poziomem firewalli wewnętrznych. Konfiguracja ta nadaje się dla dużych przedsiębiorstw i organizacji rządowych.
  • Podwójny ufortyfikowany host typu T, wyróżniający się tym, że strefa DMZ przyłączona jest do oddzielnego interfejsu zewnętrznego firewalla. Konfigurację tę preferuje wiele dużych firm i organizacji rządowych, jest tak na przykład w administracji australijskiej, dla której zalecenia w zakresie bezpieczeństwa IT zebrane są w dokumencie ACSI33 Australian Government Information Technology Security Manuał.
  • Rozproszona konfiguracja firewalli Przydatna dla dużych firm i organizacji rządowych.
 
Źródła i Literatura:
William Stallings - "Kryptografia i bezpieczeństwo sieci komputerowych - koncepcje i metody bezpiecznej komunikacji", Wydanie V, Wydawnictwo Helion 2012, ISBN: 978-83-246-2987-9.
Polish language edition published by HELION S.A. Copyright© 2012. Copyright© 2012 Wydawnictwo HELION S.A WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)

Wszystkie znaki wystepujące na tych stronach, wpisach w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli oraz prawa autorskie. Copyright © Polish 2014-2024 Mariusz Rurarz. Wszelkie prawa zastrzeżone © Polish 2014-2024.
podpis

Technologia Informatyczna