Rozproszenie zapory

Z Wikipedii, wolnej encyklopedii

Zapora sieciowa jest to jeden lub wiele systemów (router, serwer proxy lub brama sieciowa) ustanawiających zestaw zasad dostępu ochraniających sieć „wewnętrzną” przed dostępem z sieci „zewnętrznej”. Zaporą sieciową może być zarówno urządzenie fizyczne, jak i oprogramowanie działające na serwerze. Zarówno w pierwszym, jak i drugim przypadku niezbędne są dwa interfejsy sieciowe podłączone do dwóch odrębnych sieci. Jedna z tych sieci powinna być chroniona („wewnętrzna”), a druga ogólne dostępna („zewnętrzna”). Zapora zwykle znajduje się między złączeniami dwóch sieci lub bramką sieciową np. między siecią prywatną a globalną siecią internetową.

Ewolucja rozproszonej zapory sieciowej[edytuj | edytuj kod]

Konwencjonalne zapory sieciowe opierają się na ograniczeniach topologii sieci i kontrolowaniu możliwych punktów dostępu, a dokładniej zakładają, że wszyscy po jednej stronie zapory są zaufani, a wszyscy inni z drugiej strony są potencjalnie wrogami sieci „wewnętrznej”.

Rozproszona zapora sieciowa jest to oprogramowanie zainstalowane na komputerze klienta, chroniące zarówno serwery sieci prywatnej, jak i urządzenia użytkowe przed nieautoryzowanym dostępem. Pozwalają na filtrowanie ruchu z Internetu i wewnętrznej sieci prywatnej. Dzięki temu rozproszona zapora sieciowa chroni przed atakami mającymi swoją genezę zarówno w sieci Internetowej, jak i w sieci prywatnej. Jest to istotna cecha, dlatego że większość ataków wciąż ma miejsce z wewnątrz sieci korporacji. Działają podobnie jak prywatne zapory sieciowe z kilkoma istotnymi różnicami, takimi jak centrale zarządzanie, dziennik zdarzeń, a w niektórych przypadkach wielowarstwowość poziomów izolacji dostępu. Te różnice stają się niezbędne przy wdrażaniu zapór sieciowych w większych korporacjach. Reguły ruchu sieciowego mogą być ustalane i globalnie wdrażane w obszarze całej korporacji.

Przyszłością rozproszonej zapory sieciowej jest możliwość centralnego nią zarządzania. Możliwość globalnego wdrażania na serwery i urządzenia użytkowe, i przesyłanie już wcześniej skonfigurowanych reguł ruchu sieciowego, pomaga w maksymalizowaniu i tak już ograniczonych zasobów korporacji. Praktyczną rzeczą w rozproszonych zaporach sieciowych jest możliwość zbierania raportów i przeprowadzanie aktualizacji globalnie w całej korporacji. Rozproszona zapora sieciowa działa w dwojaki sposób. Po pierwsze, pozwala zabezpieczyć zdalnie urządzenia korporacji. Po drugie, pozwala na zabezpieczenie kluczowych serwerów, uniemożliwiając dostęp szkodliwemu kodowi, odrzucając go i nie pozwalając mu na wykorzystanie serwera jako bazy wypadowej na resztę komputerów korporacji.

Zazwyczaj używane są, jako kolejna, druga warstwa po konwencjonalnej zaporze sieciowej. Działa, akceptując ruch sieciowy tylko w wyszczególnionych niezbędnych przypadkach, odrzucając inne przypadki, chroniąc przy tym przed niechcianymi atakami. Podczas gdy konwencjonalna zapora sieciowa podejmuje konwencjonalną ustaloną decyzje, to rozproszona zapora spełnia zadanie specjalistyczne.

