13. Przypisy, bibliografia, spis obrazków


Jest to bezpieczna i zaufana maszyna, która znajduje się pomiędzy siecią prywatną a publiczną. Maszyna ta jest skonfigurowana przez zestaw reguł, które określają jaki ruch sieciowy jest przepuszczany, a jaki zostaje odrzucony lub zwracany. Czasami zapory ogniowe stosuje się również wewnątrz sieci prywatnych w celu zabezpieczenia istotnych elementów przed własnymi użytkownikami. Konfiguracja zapór ogniowych najczęściej może zostać opisana następującą polityką bezpieczeństwa: CO NIE JEST WYRAŹNIE DOZWOLONE, JEST ZABRONIONE.





Zapory ogniowe umieszcza się w miejscu styku dwóch lub większej liczby sieci w celu zabezpieczenia ich przed niepożądanym ruchem, który jest określony za pomocą zestawu reguł. Rolę zapory ogniowej może pełnić komputer z odpowiednim oprogramowaniem lub specjalizowany reuter. Zapory mogą stosować różne techniki blokowania ruchu wejściowego i wyjściowego. Wyróżniamy trzy typy zapór ogniowych:


  1. Zapora ogniowa filtrująca pakiety

  2. Zapora ogniowa na poziomie aplikacji

  3. Zapora ogniowa stateful inspection


Główna różnica pomiędzy tymi technikami sprowadza się do tego, na jakim poziomie jest kontrolowana komunikacja między sieciami.






Zapora ogniowa filtrująca pakiety jest zbiorem reguł określających, co system powinien zrobić z pakietem przychodzącym do sieci lub z niej wychodzącym. Zapora posiada zbiór reguł, których podstawowymi elementami są wzorce oraz akcje, które decydują, co zrobić z pakietem pasującym do danej reguły. W skład wzorca mogą wchodzić cechy charakterystyczne dla protokołu TCP i UDP, typ komunikatu ICMP i inne, w zależności od zaawansowania i kompletności filtra. Pakiet pasujący do określonego w danej regule wzorca jest traktowany zgodnie z przypisaną do niego akcją. Zazwyczaj ogranicza się ona do przepuszczenia lub zablokowania pakietu, z ewentualnym odesłaniem odpowiedniego komunikatu ICMP.



Te zapory ogniowe, które są również nazywane zaporami ogniowymi proxy są zazwyczaj pakietami oprogramowania zainstalowanymi na systemach operacyjnych takich jak Windows 2000 czy Linux. W tym przypadku reguły bezpieczeństwa egzekwowane są za pomocą programów pośredniczących (ang. proxy), co oznacza, że każdy protokół musie mieć własny program tego typu. Przykładowo proxy dla protokołu HTTP rozpoznaje czy przepływające dane są zgodne z tym protokołem i czy ruch jest dozwolony przez zdefiniowane reguły. Połączenie inicjuje stacja klienta, która kieruje żądanie do wewnętrznego interfejsu zapory ogniowej. Zapora wykonuje następujące czynności: akceptuje połączenie, sprawdza rodzaj protokołu i treść przekazu, na podstawie posiadanych reguł przepuszcza lub odrzuca transmisję. Jeżeli transmisja zostaje przepuszczona to zapor rozpoczyna nowe połączenie przez interfejs zewnętrzny serwera. Zapory korzystają również z programów pośredniczących dla połączeń przychodzących. Zaporę ogniową na poziomie aplikacji posiadają programy pośredniczące dla najpopularniejszych protokołów, takich jak HTTP, SMTP, FTP. Jeżeli proxy dla danego protokołu jest niedostępne, protokół ten nie będzie mógł przechodzić przez zaporę.



Zapora ogniowa typu stateful inspection stoi o stopień wyżej od tradycyjnych zapór i skutecznie eliminuje ich niedogodności. Podstawą jej działania jest bieżące śledzenie i analiza przechodzących przez nią połączeń, co pozwala na znacznie skuteczniejsze kontrolowanie ich zgodności z regułami. Zapora cały czas przechowuje w pamięci informacje na temat aktualnego stanu każdego połączenia, wiedząc przy tym, jakie kolejne stany są dozwolone z punktu widzenia zarówno protokołu, jak i polityki bezpieczeństwa. Zapory ogniowe tego typu pozwalają na określenie możliwości dokonania danego połączenia bez konieczności operowania poszczególnymi stanami protokołu TCP. Do administratora należy tylko określenie kierunku oraz polityki względem rozpoczęcia danego połączenia, a filtr automatycznie weryfikuje kolejne etapy jego nawiązywania i późniejszy przebieg. Ta ostatnia cecha pozwala również na odrzucanie pakietów, które do danej sesji nie należą, co w praktyce przekłada się na skuteczne blokowanie prób skanowania portów lub wprowadzania sfałszowanych pakietów (ang. spoofing).


2