praca licencjacka firewall DLJXALXRZR7KPPQR7O6VU33GMML25UPTIMCTCVI


Z każdym dniem przybywa ponad 20000 nowych komputerów, które łączą się z siecią Internet. Internet - największa publiczna sieć komputerowa, przyciąga do siebie coraz więcej użytkowników, dając możliwość korzystania z bogatych zbiorów informacyjnych, korzystania z poczty elektronicznej, gier sieciowych, bycia uczestnikiem grup dyskusyjnych, a nawet daje możliwość rozmów „on line”. Poniższy rysunek przedstawia wyniki przeprowadzonych badań przez firmę `Network Wizards', który pokazuje ilość podłączeń do Internetu.

0x01 graphic

Ogromne zainteresowanie Internetem sprawia, że coraz ważniejsze staje się zabezpieczenie komputera przed zewnętrznymi użytkownikami. Obecnie wszystkie liczące się instytucje na rynku, są bardzo ściśle związane z Internetem. Cały system bankowym, wojskowy, opiera się na wykorzystaniu Internetu, co jest przyczyną, że polityka bezpieczeństwa gra najwyższą rolę. Wzrost liczby użytkowników korzystających z usług Internetu powoduje ryzyko utraty prywatności. Obecnie brak ryzyka równa się odseparowaniu komputerów od podłączenia do Internetu, co w dużych firmach, wymusza przebudowę systemu infrastruktury, który pociąga za sobą duże nakłady finansowe. Rozwiązaniem jest zastosowanie oprogramowania zwanego firewall (ściana ogniowa), który służy do ochrony sieci przed integracją zewnętrzną.

    1. Ściana ogniowa (ang. firewall) - co to jest?

0x08 graphic
Główną funkcją ściany ogniowej (ang. firewall) jest zabezpieczenie sieci wewnętrznej przed zagrożeniami z Internetu. Cechą charakteryzującą ścianę ogniową jest przeprowadzanie połączeń w starannie kontrolowanym miejscu, co daje nam możliwość skoncentrowania tam całej naszej uwagi oraz sprawniej egzekwować politykę bezpieczeństwa. Tak więc ściana ogniowa skupia wszystkie środki bezpieczeństwa, gdyż decyzje ochrony są skupione. Najczęstszą stosowaną zasadą jest zasada minimalnych przywilejów (ang. least privilege). Użytkownicy mają przydzielone tylko takie uprawnienia, które są niezbędne do przeprowadzenia przydzielonych zadań. Fizyczna implementacja ściany ogniowej jest najczęściej zbiorem urządzeń razem z odpowiednim oprogramowaniem. Polityka bezpieczeństwa wyznacza konkretną architekturę i konfigurację ściany ogniowej. Bardzo ważne jest przeprowadzenie prawidłowej konfiguracji, dlatego że ściany ogniowe są skuteczne tylko wtedy, kiedy są obsługiwane przez kompetentne osoby. Nieprawidłowo skonfigurowany firewall, nie będzie dawał należytego bezpieczeństwa, a będzie stwarzał tylko takie pozory. Tak więc:

    1. Zalety firewall'a

- firewalle są tak skonfigurowane, aby chronić przed nieautoryzowanymi użytkownikami z zewnątrz naszej sieci. Pomaga to przed osobami, którzy próbują się zalogować do naszej sieci

- firewall mogą dostarczyć tzw. pojedynczy “choke point(zasada wąskiego przejścia - napastnik zmuszony jest do skorzystania z tej drogi, którą można kontrolować), który aktywnie nadzoruje i kontroluje przepływ ruchu pomiędzy sieciami. Cały ruch musi przejść przez ten „choke point”, w którym możemy skoncentrować wszystkie zabezpieczenia

- firewalle dostarczają streszczeń administratorom o liczbie i rodzaju ruchu w sieci, ile było prób ataków, włamań itp.

- firewalle chronią przed atakami z zewnątrz

- osoby zgrupowane w jedną sieć, mogą korzystać z jednego adresu IP

- firewalle umożliwiają systemom łączenie się z Internetem z protokołami innymi niż TCP/IP

    1. Wady firewall'a (czego nie potrafią?)

- nie chroni przed użytkownikami wewnątrz firmy (zdrajcami). Chociaż firewall może uniemożliwić wysyłanie jakichkolwiek informacji na zewnątrz korzystając z połączenia sieciowego, to jednak nie ochroni nas przed skopiowaniem informacji na dyskietkę, płytę czy dysk twardy i wyniesieniem ich z firmy

- nie chroni przed połączeniami, które nie mają z nim styczności

- nie potrafią automatycznie się skonfigurować po podłączeniu do sieci, w celu najlepszej wydajności

- nie chronią przed atakami, które nie przechodzą przez firewall.

- nie chroni w 100% przed wirusami - jest to trudne, ponieważ wymaga:

a) rozpoznania mówiącego, że dany pakiet stanowi część programu

b) określenia, co do wyglądu programu (jak powinien wyglądać)

c) odkrycia, które mówi o zmianie spowodowanej wirusem

- ograniczają dostęp do sieci z Internetu

- wymagają częstych uaktualnień, dlatego że prawie codziennie pojawiają się nowe typy klientów sieciowych i serwerów, którzy uniemożliwiają bądź sprawiają kłopoty przy zarządzaniu siecią, np. przy popularnych programach wymiany plików

- przed całkowicie nowymi

  1. Bezpieczeństwo sieci komputerowych

Zagrożenie, jakie płynie z sieci komputerowej połączonej do Internetu (globalnej sieci) jest bardzo często niedocenione. Chronić musimy nie tylko swoje dane, zasoby, ale także reputację firmy. Komputery z reguły przechowują poufne informacje, dlatego dostęp do tych informacji powinny mieć tylko odpowiednie osoby. Zasoby komputera są narażone na niebezpieczeństwo, np. przestrzeń dyskowa lub czas procesora. Kolejną sprawą jest zagrożona związane z reputacją użytkownika czy też firmy. Przykładem mogą być ataki, które zmieniają zawartość witryn WWW. Napastnik może również posłużyć się naszą skrzynką internetową lub też zrobić zakupy w sklepie elektronicznym. I wreszcie niebezpieczeństwo może kryć się wewnątrz sieci komputerowej, np. przez niekompetentnego pracownika. Z niektórych źródeł może wyczytać, że aż 55% związanych z naruszeniem polityki bezpieczeństwa, wiąże się z naiwnością lub brakiem należytej wiedzy użytkowników. Odkrywane błędy w systemach wraz z różnymi sposobami omijania lub łamania zabezpieczeń wskazują jednoznacznie, że raz skonfigurowana sieć nie da wiecznego bezpieczeństwa. Tylko systematyczna i aktywna kontrola sieci może zapewnić jej bezpieczeństwo.

Na system bezpieczeństwa, składają się:

- procedury monitorujące, powiadamiające i reagujące na zagrożenia

- ochrona logiczna dostępu

- ochrona fizyczna dostępu

- zapewnienie zarówno integralności i bezpieczeństwa danych jak i tworzenie oraz przechowywanie kopii zapasowych

- zapewnienie bezpieczeństwa pracy systemu, także utrzymanie urządzeń i łączy zapasowych oraz zapewnieni ciągłości zasilania

- ustalenie procedur i zasad administratorom systemów informatycznych, sieci i aplikacji

- szkolenie pracowników w celu uświadomienia im ważności bezpieczeństwa

Wzrost popularności Internetu doprowadził do wyodrębnienia destruktywnej grupy osób, które mogę przyczynić się do poważnych strat w sieciach lokalnych. Można te osoby podzielić ze względu na zakres wiedzy i doświadczenia oraz celu swoich motywów działania:

- oszust - jest to osoba o bardzo małej wiedzy praktycznej, która chwili się wymyślonymi włamaniami

- script kiddie - w wolnym tłumaczeniu - skryptowy szczeniak lub dzieciak. Charakteryzują się znaczną wiedzą, którzy jednak nie mają raczej nic wspólnego hakerami. Wykorzystują pracę innych ludzi, co powoduje że zakres ich działania ogranicza się raczej do uruchamiania poszczególnych narzędzi

- haker - jest to osoba, która ma bardzo duży zakres wiedzy zarówno teoretycznej jak i praktycznej. Raczej nie bazują na pracy innych osób, ponieważ starają się samodzielnie pokonywać zabezpieczenia. Należy jednak zauważyć, że każdy prawdziwy haker posiada swój własny kodeks etyczny, który mówi że haker nie działa na szkodę innych

Rysunek z boku pokazuje, że źródłem ataku może być dosłownie każda instytucja. Należy wziąć to pod uwagę, przy budowaniu własnej polityki bezpieczeństwa. Należy o tym 0x08 graphic
pamiętać budując własną politykę obrony. System obrony powinien brać pod uwagę także ochronę sieci lokalnej przed wrogami wewnętrznymi.

0x08 graphic

System obronny wziąć pod uwagę wszystkie możliwe rodzaje ataku, bez względu na to prawdopodobieństwo danego zagrożenie.

1.1 Popularne rodzaje ataków

Ataki przeprowadzane z napastników opierają się na zwykle na wykorzystaniu niedoskonałości protokołów oraz błędów oprogramowania. Także błędy popełniane przez użytkowników czy też administratorów są `zachętą' do przeprowadzenia ataku. Najczęściej łączonych jest wiele różnych ataków, przez co szansa np. zdobycia uprawnień administratora się zwiększa. Na początku atak może przeprowadzony być na przeskanowanie komputera, co pozwala uzyskać informacje na temat oprogramowania, systemu operacyjnego, czy też strukturze sieci wewnętrznej. Omówię tylko najbardziej wykorzystane przez hakerów typy ataków.