Następujące problemy z konwencjonalną zaporą sieciową doprowadziły do opracowania wersji rozproszonej: wciąż rosnąca prędkość komunikacji i coraz bardziej skomplikowane obliczeniowo protokoły sieciowe, które zapora musi obsługiwać. Klasyczna zapora stawała się wtedy punktem przeciążenia sieci. Różnica między mocą obliczeniową a prędkością połączenia w bliskiej przyszłości najprawdopodobniej będzie rosnąć. Komputery (a więc i zapory sieciowe) stają się szybsze, co powoduje użycie coraz bardziej skomplikowanych obliczeniowo protokołów sieciowych, które w efekcie stają się coraz większą ilością danych, przewyższającą i najprawdopodobniej będącą przewyższać prawo Moore'a. Istnieją i są ciągle tworzone nowe protokoły, które nie są łatwo przyswajalne przez zapory sieciowe. Wynika to z tego, że niektóre protokoły mogą być odczytane dopiero w punktach końcowych transmisji. Przykładami takich protokołów jest FTP i RealAudio. Mimo że istnieją metody będące pośrednikami działającymi na poziomie warstwy aplikacji modelu ISO/OSI, które mogą w locie odczytywać takie protokoły, takie rozwiązania są uznawane za „nieczyste” lub czasem za inwazyjne. Podobnie przez zależność od topologii sieci, PF może wymagać przestrzegania zasad ruchu sieciowego tylko dla ruchu będącym odpowiedzią na żądanie. Ruch między węzłami sieciowymi w chronionej sieci nie może być kontrolowany. To daje atakującemu, który jest już w sieci prywatnej lub w jakiś sposób ominął zaporę sieciową, wolną rękę. Co gorsza, pozwala to w trywialny sposób na ustanowienie nowego nieautoryzowanego punktu dostępu do sieci prywatnej bez wiedzy i zgody administratora. Różnego rodzaju tunelowania, połączenia bezprzewodowego czy też typu dial-up mogą pozwolić atakującemu na stworzenie tylnej furtki, która może pozwolić na dostęp z pominięciem wszystkich mechanizmów bezpieczeństwa dostarczanych przez konwencjonalne zapory sieciowe. Podczas gdy zapory sieciowe nie są zaprojektowane, aby bronić sieć przed działaniami z wewnątrz sieci, powstaje konflikt między potrzebą zwiększenia możliwość komunikacji a spełnienia tych potrzeb poprzez centralnie zarządzane zapory sieciowe.

IPsec jest to zestaw protokołów, ostatnio ustandaryzowany przez organizacje IETF, który oferuje bezpieczeństwo na poziomie warstwy sieci poprzez zachowanie poufności, autoryzacje, integralność danych, ochronę odpowiedzi i automatyczne zarządzanie kluczami. Technologia ta jest piętą achillesową zapór sieciowych; Ruch niewidoczny nie może być filtrowany przez zaporę sieciową; w efekcie atakujący może tworzyć ataki takie, które nie będą mogły być powstrzymane przez zapory sieciowe. Dziś sieci dużych korporacji posiadają wiele punktów dostępu (z powodu wydajności, niezawodności lub z innych powodów). Ponadto wiele stron posiada wewnętrzne zapory sieciowe, aby otrzymać coś w rodzaju efektu izolowania podsystemów. Powoduje to trudności w administracji siecią zarówno z praktycznego punktu widzenia, jak i polityki spójności. Żadne jednolite mechanizmy zarządzania nie istnieją.

Analogicznie szyfrowanie typu „end-to-end może stać się zagrożeniem dla zapory sieciowej. Wynika to z tego, że uniemożliwia to podgląd konkretnych paczek danych w komunikacji, niezbędnych do poprawnego filtrowania ruchu. Pozwolenie na komunikację z szyfrowanie typu „end-to-end” zakłada pewne zaufanie administratora w stosunku do użytkownika. Istnieje duże zapotrzebowanie na szczegółową kontrole dostępu i ciągle rośnie. Klasyczne zapory sieciowe nie mogą obsługiwać tak dużej ilości danych bez zwiększenia złożoności obliczeniowej i wymagań sprzętowych.

Rozproszone zapory sieciowe są oprogramowaniem bezpieczeństwa, które chroni zarówno serwery korporacji, jak i urządzenia użytkowe przed niechcianym dostępem. W takim modelu zasady ruchu sieciowego są zdefiniowane centralnie i wdrażane na każdym urządzeniu będącym punktem sieci (terminalach, ruterach, itp.) osobno. Zazwyczaj rezydują pod klasyczną zaporą sieciową, tworząc drugą warstwę ochrony.

W przypadku klasycznej zapory sieciowej wszystkie urządzenia w sieci prywatnej są traktowane na równi. Jeżeli jedna z tych maszyn zostanie zaatakowana, może posłużyć jako baza do wykonywania ataków na pozostałej części sieci, w szczególności używając zaufanych protokołów sieciowych takich jak rlogin. Stąd trend, aby korporacje bezpieczeństwa używały systemów posiadających wszystkie aspekty klasycznej zapory z centralnym zarządzaniem, takie jak np. rozproszone zapory sieciowe.

Rozproszone zapory sieciowe zapobiegają atakom zarówno na komputery korporacji, jak i zabezpieczają przed użyciem już przejętych maszyn do eskalacji ataku. Skompromitowany komputer w sieci korporacji oznacza podatność całej sieci. Atakujący może bez oporów spenetrować sieć korporacji i ukraść lub uszkodzić jej aktywa.

Działanie[edytuj | edytuj kod]

