zapora sieciowa
| Po angielsku | firewall |
|---|---|
| Którą formą pisać | obie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski. |
| Inne formy | zapora ogniowa · firewall |
| Kategoria | Sieć i infrastruktura obronna |
Zapora sieciowa (firewall) to urządzenie albo program, który kontroluje przepływ ruchu sieciowego między sieciami lub hostami o różnym poziomie zabezpieczeń [1]. Słownik bezpieczeństwa IETF opisuje ją jako bramę, która ogranicza ruch do i z sieci „wewnętrznej” i w ten sposób chroni jej zasoby przed zagrożeniami z sieci „zewnętrznej” [2]. CERT Polska nazywa zaporę jednym z podstawowych elementów ochrony sieci, najczęściej ustawionym na styku infrastruktury wewnętrznej z internetem [3]. Decyzję o przepuszczeniu lub zablokowaniu ruchu zapora podejmuje na podstawie zestawu reguł.
Jak działa
Zapora stoi w punkcie, w którym łączą się sieci, i stosuje reguły polityki do ruchu wchodzącego i wychodzącego [2]. Najprostsza reguła opisuje pakiet przez adres źródłowy i docelowy, protokół (TCP, UDP, ICMP), porty oraz interfejs i kierunek ruchu [1]. Filtrowanie ruchu przychodzącego nazywa się filtrowaniem ingress, a wychodzącego filtrowaniem egress [1]. NIST zaleca, by organizacja wypuszczała na zewnątrz tylko ruch z własnymi adresami źródłowymi; utrudnia to podszywanie się (spoofing) pod cudze adresy z zainfekowanych maszyn [1].
Kolejność reguł ma znaczenie. Część zapór sprawdza ruch z regułami po kolei, aż do pierwszego dopasowania [1]. Podstawą jest polityka domyślnej odmowy: NIST definiuje „deny by default” jako blokowanie całego ruchu przychodzącego i wychodzącego, na który polityka zapory wprost nie zezwala [1]. CERT Polska formułuje to samo jako zasadę „deny all” [4]. To sieciowy odpowiednik zasady najmniejszych uprawnień.
Drogę pakietu przez zaporę ze śledzeniem stanu połączeń pokazuje schemat poniżej.
Rodzaje
Historycznie zapory rozwijały się od prostego filtra pakietów w stronę analizy treści. NIST opisuje kolejne techniki, które we współczesnych produktach zwykle występują razem [1].
| Rodzaj | Co analizuje | Uwagi |
|---|---|---|
| filtr pakietów (bezstanowy) | nagłówki warstwy sieciowej i transportowej [1] | nie wiąże pakietów w sesje [1] |
| zapora stanowa | stan połączenia w tablicy stanów [1] | odrzuca pakiety spoza znanego połączenia [1] |
| brama pośrednicząca (application proxy) | treść protokołu aplikacji [1] | dwa osobne połączenia zamiast jednego [1] |
| zapora hostowa | ruch jednego komputera [1] | wbudowana w Linux, Windows, BSD [1] |
| WAF | żądania HTTP przed serwerem WWW [1] | osobna klasa, bliżej aplikacji [1] |
Filtr bezstanowy nie potrafi powiązać kilku żądań w jedną sesję, dlatego większość zapór z filtrem pakietów przechowuje też informacje o stanie [1]. Zapora stanowa po zakończonym uzgadnianiu TCP przepuszcza cały dalszy ruch pasujący do wpisu w tablicy stanów [1]. Brama pośrednicząca nigdy nie dopuszcza bezpośredniego połączenia między stronami; klient łączy się z nią, a ona osobno z celem, podobnie jak serwer proxy [1]. Urządzenia łączące zaporę z analizą aplikacji, tożsamości użytkownika i systemem zapobiegania włamaniom to zapory nowej generacji [3].
CERT Polska wyróżnia dwa tryby pracy urządzenia: tryb routowany, w którym zapora jest urządzeniem warstwy trzeciej i uczestniczy w routingu, oraz tryb przezroczysty, w którym działa jak most warstwy drugiej bez zmiany adresacji [3].
W WordPressie
Strona WordPress styka się z zaporami na trzech poziomach. Pierwszy to sieć hostingu: dokumentacja WordPressa przypomina, że sieć po stronie serwera i po stronie użytkownika powinna być zaufana, a firma hostingowa powinna dbać o to, by jej sieć nie została przejęta [6]. Na hostingu współdzielonym właściciel strony nie ma wpływu na reguły zapory sieciowej, więc warto zapytać dostawcę, jakie stosuje zabezpieczenia [6].
Drugi poziom to serwer. Na własnym serwerze VPS zapora hostowa powinna przepuszczać tylko niezbędny ruch, co według NIST chroni też przed hostami z tej samej podsieci [1]. Dla typowej strony oznacza to otwarte porty HTTP i HTTPS oraz dostęp administracyjny przez SFTP lub SSH, najlepiej ograniczony białą listą adresów IP. CERT Polska zaleca, by bazy danych takie jak MySQL czy MariaDB nie nasłuchiwały na publicznym interfejsie [5].
Trzeci poziom to aplikacja. Handbook WordPressa opisuje wtyczki i usługi działające jak zapora dla witryny: jedne dopisują reguły do pliku .htaccess i blokują ruch na poziomie Apache, inne filtrują ataki podczas ładowania WordPressa [6]. Wymienia też zaporę aplikacji webowej na serwerze, z ModSecurity jako najpopularniejszym otwartym przykładem, oraz usługi działające jako reverse proxy przed serwerem [6]. To już nie klasyczna zapora sieciowa, lecz WAF i wtyczka bezpieczeństwa.
Przykładowe reguły zapory hostowej na serwerze z WordPressem pod adresem example.com mogą wyglądać tak (składnia ufw, adres administratora z zakresu dokumentacyjnego):
ufw default deny incoming
ufw default allow outgoing
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow from 203.0.113.10 to any port 22 proto tcp
Znaczenie i ograniczenia
Zapora wyznacza granicę, ale nie widzi wszystkiego. Filtr pakietów nie interesuje się treścią pakietów [1], więc przepuści wstrzyknięcie SQL wysłane na dozwolony port 443. Bezstanowe filtry są podatne na ataki z podrobionym adresem i z nietypową fragmentacją pakietów [1]. CERT Polska podkreśla, że „firewall to nie jest magiczne pudełko” i wymaga stałej kontroli [3].
Typowe błędy wymienione przez CERT Polska to reguły „Any-Any”, które omijają ideę filtrowania, reguły bez precyzyjnie określonego źródła, celu, portu i protokołu, a także reguły tymczasowe pozostające w konfiguracji latami [3]. Zapora jest też jednym z elementów segmentacji sieci: oddziela strefy, w tym DMZ, i ogranicza lateral movement po przełamaniu jednego hosta [4].
Dobre praktyki
- Polityka domyślnej odmowy dla ruchu przychodzącego i wychodzącego [1].
- Reguły możliwie wąskie, z czytelną nazwą, uzasadnieniem i numerem zgłoszenia zmiany [3].
- Formalne zarządzanie zmianami i okresowe przeglądy lub testy zbioru reguł [1].
- Ciągłe monitorowanie logów i alertów, także prób nieudanych [1].
- Aktualizacje oprogramowania zapory, gdy producent publikuje poprawki podatności [1]; CERT Polska dodaje aktualizacje firmware i testy mechanizmów wysokiej dostępności [3].
- Usługi wewnętrzne nigdy niedostępne z internetu, a publiczne w strefie oddzielonej regułami zapory [5].
Zapora rejestruje logi ruchu, logi systemowe (logowania administratorów, zmiany konfiguracji) i zdarzenia bezpieczeństwa [3]. Warto przesyłać je do systemu SIEM, gdzie można je zestawić z logami serwera WWW.
Historia i przykłady
Słownik RFC 4949 z sierpnia 2007 roku opisuje zaporę, która nie jest jednym komputerem: parę routerów filtrujących i serwery pośredniczące na hostach bastionowych, połączone małą, wydzieloną siecią między routerami [2]. Zewnętrzny router blokuje ataki na warstwę IP, takie jak podrabianie adresów czy fragmentacja, a serwery pośredniczące ataki na protokoły wyższych warstw [2]. Jako drugie znaczenie terminu RFC 4949 przytacza definicję z pierwszego wydania wytycznych NIST SP 800-41 ze stycznia 2002 roku [2]. Obecna wersja tych wytycznych, Rev. 1, pochodzi z września 2009 roku [1].
Przypisy
6- [1] NIST SP 800-41 Rev. 1: Guidelines on Firewalls and Firewall Policy · NIST
- [2] RFC 4949: Internet Security Glossary, Version 2 · IETF
- [3] Firewall — Baza wiedzy CERT Polska · CERT Polska
- [4] Separacja sieci — Baza wiedzy CERT Polska · CERT Polska
- [5] Usługi dostępne publicznie — Baza wiedzy CERT Polska · CERT Polska
- [6] Hardening WordPress — Advanced Administration Handbook · WordPress.org
Hasła w tym artykule
18Linkują tutaj
24- WAF
- SSRF (Server-Side Request Forgery)
- Zero Trust
- bulletproof hosting
- segmentacja sieci
- IPS
- NAC (network access control)
- robak komputerowy
- threat intelligence
- DMZ
- zapora nowej generacji
- reverse proxy
- DPI (deep packet inspection)
- skanowanie podatności
- skanowanie portów
- amplifikacja
- SOAR (Security Orchestration, Automation and Response)
- SYN flood
- ZTNA
- DNS cache poisoning
- fail2ban
- canary token
- model współdzielonej odpowiedzialności
- CSPM