Wciąż najpopularniejszą metodą, zapewniającą dostęp do odległego systemu jest Telnet (ang. Network Terminal Protocol). Warunek jaki należy spełnić przy logowaniu się jest znajomość zarówno identyfikatora jak i hasła. Niestety słaby punkt tej aplikacji polega na tym, że występuje kontrola tożsamości użytkownika. Hasło może zostać uzyskane przez nieodpowiednie osoby metodą zgadywania lub po zastosowaniu specjalnych programów, które wykorzystują słowniki (np. Cracków) i służą do automatycznego odgadnięcia hasła. Kolejnym sposobem na uzyskanie hasła jest metoda tzw. sniffing, co oznacza nasłuchiwanie sieci. Wystarczy tylko włączyć urządzenie nasłuchujące w tor transmisji danych, co spowoduje, że niezabezpieczone informacje przejmie niepowołana osoba. Nawet przesłanie klucza szyfrującego, oznacza ryzyko przejęcia.

Wykorzystanie protokołu FTP (ang. File Transfer Protocol), również stwarza niebezpieczeństwo. Dzięki temu protokołowi, użytkownik może uzyskać dostęp do plików, czy też wprowadzić odpowiednie złośliwe programy. Możemy wyróżnić poszczególne złośliwe programy:

- wirusy (ang. virus) - są to programy dołączające się do innych programów, mające na celu zniszczenie systemu i uaktywniające się w czasie włączania swojego „żywiciela”

- bakteria (ang. bacteria) - są to programy mające na celu zniszczenie systemu, które włączają takie procesy, które pożerają między innymi: powierzchnię dyskową, pamięć. - -

- bomba czasowa (ang. time bomb) lub bomba logiczna (ang. logic bomb) -to programy wirusowe, które uaktywniają się, jeżeli poszczególne warunki zostaną spełnione.

- robak (ang. worm) - program ten powiela samego siebie, wykonując określone czynności stworzone przez twórcę programu, próbujący się przenieść na inne na inną maszynę w sieci

- koń trojański - program ten udając inny legalny program, wykonuje niepożądanych tym samym czasie inne niepożądanych czynności, np. kradnie on hasło użytkownika. Wirus ten może przedostać się do naszego systemu poprzez poprzez pocztę elektroniczną, bądź w czasie ściągania programu z niesprawdzonego źródła.

Furtki i włazy

Tworzone przez programistów `furtki' np. podczas testowania aplikacji, umożliwiają kontrolowany dostęp do legalnych programów. „Furtką” taką może być, np. wpisanie odpowiedniej kombinacji klawiszy. Niebezpieczeństwem stosowania `furtek' jest to, że kiedy zostanie znaleziona, daje nieodpowiedniej osobie kontrolę nad aplikacją.

Włamania

Celem ataku może być próba zniszczenia danych czy też zdobycie dostępu do zasobów komputera, wynikiem czego, napastnicy nie zakłócają czy też nie przeszkadzają pracy innym użytkownikom systemu, co powoduje, że ataki takie mogą zostać niezauważone. Bardzo często tak zdobyty komputer wykorzystywany jest później do kolejnych ataków. Istnieje wiele sposobów na zdobycie dostępu do systemu, np. metodą siłową, czy też próba przepełnienia bufora, co może spowodować uzyskanie uprawnień administratora.

Hasła

Są najbardziej popularnym zabezpieczeniem dostępu do komputera. Bardzo ważne jest, aby hasła były odpowiednio skomplikowane, a najlepiej, aby nie występowały w żadnym słowniku. Zdobyte hasło administratora przez napastnika powoduje, że nasza sieć wewnętrzna jest bezbronna przez jakimikolwiek zmianami.

Blokada usług

Istnieje również taki rodzaj ataku, który swoim działaniem doprowadza do całkowitego wyczerpania wszystkich zasobów danego systemu, a tym samym jego upadku. Są typu DDoS (ang. Distributed Denial of Service - rozproszona odmowa usługi), wykorzystująca technikę odmowy usługi (ang. Denial of Service DoS). Ataki tego typu są szczególnie groźne, ponieważ ich źródło jest rozproszone, co powoduje, że administrator może nie zdawać sobie sprawy z faktu wystąpienia ataku

Przepełnienie bufora

(ang. buffer overflow) pozwala na wykorzystanie uprawnień atakowanego programu. Celem tego ataku są funkcje, które nie sprawdzają długości danych. Przepełnienie bufora polega na tym, że dostarczamy dłuższy łańcuch znaków, niż jest oczekiwany. Bufor może być zmodyfikowany tak, aby adres powrotny funkcji wskazał procedurę, np. uruchamiającą powłokę dłuższego uprawnieniami administratora.

Kradzież informacji

Głównym motywem kradzieży informacji są wszystkie wartościowe dane. Rozwój Internetu spowodował, że ilość poufnych informacji zwiększa każdego roku. Dane te, mogą zostać wykorzystane do nadużyć wobec firmy czy użytkownika. Internet przyczynił się do fałszowania informacji w nowy sposób. Przykładem obrazującym jest atak, który może być nastawiony na przechwycenie sesji w protokole TCP (ang. hijacking). Wykorzystywane jest tu podsłuchiwanie oraz modyfikowanie informacji (ang. spoofing). Napastnik powoduje przerywanie połączenia między serwerem a klientem, co umożliwia mu podszycie się pod klienta.

Inżynieria społeczna

Inżynieria społeczna (ang. social engineering) to jeden z najskuteczniejszych sposobów zdobycia poufnych informacji. Napastnicy wykorzystują fakt, że to człowiek jest najsłabszym ogniwem zabezpieczeń. Specjalnie przygotowany list elektroniczny przez napastnika może przyczynić się do ujawnienia hasła przez administratora czy użytkownika, np. próba telefoniczna z podszyciem się pod dyrektora, czy też list elektroniczny z wiadomością, że nastąpi błąd systemu komputerowego, jeśli nie wpisze się o identyfikatora lub hasła.