Rozproszone zapory sieciowe są często oprogramowaniem działającym w trybie jądra systemu operacyjnego, na dole modelu OSI. Filtrują cały ruch sieciowy, niezależnie od pochodzenia – Internetu czy wewnętrznego. Uznają zarówno Internet, jak i sieć prywatną firmy jako „nieprzyjazne”. Bronią indywidualną maszynę w taki sam sposób jak zewnętrzna zapora sieciowa broni całość sieci. Rozproszone zapory sieciowe bazują na trzech założeniach:

  • Języku reguł, który definiuje, jakie połączenia mają być odrzucane, a jakie przepuszczane.
  • Narzędziach administracyjnych takich jak np. Microsoft, SMS lub ASD
  • Protokołach IPsec zapewniających szyfrowanie na poziomie warstwy sieci dla protokołów internetowych (TCP, UDP itp.).

Podstawowa idea jest prosta. Kompilator tłumaczy język reguł na jakiś wewnętrzny format. Oprogramowanie zarządzające dystrybuuję plik reguł na wszystkie maszyny chronione zaporą sieciową. Każda przychodząca paczka jest akceptowana lub odrzucane przez wewnętrzną maszynę, zarówno na podstawie reguł, jak i weryfikacji tożsamości kryptograficznej każdego nadawcy.

Reguły[edytuj | edytuj kod]

Jednym z najczęściej używanych określeń w tematyce rozproszonych zapór sieciowych jest reguła. Niezbędne jest zrozumienie znaczenia słowa reguła w kontekście zapór sieciowych. „Reguła bezpieczeństwa” definiuje zasady dotyczące bezpieczeństwa systemu. Bez reguły bezpieczeństwa nie istnieje sposób zdefiniowania, jaki dostęp jest dopuszczony, a jaki wzbroniony. Prostymi przykładami dla zapór sieciowych są:

  • Dopuszczaj wszystkie połączenia do serwera webowego.
  • Odrzuć wszystkie inne połączenia.

Sposób dystrybucji reguł może być różny w zależności od implementacji. Może być albo wysyłany do maszyn w sieci lub pobierany w zależności od potrzeby przez te maszyny.

Metoda pobierania[edytuj | edytuj kod]

System w trakcie uruchamiania używa protokołu ICMP do określenia, czy serwer zarządzania jest aktywny. Rejestruje się w systemie zarządzania i wysyła zapytanie o zestaw reguł, które powinien wdrożyć. Serwer zarządzania odsyła zestaw reguł. Np. serwer licencji lub poświadczenia może zapytać się o to, czy konkretna komunikacja jest dozwolona. Tradycyjne zapory sieciowe też mogą wykorzystywać tę metodę, ale brakuje im informacji co do treści konkretnych zapytań. Maszyny mogą wiedzieć rzeczy takie jak, jakie pliki dotyczą zapytania i jaki jest ich poziom izolacji. Takie informacje mogą być przesyłane przez sieć, ale wymagają zwiększenia poziomu złożoności

Metoda wysyłania[edytuj | edytuj kod]

Metoda ta jest stosowana wtedy, gdy reguły są aktualizowane po stronie serwera zarządzania przez administratora i inne maszyny w sieci muszą wdrożyć zmianę natychmiast. Metoda wysyłania gwarantuje, że komputery w sieci mają zawsze aktualny zestaw reguł. Język reguł definiuje, jakie połączenia przychodzące i wychodzące dla każdego zasobu domeny są dopuszczane i ma wpływ na decyzje na każdym poziomie modelu sieci odrzucając lub przepuszczając paczkę lub egzekwując reguły na poziomie warstwy aplikacji.

Bibliografia[edytuj | edytuj kod]

  • Sonnenreich, Wes, and Tom Yates, Building Linux and OpenBSD Firewalls, Singapore: Addison Wiley
  • Zwicky, D. Elizabeth, Simon Cooper, Brent D. Chapman, Building Internet Firewalls O'Reilly Publications
  • Strebe, Firewalls 24 Seven, BPB Publishers
  • Bellovin, M. Steven „Distributed Firewalls”, login, November 1999, pp. 39–47 http://www.usenix.org/publications/login/1999-11/features/firewalls.html
  • Dr. Hancock, Bill „Host-Resident Firewalls: Defending Windows NT/2000 Servers and Desktops from Network Attacks”
  • Bellovin, S.M. and W.R. Cheswick, „Firewalls and Internet Security: Repelling the Wily Hacker”, Addison-Wesley, 1994.
  • Ioannidis, S. and Keromytis, A.D., and Bellovin, S.M. and J.M. Smith, „Implementing a Distributed Firewall”, Proceedings of Computer and Communications Security (CCS), pp. 190–199, November 2000,