W dzisiejszym świecie cyfrowym bezpieczeństwo sieci jest kluczowe dla ochrony danych i zapewnienia bezproblemowego funkcjonowania. Ten artykuł szczegółowo skupi się na podstawowych mechanizmach obronnych: firewallach, serwerach proxy i bramach sieciowych, które odgrywają niezastąpioną rolę w decydowaniu, który ruch sieciowy przepuścić, a który zablokować. Omówimy ich zasady działania, praktyczne zastosowania oraz różnice, abyście lepiej zrozumieli, jak chronią Waszą sieć przed zewnętrznymi zagrożeniami.
Czym jest Filtrowanie w Kontekście Bezpieczeństwa Sieci?
Filtrowanie to kamień węgielny bezpieczeństwa sieciowego. Polega na kontroli danych przechodzących przez aktywny element sieciowy, który działa jak filtr półprzepuszczalny – niektóre komunikacje zezwala, inne blokuje. Ważne jest, że filtrowanie nie zmienia danych, a jedynie decyduje o tym, czy zostaną przepuszczone, czy odrzucone.
Kryteria filtrowania mogą być różne. Filtr może kontrolować informacje nagłówkowe protokołu, takie jak adresy IP, porty czy flagi (SYN/ACK). Bardziej zaawansowane filtrowanie skupia się również na danych protokołu aplikacyjnego, co jednak wymaga, aby filtr „rozumiał” protokół i potrafił go parsować. Filtrowanie na podstawie nagłówków jest szybkie i tanie, natomiast filtrowanie na podstawie zawartości (Deep Packet Inspection – DPI) jest bardziej wymagające i w przypadku zaszyfrowanego ruchu (HTTPS) wymaga inspekcji SSL.
Polityki filtrowania dzielą się na dwie podstawowe strategie:
- Czarna lista (Blacklisting): „Co nie jest zabronione, jest dozwolone.” Blokowane są tylko specyficzne, problematyczne elementy. Często stosuje się ją na stacjach końcowych, gdzie domyślnie wszystko jest dozwolone.
- Biała lista (Whitelisting): „Co nie jest dozwolone, jest zabronione.” To podejście jest bezpieczniejsze, ponieważ zezwala tylko na to, co jest absolutnie niezbędne, ale jest bardziej wymagające w zarządzaniu. Obecnie na firewallach stosuje się podejście hybrydowe: domyślne odrzucenie z białą listą dla znanych i potrzebnych usług.
Filtrowanie odbywa się w wielu miejscach w sieci: na zarządzalnych przełącznikach (L2), routerach (L3 i L4), specjalizowanych firewallach sprzętowych oraz firewallach programowych na stacjach klienckich (np. Windows Firewall). Zasada obrony w głąb (Defense in depth) oznacza, że filtrowanie odbywa się na wielu poziomach jednocześnie, aby awaria jednej warstwy została wychwycona przez kolejną.
Filtrowanie na Poziomie Protokołu IP
Na poziomie protokołu IP można zezwolić lub zakazać komunikacji między komputerami na podstawie danych z nagłówka pakietu. Obejmuje to adres IP nadawcy/odbiorcy, protokół wyższej warstwy (TCP, UDP, ICMP) lub flagi. Ważne jest również filtrowanie wiadomości ICMP, które mogą być wykorzystane do nadużyć.
Samo filtrowanie IP jest jednak dość mało skuteczne bez kombinacji z filtrem TCP/UDP. Nie potrafi na przykład rozróżnić ruchu HTTP od SSH – do tego potrzebne są porty.
Filtr stanowy (stateful filter) jest kluczowy dla nowoczesnego firewalla. Monitoruje stan połączeń protokołów wyższych warstw, co pozwala mu zezwolić na nawiązanie sesji z wnętrza sieci i przepuścić do środka tylko powiązane odpowiedzi. Większość dzisiejszych firewalli jest stanowych (stateful), co upraszcza zarządzanie regułami.
Atak typu address spoofing to atak, podczas którego napastnik podrabia źródłowy adres IP na adres z wewnętrznej sieci. Firewall może wtedy pomyśleć, że pakiet pochodzi z wewnątrz i przepuści go dalej. Obrona przed tym atakiem polega na filtrowaniu przychodzącym (ingress filtering), gdzie router brzegowy odrzuca pakiety z wewnętrznym źródłowym adresem IP przychodzące z zewnątrz (patrz BCP 38 / RFC 2827).
Filtrowanie na Protokółach TCP/UDP
Filtrowanie na poziomie protokołów TCP i UDP pozwala zezwolić lub zakazać komunikacji określonych aplikacji. Łączy się z filtrem IP i kontroluje porty oraz flagi SYN/ACK w nagłówku TCP/UDP.
Problem fragmentacji pakietów może komplikować filtrowanie. Jeśli pakiet ulegnie fragmentacji, nagłówek TCP jest zawarty tylko w pierwszym fragmencie. Filtr może więc zatrzymać tylko pierwszy pakiet, podczas gdy pozostałe fragmenty dotrą do celu. Bardziej zaawansowane firewalle czekają na cały segment TCP i odrzucają wszystkie fragmenty.
Filtrowanie ICMP jest ważne, ponieważ wiadomości ICMP mogą być wykorzystane do ataków (np. przekierowanie dla spoofingu) lub sygnalizować skanowanie sieci.
Filtrowanie przychodzących połączeń TCP jest zazwyczaj stanowe (stateful). Priorytetowo filtruje się pakiety SYN (żądania nawiązania połączenia). Po nawiązaniu połączenia tymczasowo zezwala się na ruch dwukierunkowy dla pakietów bez SYN (ale z ACK/RST), z kontrolą numerów sekwencyjnych pakietów, adresów IP i portów (sequence number tracking).
Niektóre aplikacje, takie jak FTP w trybie aktywnym, wymagają specjalnego traktowania, ponieważ tworzą kanał danych z drugiego kierunku. Firewall musi być w stanie dynamicznie otwierać ten drugi port. Podobnie w przypadku UDP i DNS przepuszczane są tylko odpowiedzi po zapytaniu.
Firewall: Obrońca Twojej Sieci
Firewall to aplikacja lub urządzenie sprzętowe, które wykonuje filtrowanie ruchu sieciowego i jednocześnie logowanie zdarzeń. Dziś często jest to specjalizowany sprzęt o wysokiej wydajności, zdolny do przetwarzania setek, a nawet tysięcy reguł filtrowania. Nowoczesne firewalle dysponują wysokiej jakości kartami sieciowymi, redundancją i rozumieniem protokołów wyższych warstw (Deep Packet Inspection – DPI). Niektóre obsługują również inspekcję SSL (MITM), gdzie firewall odszyfrowuje ruch TLS, sprawdza zawartość i ponownie go szyfruje, co umożliwia wykrywanie złośliwego oprogramowania w HTTPS, ale wymaga zaufania klienta.
Praktyczne Zasady Konfiguracji Firewalla: Przykłady z UPOL
Prawidłowa konfiguracja firewalla jest kluczowa. Poniżej przedstawiono najlepsze praktyki i przykłady reguł z rzeczywistej konfiguracji na UPOL:
- Nazwane zakresy adresów: Pracując z większą siecią, warto logicznie podzielić i nazwać zakresy adresów IP dla lepszej przejrzystości reguł. Przykład:
ip firewall address-list add address=158.194.92.201-158.194.92.218 list=Ucebna-5002 - Komentarze do reguł: Zawsze dodawaj komentarze do reguł. Po pewnym czasie zapomnisz, dlaczego dana reguła tam jest, a bez komentarzy firewall ma „bus factor” 1 (gdy odejdzie jedyny administrator, to katastrofa). Przykład:
comment=