Podsłuchiwanie

Podsłuchiwanie pakietów (ang. sniffing) które przepływają przez sieć, pozwala w sposób pasywny na zdobycie informacji. Karta sieciowa ma możliwość pracownia w trybie rozwiązłym (ang. promiscuous mode), co daje możliwość na kompletne odbieranie pakietów, które są przesyłane przez daną podsieć. Kluczową rolę tu gra miejsce założenia podsłuchu. Najbardziej niebezpiecznym miejscem podsłuchiwania, z punktu widzenia zagrożenia, będzie komputer, który pełni rolę rutera pomiędzy Internetem a siecią lokalną.

  1. Budowa zapór ogniowych

Z reguły obiekty, na których działają firewalle to, np. pakiety i protokoły.

Jakiekolwiek informacje przesyłane przez sieć, dzieli się na małe kawałki, które w sieciach IP zwane są pakietami. Każdy pakiet składa się z dwóch części: nagłówka i treści. Nagłówek zawiera informacje o warstwie, a treść zawiera dane dla tej warstwy, które składają się z całego pakietu następnej warstwy. Każda warstwa interpretuje otrzymane informacje z warstwy znajdującej się wyżej, jako dane i dodaje do nich własny nagłówek. Każdy poziom pakietu zachowuje informacje z warstw poprzednich, więc żadne informacje nie są tracone. Proces ten, w którym są zachowywane dane i odbywa się dodawanie własnego nagłówka nazywa się enkapsulacją.

0x01 graphic

Warstwa Ethernetu podzielona jest na: dwie części nagłówka ethernetowego i zawartości. Do określenie adresu ethernetowego używamy adresu MAC

Nagłówek najczęściej określa:

- rodzaj pakietu - np. IP

