Polityka bezpieczeństwa w sieciach komputerowych.
Projektując, a potem zarządzając siecią komputerową trzeba mieć na uwadze jeden z najważniejszych aspektów jej działania, a mianowicie bezpieczeństwo. Jako że większość sieci komputerowych oparta jest na systemach unixowych, w poniższej pracy główna uwaga zostanie poświęcona właśnie tej kategorii systemów. Zostaną również wspomniane aspekty bezpieczeństwa systemów firmy Microsoft, lecz z uwagi na ich mały udział w rynku serwerów zajmę się tylko problemem bezpieczeństwa stacji roboczych podpiętych do sieci.
Bezpieczeństwo fizyczne
Często, mówiąc o bezpieczeństwie w sieciach ma się na myśli tylko zabezpieczenie oprogramowania, zapomina się natomiast o równie ważnym - jeśli nawet nie ważniejszym zadaniu, jakim jest ochrona sprzętu. Serwer może być zaatakowany nie tylko za pomocą exploita - czasem wystarczy zwykły młotek, a efekty jego działania mogą być dużo dotkliwsze.
Jeśli bezpieczeństwo systemu zostało naruszone przez intruza z drugiego końca świata, komputer można zawsze ponownie uruchomić, przeinstalować system lub podjąć różne inne działania. W przypadku fizycznego zniszczenia problem jest dużo większy. Z tych powodów kwestiom bezpieczeństwa sprzętu powinno się poświęcać dużo więcej uwagi. Mimo tego, że wiele zagadnień wydaje się oczywistych, użytkownicy notorycznie popełniają wiele prostych błędów.
Umieszczenie serwera i dostęp do niego
Bardzo ważny jest wybór miejsca umieszczenia serwera oraz ograniczenie liczby osób mających do niego fizyczny dostęp. Od dawna wiadomo, że jeśli niepowołane osoby mają styczność z komputerem, nie da się zapewnić choćby minimalnego stopnia bezpieczeństwa. Poza rzadkimi wyjątkami, wszystkie systemy komputerowe są wrażliwe na bezpośredni atak użytkownika. Słowo „atak” może tu oczywiście oznaczać wiele rzeczy.
Dowiedziono, że tzw. znani i zaufani użytkownicy są źródłem 80% wszystkich naruszeń, ponieważ to oni mają największy dostęp do informacji, co znacznie ułatwia działanie. Ale to nie jedyna przewaga użytkowników „wewnętrznych” - są oni ponadto obdarzeni zaufaniem. W wielu firmach zaufani pracownicy poruszają się bez ograniczeń i wszędzie mają dostęp. Między innymi dlatego warto zastanowić się nad umieszczeniem sprzętu komputerowego i sieciowego o dużym znaczeniu w specjalnie wydzielonym obszarze, zwyczajowo zwanym serwerownią. W takim miejscu serwery i ich urządzenia łatwiej zabezpieczyć (np. przykręcić do stołu). W idealnym przypadku dostęp do takiego miejsca powinno mieć bardzo niewiele osób (najlepiej gdyby byli to tylko administratorzy sieci). Nawet ci posiadający odpowiednie uprawnienia powinni podlegać jakiejś autoryzacji, np. za pomocą kart magnetycznych. Poza tym warto skrupulatnie zapisywać kto wchodzi i wychodzi z serwerowni. Warto też mieć na uwadze następujące zagadnienia:
Obszar wydzielony dla serwerów powinien być wydzielony z dala od dużego ruchu - holi, przejść, korytarzy itp. Nie powinien być także rozpoznawalny z zewnątrz - posiadać jakichkolwiek okien czy przeszklonych drzwi.
Drzwi powinny być jak najlepiej wzmocnione, a futryny solidnie umocowane.
Warto pomyśleć o zainstalowaniu w serwerowni kamery, co pozwoliłoby na łatwą identyfikację intruzów.
Wszystkie nośniki (taśmy do streamerów itp.) powinny być przechowywane w innym, równie zabezpieczonym miejscu.
Należy sformułować regulamin zabraniający zwykłym pracownikom wstępu do serwerowni.
Topologia sieci
Zapewne nie wszyscy zdają sobie sprawę, że zagadnienie tak podstawowe w projektowaniu sieci, jakim jest określenie jej topologii, ma również dość istotny wpływ na późniejsze jej bezpieczeństwo. Otóż jeśli chodzi o topologie, to wszyscy potrafią jednym tchem wymienić trzy podstawowe: magistrala, pierścień, gwiazda. Czym jednak one się różnią w aspektach bezpieczeństwa? Otóż decydując się na jedną z topologii, należy mieć na uwadze następujące zagadnienia:
Czy istnieje punkt sieci (serwer, kabel, router), od którego zależy działanie kilku lub nawet wszystkich urządzeń? Jeśli takie urządzenie zostanie uszkodzone, część stacji roboczych może stracić łączność z siecią.
Jakie jest niebezpieczeństwo przechwycenia danych? Zawsze możliwość tego typu nadużyć istnieje, ale część topologii jest na to bardziej wrażliwych niż inne.
Jaka jest odporność sieci na błędy? Czy jeśli jedna, dwie lub dziesięć stacji roboczych ulegnie uszkodzeniu, pozostałe będą działały? Jeśli sieć jest odporna, odpowiedź brzmi: tak.
Przed wyborem topologii należy zastanowić się nad następującymi zagadnieniami:
Czy każda stacja robocza będzie miała własne oprogramowanie?
Jakie systemy operacyjne będą używane?
Jakie usługi będą udostępnianie w sieci?
Jaka będzie wymagana przepustowość i przewidywane odległości między stacjami roboczymi?
Topologia gwiazdy współpracująca z inteligentnym osprzętem sieciowym jest najlepszym rozwiązaniem. Jeśli jej zastosowanie jest niemożliwe, istnieją czynniki pozwalające zminimalizować ryzyko:
Należy wybrać topologię pozwalającą na scentralizowane zarządzanie.
Jeśli sieć jest duża, warto podzielić ją na segmenty. Pozwala to łatwiej zarządzać i zapewnić większy poziom bezpieczeństwa.
Sieć ma być zaprojektowana tak, by była odporna na usterki.
Użytkownicy powinni być w miarę możliwości jak najściślej izolowani od fizycznej strony sieci.
Okablowanie należy ukryć, najlepiej umieścić je w ścianach, pod tynkiem.
Jeśli to tylko możliwe, należy wykorzystać sprzęt i oprogramowanie obsługujące szyfrowanie.
Osprzęt sieciowy
Należy także pamiętać o wszelkich peryferiach sieciowych - routerach, koncentratorach itp. Zaniedbania w tym względzie mogą prowadzić do prawdziwej katastrofy. Na przykład uszkodzenie routera może odciąć całą sieć od świata.
Ataku na osprzęt sieciowy można uniknąć, o ile pamięta się o pewnych podstawowych zasadach. W większości wypadków to wystarcza, ponieważ wady osprzętu sieciowego występują dużo rzadziej niż w przypadku oprogramowania.
Zazwyczaj udane ataki na sprzęt sieciowy wynikają z błędów administratorów. Wielu z nich zapomina o włączeniu kodowania transmisji lub zmianie domyślnych haseł. Pozostawiając konfigurację taką, jaką zastaliśmy po wyjęciu urządzenia z opakowania, tworzymy niezwykle łatwy cel.
Kilka podstawowych rzeczy, o których należy pamiętać podczas instalacji osprzętu sieciowego:
zmień hasła, aby atakujący nie mógł wykorzystać tych domyślnych
upewnij się, że w sieci nie powtarzają się te same hasła
większość routerów i część switchy obsługuje kodowanie, ale jest ono domyślnie wyłączone, należy je włączyć
jeśli zdalna kontrola administracyjna nie jest potrzebna, wyłącz ją
jeśli urządzenie obsługuje mało bezpieczne porty, należy odfiltrować dostęp do nich
jeśli osprzęt sieciowy ma możliwość weryfikacji sesji i usuwania zbędnych połączeń, korzystaj z tego
Bezpieczeństwo stacji roboczych
Przy bezpieczeństwie stacji roboczych ważna jest kontrola dostępu i zabezpieczenie przed kradzieżą. Warto zastanowić się na następującymi kwestiami:
hasła BIOS-u i konsoli
biometryczna kontrola dostępu
bezpieczeństwo związane z modemami
urządzenia zabezpieczające przed kradzieżą
działania pozwalające odnaleźć skradziony sprzęt
Bezpieczeństwo oprogramowania
Sposoby ataku
Zajmę się teraz drugą kwestią związaną z zagadnieniem bezpieczeństwa, a mianowicie oprogramowaniem. To właśnie za jego przyczyną/pomocą dokonywanych jest najwięcej ataków, jak również w dużym stopniu stoi ono na straży sieci komputerowych. Najpierw przedstawię sposoby agresji, potem sposoby przeciwdziałania jej.
Najbardziej znanymi i popularnymi sposobami agresji sieciowej są:
atak wymierzony w hasło
szkodliwy kod (badware)
wirusy
konie trojańskie
robaki
króliki
makra
węszenie (sniffing)
skanowanie
podszywanie (spoofing)
atak odmowy obsługi (DoS/DDoS)
fałszywki (hoaxes)
„Atak na hasło” jest ogólnym terminem opisującym różne czynności mające na celu ominięcie mechanizmów ochrony systemu komputerowego opartych na systemie haseł, a więc wszelkie próby złamania, odszyfrowania lub skasowania haseł. Ataki na hasła należą do najprymitywniejszych metod włamań. Umiejętność łamania haseł to w gruncie rzeczy pierwsza rzecz, której uczą się początkujący włamywacze - głównie ze względu na to, że nie wymaga ona specjalnego wykształcenia. Obecnie każdy może łamać dowolne hasła za pomocą gotowych programów. Nie należy jednak mylić prostoty z brakiem efektywności. W przeważającej ilości przypadków słaby system zabezpieczenia haseł prowadzi do całkowitego otwarcia systemu. Najbardziej znane są dwa sposoby łamania haseł: atak słownikowy oraz metoda brute force. Jednym z najlepszych programów linuxowych służącym do odkrywania haseł jest Crack.
Badware to ogólna nazwa oprogramowania mogącego wyrządzić szkody ich użytkownikom. Oprogramowanie takie składa się z kilku podgrup, a najliczniej reprezentowaną i najpopularniejszą stanowią wirusy komputerowe.
Wirus komputerowy jest programem posiadającym zdolność do replikacji bez wiedzy użytkownika (samoreplikacja). Dzięki samoczynnemu powielaniu się takiego programu może on szybko rozprzestrzenić się w zainfekowanym systemie jak i poza nim (np. przez sieć komputerową czy za pośrednictwem nośników danych). Wyróżnia się kilka rodzajów wirusów:
Wirusy rezydentne instalują się w pamięci i są aktywowane wówczas, gdy zostaną spełnione określone warunki (np. uruchomienie programu o określonej godzinie). Wirusy takie mają możliwość stałego kontrolowania systemu i maskowania swojej obecności dzięki czemu mogą dłużej być niezauważone i stanowić ciągłe niebezpieczeństwo.
Wirusy nierezydentne aktywowane są wówczas, gdy wykonywany jest zainfekowany program. Po wykonaniu swoich funkcji wirusy takie są usuwane z pamięci.
Wirusy dyskowe są wirusami rezydentnymi aktywującymi się podczas startu systemu z zainfekowanego nośnika (umiejscowione są w rekordzie ładującym). Za względu na fakt, iż zarażenie następuje w trakcie uruchamiania systemu wirusy takie nazywa się często wirusami sektora ładującego (boot-sector virus).
Wirusy plikowe dołączają się do plików wykonywalnych, a ich aktywacja następuje poprzez uruchomienie zarażonego programu. Po wykonaniu swoich funkcji wirus przekazuje sterowanie do programu-nosiciela. Wirusy takie mogą być zarówno rezydentne jak i nierezydentne.
Wirusy hybrydowe są połączeniem innych typów wirusów (niekiedy nazywane są wirusami plikowo-dyskowymi). Najczęściej wirusy takie atakują zarówno główny rekord rozruchowy dysku jak i pliki przez co mają ułatwione możliwości replikacji przy jednoczesnym utrudnieniu ich deaktywacji.
Wirus może doczepić się do programu nie naruszając jego kodu (zwiększa się wówczas długość powstałego w ten sposób „nowego” programu) lub może być umieszczony zamiast części kodu programu (tzw. wirus zamazujący).
Koń trojański jest kodem ukrytym w programie mogącym realizować także inne funkcje niż te, o których wie użytkownik. Program będący koniem trojańskim wykonuje najczęściej pożyteczne funkcje równocześnie realizując ukryte zadania (np. kasowanie pliku). Konie trojańskie (trojany) nie posiadają zdolności do samoreplikacji, a ich aktywacja może nastąpić poprzez ich uruchomienie i spełnienie określonych warunków. Do grupy tej zaliczyć można również miny (w skład których wchodzą bomby czasowe i bomby logiczne) oraz tzw. tylne wejścia (backdoor).
Bomby czasowe są programami, których ukryte funkcje aktywowane zostają w określonym czasie (np. w dni parzyste).
Bomby logiczne są programami, których ukryte funkcje aktywowane zostają w momencie zajścia ustalonych wcześniej warunków (np. uruchomienie innego programu).
Miny są bardzo trudne do wykrycia i dlatego stanowią szczególnie wysokie niebezpieczeństwo. Zakres ich wykorzystania jest niesłychanie szeroki, ale najczęściej bywają stosowane do szantażu komputerowego (np. zaszyfrowanie plików ze strategicznymi dla firmy danymi po usunięciu nazwiska pracownika z listy płac i wyświetlenie komunikatu o „okupie”).
Tylne wejście (backdoor) jest luką w oprogramowaniu, która umożliwia wejście do zabezpieczonego programu lub użycie tajnej funkcji w programie. Luki takie mogą powstać celowo lub przypadkowo (np. „niezałatanie” wejścia serwisowego podczas przekazania programu użytkownikowi).
Robak (worm) jest to program, którego głównym celem jest rozprzestrzenianie się za pośrednictwem sieci komputerowej. Po przemieszczeniu robak dalej się przemieszcza (jeżeli jest taka możliwość, np. wykorzystanie osób z książki adresowej programu pocztowego i wysłanie do nich swojej kopii) oraz może wykonać określone przez jego autora zadania.
Królik (czasami nazywany bakterią) jest programem, który na skutek ciągłego powielania samego siebie wykorzystuje coraz większe zasoby systemu powodując jego destabilizację.
Makro jest programem napisanym przy użyciu wewnętrznego języka programowania określonej aplikacji (np. Visual Basic w pakiecie Office).
Węszyciele (sniffery) to ukryte narzędzia zainstalowane na serwerze (lub stacji roboczej) przez włamywacza, których zadaniem jest wykradanie informacji z sieci. Nazywane są również analizatorami protokołów. Normalnie stacje robocze nasłuchują i odpowiadają tylko na pakiety, które są zaadresowane do nich. Jest jednak możliwe stworzenie oprogramowania, które powoduje przełączenie interfejsu sieciowego w tzw. tryb bezładny. W takim stanie komputer przechwytuje wszystkie pakiety, bez względu na ich adres docelowy. Różne sniffery służą do różnych ataków. Najprostsze przechwytują nazwy użytkowników i hasła, najbardziej złożone zapisują cały ruch sieciowy.
Skanery ogólnie dzielą się na dwie kategorie:
skanery systemowe
skanery sieciowe
Skanery systemowe badają host lokalny poszukując oczywistych (i tych mniej oczywistych) luk w bezpieczeństwie - wynikających z przeoczeń, drobnych błędów w administracji oraz problemów przy konfiguracji, które miewają nawet doświadczeni użytkownicy. Do luk takich należą zbyt liberalne prawa dostępu do plików, istnienie kont domyślnych, czy błędne lub zdublowane identyfikatory użytkowników.
Skanery sieciowe testują hosty poprzez łącza sieciowe - tak jakby to robił kraker. Sondują dostępne usługi i porty, poszukując ogólnie znanych luk, które mogłyby zostać wykorzystane przez atakującego.
Skanery systemowe i sieciowe różnią się pod kątem zastosowanych technologii, ale działanie obu sprowadza się do tych samych procedur:
Załadowanie zestawu zasad lub informacji o znanych atakach.
Przetestowanie komputera pod ich kątem.
Wyświetlenie wyników działania.
Podszywanie (spoofing) tradycyjnie oznaczało działanie atakującego, polegające na przeprowadzeniu procesu autoryzacji z jednego komputera do drugiego poprzez sfałszowanie pakietów z „zaufanego” hosta. Ostatnio podszywaniem nazywa się dowolną metodę łamania zabezpieczeń autoryzacyjnych opartych na nazwie lub adresie hosta. Jest cały szereg technik podszywania, m.in. podszywanie TCP i IP, podszywanie ARP, podszywanie DNS.
W najbardziej podstawowej formie, atak odmowy obsługi (DoS - Denial of Service) to dowolne działanie unieruchamiające sprzęt lub oprogramowanie i powodujące zaprzestanie świadczenia usług przez system komputerowy. Cel atakującego jest prosty: host lub hosty mają przestać reagować na bodźce z zewnątrz. Atak odmowy obsługi to dokuczliwy problem z dwóch powodów. Po pierwsze jest łatwy do przeprowadzenia, a wynik jego działania jest natychmiastowy. Po drugie, wiele ataków tego typu wykorzystuje błędy, ograniczenia lub niezgodności w implementacjach protokołu TCP/IP. Atak taki jest stosunkowo łatwy do odparcia, jednak nawet niedługie jego działanie może spowodować wymierne straty materialne u ofiary ataku. Znacznie gorsza jest nowa odmiana ataku odmowy obsługi, a mianowicie DDoS - Distributed Denial of Service. Polega on na skierowaniu zsynchronizowanego ataku na konkretny cel lub cele za pomocą wielu komputerów. Taki atak jest znacznie gorszy do odparcia, gdyż pakiety napływają z różnych stron w tym samym czasie i nie można ich powstrzymać nawet poprzez chwilowe wyłączenie atakowanego hosta. Odpowiednio przygotowany i przeprowadzony atak DDoS potrafiłby bez problemu unieruchomić cały Internet.
Fałszywka (hoax) jest wykorzystaniem ludzkiej niewiedzy do rozprzestrzenienia podanej informacji. Polega to na tym, że użytkownik otrzymuje wiadomość (poprzez sieć, telefonicznie czy podczas rozmowy) o pewnym zdarzeniu powodującą podjęcie przez niego określonego działania. Może to być np. otrzymanie maila z wiadomością, że plik o podanej nazwie jest wirusem i można się go pozbyć jedynie poprzez usunięcie tego pliku. W rzeczywistości plik nie jest wirusem i może być nawet częścią systemu operacyjnego, a jego usunięcie może spowodować nieprzewidziane skutki. Użytkownik najczęściej zastosuje się do „wskazówek” zawartych w otrzymanej wiadomości i w dobrej wierze rozpowszechni ją dalej (w przypadku maili spowoduje to niepotrzebny wzrost generowanego w sieci ruchu).
Oprócz wywołania zamieszania fałszywki mogą również przyczynić się do poniesienia szkód (np. otrzymanie wiadomości o awarii serwera i prośbie o wysłanie hasła do konta na podany adres).
Oczywiście opisane niebezpieczeństwa i rodzaje ataków nie wyczerpują całej listy. Każdą grupę można podzielić na mniejsze podgrupy, zespoły itd. Z pojawianiem się w intranetach i Internecie nowych technologii, pojawiają się też nowe rodzaje ataków i narzędzi do ich przeprowadzania. W Sieci aż roi się od zbiorów programów, wirusów, exploitów itp. przeznaczonych do zabawy dla script kids, a środowiska hakerskie mogą poszczycić się wcale nie mniejszymi zasobami, tyle że zaawansowanych technik i rozwiązań służących różnym niecnym celom. Jednak w przypadku tego drugiego środowiska najgroźniejszą bronią jest fachowa wiedza techniczna oraz ponadprzeciętna inteligencja. To one decydują o sile i możliwościach tych ludzi i nie pozwalają fachowcom od zabezpieczeń na ignorowanie ich.
Sposoby obrony
Na początku podniesiona została kwestia zabezpieczenia sieci od strony sprzętowej, teraz natomiast - po przedstawieniu niebezpieczeństw - zapoznamy się ze sposobami i technikami zabezpieczenia komputerów od strony programowej. Tutaj również w miarę postępu techniki, za którą idzie rozwój zagrożeń, występuje coraz większy postęp w dziedzinie programowego zabezpieczania systemów komputerowych. Kilka z najpowszechniejszych technik zabezpieczeń, to:
Polityka haseł
Polityka dostępu do danych
Programy antywirusowe
Zapory ogniowe (firewalle)
Uwierzytelnianie
Szyfrowanie
PKI
Systemy wykrywania włamań (IDS)
Hasła - jeden z elementów polityki bezpieczeństwa
Rolą haseł jest zabezpieczenie dostępu do określonych zasobów osobom wyłącznie do tego uprawnionym. Dobre hasło spełnia następujące warunki:
nie da się go skojarzyć z użytkownikiem - jego nazwą w systemie, imieniem, nazwiskiem, datą urodzenia, imieniem dziecka, numerami telefonów, znanymi numerami urzędowymi w różnych kombinacjach,
nie jest ciągiem identycznych znaków, ciągiem znaków z klawiatury, ani słowem „słownikowym", tj. pochodzącym z języka naturalnego i łatwym do podstawienia z dowolnego zbioru-słownika przy włamaniu metodą brute force,
ma więcej niż 6 znaków,
jest kombinacją liter wielkich i małych, cyfr i innych znaków,
jest łatwe do zapamiętania mimo stosowania powyższych reguł, a więc nie wymaga zapisywania.
Hasła administracyjne powinny być zmieniane okresowo ze względu na możliwość ich stopniowego ujawnienia, np. poprzez konieczność ich wpisywania w obecności osób postronnych. Wymiana haseł jest niezbędna, gdy odchodzi z pracy jeden z administratorów.
Podstawową zasadą polityki dostępu do danych powinno być hasło „co nie jest dozwolone - jest zabronione". Podejście takie zmniejsza ryzyko pozostawienia w uprawnieniach użytkowników i osób uprzywilejowanych jakiejś luki, która umożliwi im działanie niezgodne z intencjami firmy. Ustalając zasady dostępu do zasobów, trzeba odpowiedzieć na kilka pytań. Kto powinien mieć dostęp do określonych zasobów i w jaki sposób może z nich korzystać? Kto i w jakich sytuacjach powinien udzielać uprawnień dostępu? Jakie są obowiązki administratora danej usługi, a jakie zwykłego użytkownika? Jaka jest odpowiedzialność każdej z tych osób za bezpieczeństwo danych?
Regulacje zachowań użytkowników powinny dotyczyć:
korzystania z kont rozumianych jako zestawy zasobów i praw dostępu do nich,
użytkowania oprogramowania i dostępu do źródeł danych,
odpowiedzialności za informacje poufne, np. hasła dostępu, dane o systemach komputerowych, topologii sieci, metodach zabezpieczenia i polityce bezpieczeństwa,
wymogów tworzenia, przechowywania i zmiany haseł dostępu,
korzystania z przestrzeni dyskowej, mocy obliczeniowej, przepustowości sieci i innych zasobów,
prawa użytkowników do prywatności i warunków jej naruszenia
Zapory ogniowe są podstawowym środkiem ochrony sieci prywatnych przed infiltracją ze strony osób niepowołanych. W większości przypadków chroniony jest dostęp do mocy obliczeniowej sieci oraz kontrolowany dostęp do danych. Może też być używana jako osobista zapora ogniowa - program zainstalowany na komputerze osobistym. Problem ten staje się szczególnie ważny w przypadku połączenia sieci prywatnej z Internetem. Konfigurowanie zapór ogniowych jest ściśle związane z założeniami polityki bezpieczeństwa sieci prywatnej. W tym aspekcie można wyróżnić dwa rodzaje polityki:
to, co nie jest wyraźnie dozwolone, jest zabronione,
to, co nie jest wyraźnie zabronione, jest dozwolone.
W pierwszym przypadku zapora ogniowa musi być tak skonfigurowana, aby blokowała dostęp wszystkim z zewnątrz, a usługi sieciowe mogą być dopuszczane na zasadzie indywidualnych decyzji. Taka zapora ogniowa staje się dla użytkowników dość kłopotliwą przeszkodą. W przypadku drugim główny ciężar ochrony spada na administratora sieci musi on cały czas czuwać nad obszarem rzeczy zakazanych", decydując, co do niego włączyć i kiedy.
Zapory ogniowe umieszcza się na styku dwóch sieci w celu zapobieżenia przenikania niepożądanych - z punktu widzenia chronionej sieci - zjawisk świata zewnętrznego, takich jak infekcje wirusowe lub włamania do systemu itp. Rezydują one na serwerach bądź na funkcjonalnie rozbudowanych routerach. Rola zapory sprowadza się do kontroli komunikacji pomiędzy dwiema sieciami w ramach strategii polityki ochronnej danej organizacji. Zapory takie mogą stosować różne techniki blokad ruchu wejściowego i wyjściowego. W budowaniu zapór ogniowych są stosowane dwie podstawowe technologie:
bramy poziomu aplikacji i połączenia (aplikacje pośredniczące i kontrola połączeń)
filtracja pakietów - (info i skrypty dla "iptables").
Główna różnica pomiędzy tymi technikami sprowadza się do tego, na jakim poziomie jest kontrolowana komunikacja między dwiema sieciami. Bramy filtrujące pakiety działają jako routery między dwiema sieciami; pakiety przepływające od źródła do miejsca swego przeznaczenia są przekazywane dalej albo blokowane. Technologia filtracji pakietów zapewnia bardzo efektywny (i jednocześnie dostatecznie ogólny) sposób kontroli ruchu sieciowego dowolnego typu. W przypadku bramy poziomu aplikacji i połączenia, wszystkie pakiety są adresowane na poziom aplikacji użytkowej w bramie, która decyduje o przekazywaniu paWetów między dwoma punktami komunikacji. W większości implementacji bram aplikacyjnych jest wymagany dodatkowy mechanizm filtracji pakietów w celu sterowania i rozdzielania ruchu pomiędzy bramą i siecią. Typowa konfiguracja zawiera dwa routery z „bastionem" hosta w środku, usługującym jako brama aplikacyjna.
Dla każdej aplikacji lub usługi sieciowej bramy poziomu aplikacji używają specyficznego kodu programowego. Bramy aplikacyjne mogą zapewniać wyższy poziom ochrony, ale mają też kilka słabych punktów: obsługują ograniczoną liczbę aplikacji i usług (dla każdego rodzaju usługi potrzebne jest uzupełnienie oprogramowania bramy); aby skorzystać z bramy aplikacyjnej, użytkownik musi logować się do bramy lub zainstalować specyficzną aplikację kliencką, która będzie używać bramy aplikacyjnej dla każdej, wymagającej tego aplikacji.
Brama połączenia zapewnia bardziej ogólną metodę implementacji bram aplikacyjnych. Może ona obsługiwać niektóre aplikacje TCP, natomiast nie obsługuje innych protokołów.
Uwierzytelnianie
Dla osiągnięcia właściwego poziomu zabezpieczenia są potrzebne techniki weryfikacji autentyczności obiektów krążących w sieci. Dzięki technikom kryptograficznym - zastosowanym do weryfikowania pochodzenia i autentyczności użytkowników, zasobów, plików, wiadomości, pakietów, modułów programowych i węzłów sieci - można zabezpieczyć sieć przed penetracją niepożądanych osób.
Techniki te różnią się sposobem realizacji funkcji, ale przeważnie opierają się na procedurze logowania, dopuszczającej co najmniej dwa czynniki uwierzytelniające: hasło plus jeszcze:
karta uwierzytelniająca (secure token),
dialog: wezwanie-odzew (challenge-and-response),
czytniki inteligentnych kart identyfikacyjnych,
dane biometryczne,
podpis cyfrowy lub
kryptografia oparta na kluczach publicznych lub prywatnych.
Istnieją dwa podstawowe typy uwierzytelniania:
Uwierzytelnianie użytkownika przy dostępie do zasobów sieci metodą „jednokrotnego logowania” SSO (Single Sign-On),
Uwierzytelnianie obiektów, sprawdzające autentyczność oraz integralność wiadomości i plików w odniesieniu do źródła, które je generuje.
Szyfrowanie informacji ma na celu eliminację zagrożeń związanych z naruszeniem poufności informacji. Informacja po zaszyfrowaniu może być odczytana tylko przez osoby upoważnione. Do szyfrowania informacji stosuje się skomplikowane algorytmy kryptograficzne. Algorytm taki jest przepisem określającym sposób zamieniania informacji jawnej w zaszyfrowaną. Współczesne algorytmy kryptograficzne opierają się na pojęciu klucza, czyli elementu szyfrowania, bez którego nawet znajomość zastosowanego algorytmu kryptograficznego nie pozwala na odczytanie zaszyfrowanej informacji. Istnieją dwie podstawowe metody zarządzania kluczami różnicujące algorytmy kryptograficzne: algorytmy symetryczne - posługujące się tym samym kluczem przy szyfrowaniu i deszyfrowaniu informacji - oraz algorytmy asymetryczne, używające do szyfrowania i deszyfrowania różnych kluczy.
Wykrywanie włamań (intrusion detection) to detekcja naruszenia bezpieczeństwa systemu w czasie rzeczywistym. Narzędzia, które przeprowadzają taką detekcję, nazywają się Systemami Wykrywania Włamań (IDS).
Pierwsze systemy tego typu powstały na początku lat 80-tych. Do dziś przeprowadzono ogromną ilość badań w tym kierunku i powstały setki tych systemów, choć większość z nich nie jest dostępna dla użytku publicznego.
Istnieją dwa podstawowe typy systemów wykrywania włamań:
Systemy oparte na zbiorze zasad - Wykorzystują bazy danych znanych ataków i ich sygnatur. Kiedy pakiety przychodzące spełnią określone kryterium lub zasadę, oznaczane są jako usiłowanie włamania. Wadą tych systemów jest fakt, że muszą zawsze korzystać z jak najbardziej aktualnych baz danych, a także to, że jeśli atak określono zbyt precyzyjnie - podobne, ale nie identyczne włamanie nie zostanie rozpoznane.
Systemy adaptacyjne - Tutaj wykorzystane są bardziej zaawansowane techniki, w tym sztuczna inteligencja. Rozpoznawane są nie tylko istniejące ataki na podstawie sygnatur - system potrafi także uczyć się nowych. Ich główną wadą jest cena, skomplikowana obsługa i konieczność posiadania dużej wiedzy z dziedziny matematyki i statystyki.
W systemach wykrywania włamań stosuje się dwa podejścia: profilaktyczne i reakcyjne. W pierwszym system nasłuchuje czy w sieci nie dzieje się nic podejrzanego i w razie potrzeby podejmuje odpowiednie działanie. W drugim natomiast system bada pliki rejestru i znów - w razie znalezienia podejrzanych zapisów odpowiednio reaguje. Różnica może wydawać się niewielka, jednak jest istotna. System reakcyjny to po prostu rozbudowany system rejestrowania - alarmuje jeśli atak już nastąpił. System profilaktyczny reaguje natomiast już w trakcie ataku. W niektórych systemach możliwe jest nawet obserwowanie przebiegu ataku przez obsługującego.
Powyższa praca nie wyczerpuje oczywiście tak obszernego tematu, jakim jest polityka bezpieczeństwa w sieciach komputerowych. Niektóre zagadnienia zostały jedynie zasygnalizowane, gdyż uważam, że dogłębne przedstawianie tego tematu wszystkim mija się z celem, natomiast osoby zainteresowane mogą bez większego wysiłku znaleźć bogaty zbiór materiałów traktujących o powyższych zagadnieniach.