- adres ethernetowy nadawcy (jeżeli adres nie jest w tej samej sieci, to adresem będzie ruter, nadający informacje

- adres ethernetowy odbiorcy, do którego pakiet ma być wysłany

0x01 graphic

Omówię tylko najważniejsze części pakietu IP, ważne tylko z punktu widzenia budowy firewalli.

2.1. Opcje IP

W nagłówkach IP mogą być ustawione pewne opcje. Z założenia, były one przeznaczone do pomocy w przesyłaniu pakietów przez sieć. Niestety opcje te, dają możliwość obejścia niektórych zabezpieczeń. Najczęściej występującą opcją jest tzw. opcja trasowania źródłowego (source routing), która pozwala określić dokładną trasę do przebycia przez pakiet począwszy od nadawcy a skończywszy na adresacie.

2.2. Fragmentacja IP

IP posiada możliwość podzielenia dużego pakietu na mniejsze części, w momencie, kiedy dana sieć nie akceptuje podanej wielkości pakietu. Poszczególne fragmenty składane są później na komputerze docelowym. Najczęściej decyzję, czy poszczególny pakiet podzielić czy nie, podejmuje ruter.

0x01 graphic

Z punktu widzenia filtrowania, problemem jest to, że tylko 1-wszy fragment posiada informacje pochodzące z protokołu wysokiego poziomu (TCP), które są wykorzystywane przez system filtrowania do podjęcia decyzji o przepuszczeniu całego pakietu. Początkowo, były filtrowane tylko pierwsze fragmenty pakietów, a pozostałe fragmenty były przepuszczane. Nie jest to jednak bezpieczny sposób, gdyż pofragmentowane dane, umieszczone są w pamięci danego hosta, który oczekuje na pozostałe fragmenty, co może doprowadzić do blokady usług. Host wysyła informacje ICMP „przekroczono czas składania pakietów”, kiedy stwierdzi o rezygnacji składania pakietu. Sytuacja ta niestety powoduje, że napastnik może wykryć, że host istnieje. Możliwe jest także podzielenie pakietów w celu ukrycia ich podczas przesyłania. Co więcej, możliwe jest skonstruowanie pakietów, aby poszczególne dane fragmenty pakietów pokryły się. Różne systemy operacyjne, różnie reagują na tak skonstruowane dane np. podczas zawieszenia systemu, możemy być ofiarą ataku.

0x01 graphic

2.3. Protokół TCP

Jest najczęściej wykorzystywanym protokołem występującym w Internecie (np. FTP, Telnet, SUMPT). Jest to protokół niezawodny, dlatego że:

- komputer docelowy otrzyma dane aplikacji w takiej kolejności, w jakiej do niego były wysłane

- komputer docelowy otrzyma wszystkie dane aplikacji

- komputer docelowy nie otrzyma żadnych informacji zduplikowanych

Protokół TCP jest wyposażony w 6 flag, które mogą być włączone lub wyłączone:

- FIN - kontroluje o zamknięciu połączenia (od ang. finish)

- SYN - otwiera nowe połączenie (od ang. synchronize)

- RST - natychmiastowe przerwanie połączenia, zresetuj (od ang. reset)

- PSH - (od ang. push)

- ACK - potwierdzają wcześniejsze pakiety (od ang. acknowledge)

- URG - potwierdza ważność niektórych danych, przez co muszą się wykonać natychmiast (od ang. urgens).

Najbardziej interesującymi flagami są ACK - umożliwia zdefiniowanie pierwszego pakietu połączenia i RTS - ponieważ odmawia połączenie bez zwracania błędu. Niestety, wiele implementacji TCP/IP reaguje w sposób nieprawidłowy na różne kombinacje przy zmianach powyższych flag, np. zawieszeniem maszyny. Co więcej, istnieją narzędzia, które potrafią odgadnąć jakiego systemu operacyjnego używamy, stosując opcję skanowania fingerprint.

3. Proces budowania ściany ogniowej

Proces budowania ściany ogniowej, możemy podzielić na kilka etapów:

1. Planowanie konfiguracji ściany ogniowej

Planowanie budowy jest bardzo ważne, gdyż błędy popełnione podczas konfiguracji, wpływają znacząco na pozostałe etapy naszej polityki bezpieczeństwa. Rezultat więc, może być zupełnie odmienny od zamierzonego celu. Na samym początku musimy odpowiedzieć na pytanie: co chcemy chronić? Jeżeli chcemy chronić tylko np. tylko 3 komputery, to zamiast budować ścianę ogniową, bardziej korzystne okaże się zastosowanie zabezpieczenia na poziomie pojedynczych hostów, dlatego że ściana ogniowa zalicza się raczej do mechanizmów zwanych ciężkim kalibrem.

Kolejnym zadaniem powinno być rozpoznanie topologii sieci i zidentyfikowanie potrzeb w zakresie aplikacji i protokołów. Analiza topologii sieci pod kątem zabezpieczenia naszej sieci, rozpoznanie systemów operacyjnych oraz analiza ilości aplikacji, które działają w naszej sieci może wskazać, że potrzebujemy skorzystania z usług osób zewnętrznych, którzy są ekspertami na polu bezpieczeństwa danych aplikacji. Musimy wziąć pod uwagę na analizę kompetencji decyzyjnych dla poszczególnych osób w naszej wewnętrznej sieci. Uświadomienie użytkownikom, dlaczego potrzeba zmian w konfiguracji sieci oraz rozwianie wszelkich ich wątpliwości, ponieważ to od nich będzie zależało bezpieczeństwo naszej sieci. Następnym etapem jest określenie konfiguracji ściany ogniowej - czy filtrowanie pakietów jest wystarczającym rozwiązaniem, czy też należy wykorzystać serwer proxy. Oczywiście rozpatrzenie czy bardziej opłacalne jest skonstruowanie własnej ściany ogniowej, czy może należałoby ją kupić. Możliwe jest wykonanie dobrej ściany ogniowej, ale konsekwencją może być jeden mały błąd, którego konsekwencje mogą być katastrofalne. Oczywiście z drugiej strony nawet najlepsza ściana ogniowa źle skonfigurowana, również może być przyczyną katastrofy.

2. Zdefiniowanie reguł dostępu do zasobów naszej sieci

Opierając się na wcześniej przygotowanych obserwacjach i analizach, tworzymy zasady, na których będziemy korzystali z zasobów naszej sieci. Określamy tu: kto oraz na jakich warunkach ma dostęp do wybranych zasobów. Warunki te dostosowujemy do posiadanej przez naszą sieć infrastruktury, na którą składają się stosowane platformy sprzętowe, czy też protokoły sieciowe.

3. Znalezienie zapory, która odpowiada naszym potrzebom

Wykorzystując wcześniej zdobyte informacje (analizy, ustalenie reguł dostępu), jesteśmy w stanie sprecyzować oraz wybrać pożądaną przez nas zaporę

4. Poprawna instalacja oraz konfiguracja ściany ogniowej

5. Bardzo szczegółowe przetestowanie ściany ogniowej

Testowanie ściany ogniowej powinno być przeprowadzone w dwóch etapach. Pierwszy etap polega na przetestowaniu zasad korzystania z naszej sieci przez zewnętrznych użytkowników. W drugim etapie zaś, przeprowadzamy test wewnętrznych reguł korzystania z sieci. Powyższe etapy powinny być wykonane bardzo dokładnie, gdyż są one ostatnim etapem przed wykorzystaniem (włączeniem) ściany ogniowej w sieci.

3.2 Hosty bastionowe

Hosta bastionowy jest istotnym oraz często stosowanym elementem ściany ogniowej. Są to bardzo dobrze zabezpieczone systemy komputerowe, widoczne w Internecie. Widoczność ta powoduje, że są one celem ataków. Dlatego polityka defensywna, powinna w bardzo dużym stopniu skupiać się właśnie na nich. Marcus Ranum najlepiej oddał ideę hostów bastionowych oraz sprawił, że właśnie termin host bastionowy stał się bardzo popularny w środowisku, które jest związane ze ścianami ogniowymi:

„Bastiony ... górowały nad krytycznymi punktami obrony, zazwyczaj miały mocniejsze ściany,
miejsca dla dodatkowych żołnierzy i czasem kadź z wrzącym olejem, użyteczną do zniechęcania napastników”.

3.2.1 Rodzaje hostów bastionowych

Założeniem hosta bastionowego jest jego prostota, dlatego iż czym jest on prostszy, tym jest łatwiejszy do zabezpieczenia. Kolejnym założeniem jest to, aby każdy host bastionowy robił tylko i wyłącznie tyle, do czego jest przeznaczony tzn. ma on za zadanie udostępnić tylko taki zbiór usług, których przywileje są na minimalnym poziomie. Oczywiście zawsze trzeba rozważyć sytuację, w której host bastionowy zostanie ofiarą ataku, lecz ogólnie biorąc, nie powinno to zagrozić całej ścianie ogniowej oraz chronionej przez niej sieci.

Nietrasujące hosty dwusieciowe

Komputer, na którym występuje niestrasujący host bastionowy, ma przynajmniej dwa interfejsy sieciowe. Cechuje go to, że pakiety nie są przesyłane bezpośrednio pomiędzy siecią zewnętrzną a siecią wewnętrzną. Dlatego należy się upewnić oraz sprawdzić, czy rzeczywiście wyłączono trasowanie pakietów. Hosty bastionowe mogą samodzielnie stanowić ścianę ogniową. Ale powoduje to, że zabezpieczenie hosta bastionowego jest bardzo istotne, ponieważ cała nasza sieć, całe nasze bezpieczeństwo zależy od tylko jednego komputera.

Komputery-ofiary

Komputery-ofiary mają na celu oferowanie usług, które bardzo trudno jest zabezpieczyć oraz dla usług nowych, o których nie wiemy jaki mają wpływ na bezpieczeństwo. Komputery-ofiary nie powinny zawierać nic interesującego, co mogłoby przyciągnąć uwagę napastnika. Podstawowa cecha, która wyróżnia komputer-ofiarę, jest jego prowizoryczność. Kiedy komputer ten padnie ofiarą ataku, nie powinno się zdarzyć nic, co bezpośrednio wpływa na politykę bezpieczeństwa naszej sieci.

Wewnętrzne hosty bastionowe

Często występuje przypadek, w którym główny host bastionowy stara się nawiązać specjalny typ komunikacji (połączenia) z wybranymi komputerami, które znajdują się w sieci wewnętrznej. Przykładem może być przekazanie przez host bastionowy poczty elektronicznej do wewnętrznego serwera pocztowego. Wtedy komputery takie, stają się wewnętrznymi hostami bastionowymi. Dlatego też, powinny być zabezpieczone tak samo jak hosty bastionowe.

Zewnętrzne hosty usługowe

Komputery jako swoje zadanie mają udostępnić usługi w Internecie. Przykładem może być serwer WWW. Ze względu na to, jaką funkcję pełnią, powinny być bardzo solidnie zabezpieczone. W trakcie konfiguracji zewnętrznego hosta usługowego należy brać pod uwagę to, że wystarczające jest, aby miały minimalny dostęp do sieci wewnętrznej.

3.2.2 Tworzenie hosta bastionowego

Komputer, który jest przeznaczony, aby był hostem bastionowym nie powinien być za bardzo wydajny, gdyż w przeciwnym przypadku może być atrakcyjnym celem ataku. Kolejną zaletą małej wydajności komputera jako hosta bastionowego jest to, że nie będzie zainteresowania nim ze strony użytkowników. Spowodowane jest tym, że jakiekolwiek dodatkowe, niezbyt potrzebne usługi, uniemożliwiają prawidłowe zabezpieczenie tego komputera. Jeżeli chodzi o wybór systemu operacyjnego, jest to sprawą czystą indywidualną. Chodzi po prostu o to, aby jego znajomość była bardzo dobra, co przyczyni się do niedopełnienia lub bardzo małej ilości pomyłek, podczas jego zabezpieczenia lub konfiguracji. Najbardziej popularnym systemem, na którym tworzy się hosta bastionowego jest system operacyjny Uniks, ale oczywiście wykorzystuje się też system operacyjny Windows. Hosta bastionowego umieszcza się w sieci, która nie przenosi żadnych ważnych ani kluczowych danych. Najlepiej umieścić jest hosta bastionowego w specjalnej do tego wydzielonej podsieci. Wynikiem tego rozwiązania jest uniknięcie możliwości podsłuchiwania poufnych informacji, kiedy host bastionowy padanie ofiarą ataku. Oczywiście ważnym elementem jest zadbanie o bezpieczeństwo fizyczne komputera. Nieakceptowana jest sytuacja, kiedy napastnik ma fizyczne dostęp do komputera. Dlatego też dobrym rozwiązaniem jest umieszczenie hosta bastionowego w specjalnym, zamkniętym oraz klimatyzowanym pomieszczeniu.

Kolejnym zadaniem, które ma spełnić host bastionowy jest ustalenie, jaką funkcję będzie spełniał. Usługi, które wybraliśmy, powinny być pogrupowane według ważności oraz stopnia bezpieczeństwa. Może oczywiście zdarzyć się sytuacja, gdzie konieczność zbudowania kilku hostów bastionowych będzie oczywista. Hartowanie systemu (ang. hardening) to konfiguracja komputera pod kątem największej odporności na ataki. Kontynuując, kolejne etapy tworzenia hosta to: - zabezpieczenie komputera
- wyłączenie niepotrzebnych usług
- instalacja oraz modyfikacja tych usług, które chcemy udostępnić
- zmiana konfiguracji na użytkową
 - przeprowadzenie audytu bezpieczeństwa
 - podłączenie komputera do sieci

Zabezpieczenie komputera

Rozpoczynamy instalacją systemu operacyjnego. Istotnym czynnikiem jest to, abyśmy podczas instalacji instalowali tylko minimalną ilość dodatkowych składników. Kolejnym krokiem jest usunięcie wszystkich znanych usterek systemu operacyjnego. Zatem należy zainstalować istniejące poprawki systemu oraz łaty bezpieczeństwa. Istnieje kontrolna lista bezpieczeństwa, z której zaleca się korzystać. Da nam ona gwarancję, że wszystkie istotne elementy były wzięte pod uwagę. Należy też usunąć wszystkie konta użytkowników, które są zbędne. Kolejnym ważnym elementem bezpieczeństwa są tzw. dzienniki systemowe. Ważne jest więc, by były bardzo solidnie zabezpieczone, aby uniemożliwić ich modyfikację. Gdyby zostały przejęte przez napastnika, mógłby on zacierać ślady swoich ataków. Możemy więc zastosować takie urządzenie, które umożliwia dokonanie tylko jednokrotnego zapisu. Dlatego sposób wybierania rejestrowanych zdarzeń powinien być bardzo dobrze przemyślany, gdyż duża ilość informacji, szczególnie tej niepotrzebnej, bardzo utrudnia znalezienie tej konkretnej. Dokładna synchronizacja czasu również okazuje się bardzo przydatna.

Wyłączanie niepotrzebnych usług

Wszystkie usługi, które wydają się nam niepotrzebne powinny zostać wyłączone. Dlatego, że każda z nich może zawierać pewne błędy programistyczne, które mogą spowodować niepotrzebne zagrożenie bezpieczeństwa naszej sieci. Należy pozostawić tylko te usługi, które są absolutnie niezbędne. Poniższe słowa bardzo dobrze ilustrują ten etap:

„Hosty bastionowe to dziwne komputery. Związek między hostem bastionowym i zwykłym komputerem biurkowym przypomina związek między samochodem i traktorem. Zarówno samochód, jak i traktor są pojazdami i w ograniczonym stopniu mogą spełniać te same funkcje, ale bardzo różnią się właściwościami. Host bastionowy, podobnie jak traktor, jest zaprojektowany do pracy, a nie pod kątem wygody. W rezultacie otrzymujemy urządzenie funkcjonalne, ale niezbyt zabawne”.

Instalacja oraz modyfikacja udostępnianych usług

Część wybranych przez nas usług, może nie być w składzie systemu operacyjnego. Po wykonaniu instalacji oraz odpowiedniej konfiguracji systemu, należy go zabezpieczyć. Oczywiście jest to proces bardzo zróżnicowany i powinien być dopasowany do danej usługi. Zauważyć jednak trzeba, że przyszłe bezpieczeństwo jest bardzo uzależnione od tego etapu.

Zmiana konfiguracji na użytkową

W czasie konfiguracji hosta bastionowego, wykorzystuje się bardzo wiele zróżnicowanych narzędzi. Niestety całe oprogramowanie, które ułatwia nam pracę musi zostać usunięte. Oczywiście sprawi to, że praca z takim hostem bastionowym stanie się niewygodna oraz trudna. Należy więc zapisać te urządzenia na zewnętrzny dysk, które mamy zamiar usunąć, aby w przyszłości, podłączenie takiego dysku ułatwiło ewentualną konieczność aktualizacji oraz modyfikacji oprogramowania komputerze, który jest hostem bastionowym. Kiedy konfiguracja zostanie zakończona, bardzo ważne jest zamontowanie kluczowych systemów plików w trybie tylko do odczytu. Zapewni to brak możliwości modyfikacji konfiguracji komputera. Sprzętowe zabezpieczenie dysków przed zapisem jest najlepszym rozwiązaniem.

Audyt bezpieczeństwa

Wykonanie audytu bezpieczeństwa służy wykryciu obecności luk w zabezpieczeniach, które są znane. Co więcej, można utworzyć bazę danych zawierającą sumy kontrolne wszystkich plików, które występują w systemie. Daje to możliwość zauważenia wszelkich nieautoryzowanych zmian plików.

5. Architektura ścian ogniowych

Komponenty poszczególnych ścian ogniowych mogę być wybierane w różny sposób. Oczywiście decyduje o tym funkcja, którą ma spełnić firewall. Często występują pojedyncze urządzenia (ang. single-box architecture), które pełni rolę ściany ogniowej. Możemy się wtedy skupić na skonfigurowaniu firewalla tylko w jednym miejscu. Powoduje to jednak także niebezpieczeństwo, gdyż jest to jedyne chroniące naszą sieć. To się jednak sprawdza tylko dla małych ośrodków. Z reguły w większych firmach, wymagany jest wyższy poziom bezpieczeństwa oraz większa elastyczność. Wtedy to właśnie jesteśmy zmuszeni do zastosowania zaawansowanych architektur firewalli, nawet z architekturami z wewnętrznymi firewallami. Takim przykładem wykorzystujące powyższe architektury może być specjalna sieć laboratoryjna czy też sieć ze szczególnie poufnymi danymi.

5.1 Ruter osłaniający

Dość tanim rozwiązaniem jest zastosowanie samego filtra pakietów. Funkcja ta może zostać spełniaona przez ruter ekranujący (ang. screening router). Zaletą tego rozwiązania jest wysoka wydajność, lecz niestety mamy małą elastyczność działania, gdyż możemy wykorzystać tylko filtrowanie pakietów bez możliwości wykonania pewnych operacji w ramach danego protokołu. Co więcej, ruter jest naszym jedynym zabezpieczeniem, więc złamanie go oznacza że jesteśmy zupełnie otwarci dla hakera, który spowodował przełamanie. Rutery osłaniające przydatne są w sieciach, w których wykorzystywane protokoły są dosyć proste oraz ich liczba jest ograniczona Ważne jest także dobre zabezpieczenie komputerów, które znajdują się w sieci wewnętrznej. Rozwiązania stosowania rutera ekranującego są użyteczne w sieciach dostarczających usług internetowych.

0x01 graphic

5.2. Host dwusieciowy.

Rozwiązanie z użyciem hosta dwusieciowego, polega na zbudowaniu hosta z dwoma interfejsami sieciowymi (ang. dual-homed host). Jeden z nich obsługuje sieć wewnętrzną, a drugi sieć zewnętrzną. Użycie hosta dwusieciowego spowoduje, że bezpośrednia komunikacja zachodząca pomiędzy wewnętrzną siecią a Internetem będzie zablokowana. Komunikacja ta, w tym przypadku odbywa się tylko i wyłącznie przez host dwusieciowy. Umożliwia trasowanie pakietów IP z jednej sieci do drugiej. Udostępnia także usługi pośredniczenia. Może też przedstawić się jako ruter, realizując przeźroczyste pośredniczenie. Należy zauważyć, że usługi pośredniczenia mają najlepszą współpracę z usługami wychodzącymi, w momencie, kiedy użytkownicy naszej sieci (sieci wewnętrznej), korzystają z zasobów, które znajdują się na zewnątrz. Jest to przyczyną, gdzie architektura nie znajduje zastosowania w udostępnieniu usług w Internecie. Systemy chronione mają możliwość komunikacji ze ścianą ogniową, lecz niestety nie mogą komunikować się bezpośrednio ze sobą (ruch IP pomiędzy nimi jest zablokowany). Zaletą stosowania hosta dwusieciowego jest bardzo wysoki stopień kontroli sieci (nie jest możliwy bezpośredni routnig). Przydatne jest to rozwiązanie w przypadku, kiedy łączność z Internetem nie decyduje o prowadzeniu firmy oraz kiedy chroniona sieć nie zawiera bardzo ważnych informacji. Host dwusieciowy jest jedynym miejscem ochrony sieci wewnętrznej, co powoduje, że powinien być bardzo dobrze zabezpieczony. Zastosowanie hosta dwusieciowego nie jest raczej wydajne. Stosuje się go w sytuacjach, w przypadku małego ruchu w Internecie.

0x01 graphic

5.3.

3.1 Stosowane technologie

Rozdział ten omawia najważniejsze technologie, które są wykorzystywane przez ściany ogniowe. Technologie są bardzo istotnym elementem, który odnosi się do bezpieczeństwo, dlatego też, musimy zwrócić na nie zwrócić należytą uwagę. Przykładem może być określenie filtr pakietów, które kojarzy się ze ścianami ogniowymi, lecz niestety to określenie jest zbyt ogólne. Dlatego naprawdę warto sprawdzić, której technologii naprawdę potrzebujemy.

3.1.4 Bezpieczny system operacyjny (ang. Secure operating systems)

System operacyjny, na którym pracujemy, musi być nie tylko stabilny, ale także uniemożliwić hackerom przeprowadzenie ataku na chronioną sieć. Program systemu operacyjnego, na którym działa firewall, powinien być jedyną pracującą aplikacją, gdyż utrudnia i nie dostarcza dodatkowych możliwości hakerom na naszą sieć.

3.1.5 Usługa nazw domenowych

Komputer, który pracuje jako ściana ogniowa, powinien mieć działanie zbliżone do serwera DNS (jest to serwer, który dokonuje konwersji mnemonicznych nazw host'ów na numery IP).

Jeśli do systemu przychodzi zapytanie o serwer naszej sieci wewnętrznej, ściana ogniowa nie pokazuje nazwy naszej sieci, odpowiadając tylko swoim IP. Jeśli natomiast zostanie wysłane zapytanie z sieci wewnętrznej o dany komputer (serwer) sieci zewnętrznej, ściana ogniowa zareaguje jak zwykły DNS (ang. Domain Name Service), odszukując odpowiedni adres.

3.1.6 Przetwarzanie poczty elektronicznej

Obecnie programy poczty elektronicznej, są najczęstszym celem ataków, gdyż posiadają bardzo wiele dziur. Dlatego też, bezpośrednia obsługa poczty elektronicznej staje się niemożliwa. Aby poradzić sobie z tym problemem, stosuje się tzw. bramy pocztowe, które pobierają i odbierają pocztę, mające za zadanie w bezpieczny sposób przetworzyć pocztę elektroniczną. Poczta, która przychodzi z Internetu, przyjmowana jest przez ścianę ogniową, która rozsyła pocztę do sieci prywatnej.

3.1.1 Filtrowanie pakietów

Jest to podstawowa technologia, która jest stosowana w ścianach ogniowych. Zabezpieczenie to polega na tym, że jest kontrola nad tym, co może wypłynąć i wpłynąć z naszej wewnętrznej, chronionej podsieci. Filtrowanie może odbywać się na różnych poziomach,

więc w zależności od poziomu filtrowania, dostępne są różne informacje:

- warstwa dostępu do sieci (adresy MAC źródłowe i docelowe)

- warstwa internetowa (rodzaj przenoszonego protokołu, adresy IP odbiorcy i nadawcy)

- warstwa transportowa (znaczniki, porty docelowe i źródłowe)

- warstwa aplikacji (protokoły takie jak Telnet, HTTP, FTP)

Filtrowanie może odbywać się na urządzeniu czy też oprogramowaniu, które jest uruchamiane na komputerze o ogólnym przeznaczeniu. Naturalnym miejscem, na którym odbywa się filtrowanie pakietów jest ruter. Normalny ruter sprawdza docelowy adres IP pakietu i na tej podstawie podejmuje decyzję w związku z trasą, aby pakiet trafił do miejsca przeznaczenia. Ruter filtrujący dodatkowo rozważa decyzję o przekazaniu pakietu czy nie. Może on także podjąć decyzję o podniesieniu alarmu, modyfikacji pakietu czy też ewentualnym rejestrze zdarzenia. Ruter filtrujący podejmuje swoje decyzje w zdefiniowanych regułach filtrowania, które powstają z przyjętej przez przedsiębiorstwo polityki bezpieczeństwa.

Można powiedzieć więc, że każda reguła filtrowania złożona jest z dwóch części:

- pola czynności

- kryterium wyboru

Z kolei pole czynności ma do wyboru dwie możliwości:

- przepuścić wiadomość przez sieć, albo

- zablokować, czyli odrzuc wiadomość

Podjęte czynności zostaną podjęte na podstawie wcześniejszym sprawdzeniu kryteriów wyboru, które mogą dotyczyć sprawdzenia wielu parametrów.

0x01 graphic

a) Adres źródłowy i docelowy - definiuje się go przy pomocy dwóch wartości, które zapisane są w notacji dziesiętnej z kropkami. Pierwsza wartość jest adresem wzorcowym, natomiast druga wartość, to maska wybierająca bity adresu, które brane są pod uwagę w trakcie porównywania. Pomaga to na wybranie tylko tych adresów, które pochodzą z określonego przedziału. Reszta adresów jest odrzucana. Taka sama procedura jest wykonywana podczas adresu docelowego.

b) Protokół - każdy pakiet może być wybrany na podstawie protokołu z powyżej warstwy IP. Mogą być to protokoły np. TCP, UDP lub ICMP

c) Port źródłowy i docelowy - pakiet zostanie wysłany tylko wtedy, kiedy port jest właściwy. W trakcie instalacji programu, należy zwrócić uwagę na dwie bardzo ważne reguły.

- powinniśmy udostępniać tylko te porty, które odpowiadają oferowanym przez nas usługom           

- powinniśmy zablokować wszystkie porty, a następnie otwierać tylko te, które są niezbędne

Porty, które pozostają otwarte (ulubione porty, które wykorzystują hakerzy to porty powyżej 1023) są wspaniałą okazją (furtką), aby podłożyć np. konia trojańskiego. Dlatego też, podczas konfiguracji ściany ogniowej, powinniśmy oferować dostęp do wyznaczonych przez nas portów, a zablokować pozostałe.

d) Kierunek - każdy pakiet przesyłany w sieci, może być wybrany bazując na podstawie kierunku przesyłania informacji. Pakiety które przychodzą, umożliwiają przepuszczenie informacji pochodzącej z sieci zewnętrznej, a pakiety wychodzące odwrotnie.

Wady i zalety filtrowania pakietów

0x08 graphic
Włożywszy dużo wysiłku w bezpieczeństwo możemy spowodować, że będziemy mogli w pełni kontrolować przepływ pakietów. W systemach pośredniczących pewne zdania są łatwe w realizacji (jednak jest wymagana dokładana znajomość protokołu, czy też zapamiętania długiej sekwencji poprzednich zdarzeń). Z kolei systemy filtrujące przydają się bardziej, kiedy proste operacje mają być wykonane w sposób szybki i na poziomie pojedynczych pakietów. Główną zaletą stosowania filtrowania pakietów jest centralne zabezpieczenie sieci. Przykładem może być usługa Telnet. Zablokowanie korzystania z usługi Telnet stosując filtrację, zabezpiecza komputery skupione wewnątrz sieci, niezależnie czy mają one włączony serwer Telnet czy nie. Filtrowanie pakietów daje możliwość wykrycia oraz odrzucenia nielegalnych pakietów. Wiele ataków, które są przeprowadzone na blokowanie usług, polegają na źle sformułowanych pakietach. Innym elementem stanowiącym część ataków, to pakiety pochodzące z Internetu, które podszywają się pod maszyny naszej sieci wewnętrznej. Rutery, które z reguły mające silną obronę TCP/IP oraz umieszczone są na granicy sieci wewnętrznej a Internetem, są bardzo dobrym miejscem w celu zapobiegnięcia tym typom ataków. Jeżeli chodzi o wady filtrowania pakietów, to zaliczyć można do nich trudność konfiguracji i przetestowania. Kolejną wadą są problemy wynikające ze stworzenia odpowiednich reguł, które są podstawą polityki bezpieczeństwa. Nie należy także zapominać, że stosowanie filtracji pakietów znacznie obciąża ruter, co bardzo mocno może odbić się na jego wydajność. Również nie mamy 100% gwarancji bezpieczeństwa ze stosowania filtrów pakietów, gdyż tak jak i inne produkty, mogą zawierać w sobie błędy.

3.1.2 Usługi pośredniczenia (serer proxy)

0x08 graphic
Serwery proxy są to systemy, mające rzeczywisty dostęp do Internetu (sieci zewnętrznej) oraz pośredniczące komputerom, które tego dostępu nie mają. Istotnym czynnikiem jest bardzo dobre zabezpieczenia serwera proxy, dlatego że to on ma bezpośredni kontakt (jest on widoczny) na zewnątrz naszej sieci. Powoduje to, że bardzo często serwery proxy działają w hostach bastionowych. Istotnym czynnikiem jest oszczędność przestrzeni adresowej, gdyż system pośredniczący jako jedyny, potrzebuje ważnego adresu IP. Podstawowym czynnikiem przemawiającym za tego typu usługą jest możliwość inteligentnego filtrowania. W serwerze proxy filtrowanie jest bardziej zaawansowane porównując z filtracją pakietów, dlatego że serwery proxy zajmują się tylko z konkretnymi połączeniami. Aktywne zaangażowanie w połączenie, daje możliwość na przeprowadzenie uwierzytelnienia na poziomie użytkownika.

Działanie pośredniczenia

Użytkownicy, którzy korzystają z systemów pośredniczących, odnoszą wrażenie jakby bezpośrednio komunikowali się z serwerami w Internecie. Jednak w rzeczywistości odbywa się to inaczej. Program użytkownika nawiązuje kontakt z serwerami proxy, a nie z prawdziwymi serwerami zewnętrznymi. Usługa pośredniczenia ocenia żądanie klienta na podstawie przyjętej polityki bezpieczeństwa i jeśli je uzna (sprawdzenie wierzytelności użytkownika), porozumiewa się z docelowym serwerem w jego imieniu, gdzie pośredniczy w porozumiewaniu się pomiędzy klientem a serwerem. Aby pośredniczenie mogło normalnie (poprawnie) funkcjonować, po stronie klienta musi być zachowany jeden z poniższych warunków:

Specjalne oprogramowanie

Dana aplikacje musi potrafić współpracować z serwerami proxy.

Modyfikacja systemu operacyjnego

Modyfikacja systemu operacyjnego występuje, aby mógł on obsługiwać serwer proxy. Konsekwencją tego jest przyczynienie się to do współdziałania pomiędzy aplikacjami a serwerami proxy. Jedynym wyjątkiem mogą być aplikacje, wykonujące niskopoziomowe operacje na połączeniach.

Procedury użytkownika, które umożliwiają współpracę z usługami pośredniczenia

Metoda ta jest najbardziej uciążliwa z punktu widzenia użytkowników. Powodem jest to, że muszą oni nauczyć się specjalnych procedur. Procedury te dają możliwość wykorzystania standardowego oprogramowania służącego do łączenia się z usługami pośredniczenia.

Ruter obsługujący pośredniczenie

Rozwiązanie to wykorzystuje cechy filtrowania i pośredniczenia. Jest ono niewidoczne dla użytkownika. Ruter przechwyciwszy dany pakiet, kieruje go do serwera proxy. Istnieje także możliwość przedstawienia serwera proxy jako ruter. Poniższy rysunek pokazuje działania tej metody.

0x01 graphic

Rysunek 3.1 Przekierowywanie połączeń

Rodzaje serwerów proxy

Serwery proxy możemy podzielić się te, które działają na poziomie aplikacji i te, działające na poziomie obwodu. Serwery działające na poziomie aplikacji znają aplikację, na rzecz której pośredniczą. Rozumieją i interpretują one polecenia w protokole. Co więcej, każdy plik potrzebuje osobnego serwera Inne działanie mają natomiast serwery obwodowe. Otrzymawszy dane, nie interpretują one protokołu aplikacji, tylko przesyłają je do miejsca przeznaczenia. Kolejnym podziałem, jaki możemy wyróżnić w serwerach proxy jest podział ich na uniwersalne oraz wyspecjalizowane. Te pierwsze obsługują wiele protokołów, natomiast te drugie obsługują tylko jeden protokół. W praktyce zobaczyć możemy, że serwery wyspecjalizowane działają na poziomie aplikacji, natomiast serwery uniwersalne na poziomie obwodu. Możemy jednak wyróżnić jeszcze jeden serwer proxy, które nazywane są serwerami inteligentnymi. Potrafi nie tylko przekazywać żądania pomiędzy sieciami, ale także buforować dane. Powoduje to, że w niektórych sytuacjach zwiększa to wydajność. Inteligentne serwery mogą przeprowadzać dokładną rejestrację zdarzeń oraz zaawansowaną kontrolę dostępu. Należy zauważyć, że wyspecjalizowane serwery proxy, działające na poziomie aplikacji dysponują bardzo dużymi możliwościami. Pakiet SOCKS stanowi standard pośredniczenia w Internecie. Jest to pakiet nie kontrolujący i nie rejestrujący specyficznych zdarzeń dla poszczególnych protokołów. Pakiet ten, daje możliwość kontroli dostępu według adresu docelowego i źródłowego, portu docelowego poszczególnych źródłowego oraz użytkownika.

3.1.3 Translacja adresów sieciowych

Translacja adresów sieciowych (ang. Network Address Translation - NAT), umożliwia użytkownikom stosowanie różnych adresów sieciowych wewnątrz i na zewnątrz danej sieci. W trakcie przechodzenia pakietów, modyfikowane są adresy w ich nagłówkach. System translacji adresów sieciowych umożliwia równoczesną modyfikację numerów portów źródłowych oraz docelowych, która nosi nazwę translacji portów i adresów sieciowych (ang. Port and Address Translation - PAT). Obrazuje to poniższy rysunek

0x01 graphic

Rysunek 3.2 Translacja adresów i portów

Występują różne sposoby tłumaczenia adresów:
 - statyczna translacja adresów - polega to na tym, że do każdego adresu naszej sieci wewnętrznej, jest na stałe przydzielony jeden adres zewnętrzny
 - dynamiczna translacja adresów - z ustalonej wcześniej puli przydzielane są adresy zewnętrzne, kiedy następuje próba nawiązana połączenia przez hosty w sieci wewnętrznej
 - dynamiczna translacja adresów i portów - podobnie jak dynamiczna translacja adresów, tylko tutaj jeszcze następuje dynamiczne przydzielenie portów

W praktyce najczęściej stosowaną metodą jest dynamiczna translacja adresów i portów sieciowych, gdyż w najbardziej efektywny sposób wykorzystuje ona przestrzeń adresową. Dodatkowym atutem jest to, że ukrywa ona wewnętrzny układ sieci oraz że ma możliwość wymuszenia kontroli przy wychodzących połączeniach w jednym miejscu. Wymuszenie to, polega na nadaniu komputerom znajdującym się w naszej wewnętrznej sieci adresów, niedziałających w Internecie (sieci zewnętrznej). A więc uniemożliwia możliwość połączeń, które pomijają system translacji adresów. Niestety jednak, translacja adresów nie jest bez wad. Problem może pojawić się wtedy, gdy występuje kontakt z bezpołączeniowym protokołem UDP. Jest to wynikiem tego, że nie można stwierdzić na podstawie nagłówka, czy pakiet UDP jest oddzielnym zdarzeniem czy częścią konwersacji. Dalszym problemem są poukrywane adresy IP. System translacji adresów wykorzystywane przez niektóre protokoły musi na tyle rozumieć dany protokół, aby była możliwość znalezienia oraz modyfikacji ukrytych adresów IP. Problem jest także to, że nie zawsze jest dobra współpraca pomiędzy systemami szyfrowania i uwierzytelniania a systemem translacji adresów, gdyż próba modyfikacji zabezpieczonych danych może naruszyć integralność oraz spowodować zerwanie połączenia.

3.1.7 Uwierzytelnianie użytkownika

        Uwierzytelnienie danych użytkownika jest niebezpieczne, dlatego że w bardzo prosty sposób potrafi zniszczyć blokady stosowane w ścianie ogniowej. Występuje to wtedy, kiedy podamy poprawny identyfikator i hasło użytkownika w sieci jawnej. Występuje to w programach takich jak Telnet.

  0x01 graphic

Aby uniknąć takich sytuacji, stosuje się program Ssh, pozwalający na zdalne załogowanie się na inne maszyny w sieci oraz zdalne uruchamianie na tych maszynach komend. Co więcej, pozwala kopiować pliki pomiędzy komputerami w sieci. Ssh wykorzystuje bardzo silne procedury autoryzacji. Zapewnia także bardzo bezpieczną wymianę danych, występującą między dwoma punktami sieci w miejscach (kanały komunikacyjne), które z reguły nie dają pełnej gwarancji ochrony danych. Oferuje także bezpieczne przekazywanie połączeń TCP

Ssh daje zabezpieczenie przed zagrożeniami typu:

- zostanie wysłane hasło w postaci jawnego tekstu

-IP spoofing - komputer wysyła pakiety, mające na celu stworzenie pozorów, że pochodzą z "zaufanego" komputera,

-IP source routing - wysyłane pakiety mają za zadanie podszycia się pod "zaufany" host w sieci, w celu przejęcia całej jego transmisji

-DNS spoofing - polega na zmienieniu przez atakującego serwer DNS w taki sposób, aby wskazywał na jego komputer

Tylko w sposób brutalny można przerwać połączenie Ssh. Dlatego nie istnieje możliwość odszyfrowania bądź też przejęcia połączenia.

Ssh działa na zasadzie - całe połączenie szyfrowane jest przy pomocy DES (lub też innego szyfrowania, które zostało wybrane przez użytkownika, np. 3DES). Klucze, które są stosowane do kodowania, wymieniane są za pomocą RSA. Co godzinę niszczone są dane, które służą przy wymianie kluczy, a same klucze nie są zapisywane. Każdy host posiada swój własny klucz RSA, który jest potrzebny przy autoryzacji. W celu przeciwdziałania IP spoofingu czy też podsłuchiwania sieci, aby przechwycić hasło, stosuje się właśnie szyfrowanie połączenia. Autoryzacja kluczy publicznych ma na celu wyeliminowanie spoofingowi DNS oraz routingowi.

3.1.4 Wirtualne sieci prywatne

Kolejną technologią stosowaną w ścianach ogniowych jest technologia wirtualnych sieci prywatnych (ang. Virtual Private Network - VPN). Wykorzystywane są tu mechanizmy kryptograficzne, mające na celu korzystnie z sieci publicznych w ten sposób, jakby były one sieciami prywatnymi. Rozwiązanie to daje możliwość osiągnięcia dobrego poziomu bezpieczeństwo, stosunkowo przy niskich kosztach. Istotnym czynnikiem jest powszechna dostępność VPN. Niestety nie jest to dobre rozwiązanie w przypadku, kiedy ściana ogniowa nie potrafi kontrolować ruchu w wirtualnych sieci prywatnych. Dosyć często zalecane jest wykorzystanie tych usług w połączeniu z innymi możliwościami ścian ogniowych. Dobrym przykładem są produkty firmy Cisco. Bardzo istotne jest także to, aby wirtualna sieć prywatna, nie stała się automatycznie częścią sieci wewnętrznej. Również zdalne końce VPN powinny być w odpowiedni sposób zabezpieczone.

0x01 graphic

WSTĘP
1.1 Co to jest Firewall
1.2 Funkcje Firewalli.
1.3 Sieciowe zagrożenia
2. Typy Firewalli
2.1 Zapora ogniowa na poziomie sieci
2.2 Zapora ogniowa na poziomie aplikacji
2.3 Zapora ogniowa na poziomie transmisji
3. Zasada działania zapory
4. Architektura zapory ogniowej
4.1 Zapora ogniowa z dwiema kartami
4.2 Zapora ogniowa z routerem ekranującym
4.3 Zapora ogniowa z dwoma routerami ekranującymi
5. Firewall sprzętowy & programowy
5.1 Kryteria wyboru Firewalla
5.2 Firewall programowy
5.2.1 Symantec Norton Personal Firewall 2004
5.2.2 ZoneAlarm Pro 4.0
5.2.3 Agnitum Outpost Personal Firewall Pro 2.0
5.2.4 Kerio Personal Firewall 2.1.5
5.3 Firewall sprzętowy
5.3.1 Check Point VPN-1/FireWall-1
5.3.2 FW-500 (3xLAN) NS Geode
5.3.3 Cisco PIX Firewall
5.4 Budowa Firewalla sprzętowego
5.5 Router jako zapora ogniowa
5.6 Zapora programowa czy sprzętowa
6. Usługi dodatkowe zapory ogniowej
7. Ustawianie Firewalla
7.1 Konfiguracja
7.1.1 Sygate Personal Firewall 5.0
7.1.2 Kerio Personal Firewall
7.1.3 Tiny Personal Firewall
7.2 Testowanie zabezpieczenia
7.2.1 Testery online
7.2.2 Skanowanie lokalne
7.2.2.1 Nmap
7.2.2.2 Nessus
7.2.2.3 SAINT
8. Filtrowanie ruchu pakietów w sieci
8.1 Zalety filtrowania pakietów
8.2 Wady filtrowania pakietów
8.3 Metody filtrowania
8.3.1 Statyczne access-listy
8.3.2 Dynamiczne access-listy
9. Wady i zalety Firewall
9.1 Zalety
9.2 Wady
10. Bibliografia

0x01 graphic
0x01 graphic
0x01 graphic

15



Wyszukiwarka

Podobne podstrony:
Praca licencjacka
praca licencjacka K Siek
postawy i zmiana postaw, praca licencjacka - materiały
praca-licencjacka-b7-4934, Dokumenty(8)
inflacjaaa, SZKOŁA, SZKOŁA, PRACA LICENCJACKA, notatki
praca-licencjacka-b7-4921, Dokumenty(8)
praca-licencjacka-b7-4583, Dokumenty(8)
praca-licencjacka-b7-5039, Dokumenty(8)
praca-licencjacka-b7-4533, Dokumenty(8)
praca licencjacka(1), Zachomikowane, Nauka, Studia i szkoła, praca licencjacka
praca-licencjacka-b7-4989, Dokumenty(8)
praca-licencjacka-b7-4874, Dokumenty(8)
praca-licencjacka-b7-4680, Dokumenty(8)
praca-licencjacka-b7-4369, Dokumenty(8)
praca licencjacka stosunek prawny

więcej podobnych podstron