DMZ
| Po angielsku | demilitarized zone (DMZ) |
|---|---|
| Którą formą pisać | bez tłumaczenia Skrót, nazwa własna albo nazwa standardu — nie tłumaczymy w ogóle. |
| Inne formy | strefa zdemilitaryzowana · strefa buforowa · sieć obwodowa (termin z polskiej lokalizacji dokumentacji Microsoftu) |
| Kategoria | Sieć i infrastruktura obronna |
DMZ, czyli strefa zdemilitaryzowana (ang. Demilitarized Zone), to według CERT Polska segment sieci izolujący usługi udostępniane na zewnątrz od sieci wewnętrznej organizacji [1]. Jej celem jest ograniczenie promienia rażenia, gdy publicznie dostępna usługa zostanie przejęta [1]. W DMZ stawia się serwery, z którymi musi łączyć się internet, a sieć wewnętrzna pozostaje za kolejną warstwą reguł. Napastnik, który przełamie serwer WWW, trafia do strefy buforowej, a nie od razu do stacji roboczych i baz danych firmy.
Jak działa
DMZ to szczególny przypadek segmentacji sieci. Strefę wyznaczają zapory sieciowe (firewall), a o tym, co przez nie przechodzi, decydują reguły. CERT Polska zaleca zasadę domyślnej odmowy (deny all) [1], a reguły na zaporze zewnętrznej powinny domyślnie blokować ruch przychodzący [2]. Z internetu otwarte są tylko porty usług, które mają być publiczne.
Najważniejsza jest granica między DMZ a siecią wewnętrzną. Publiczna usługa nie może mieć swobodnego dostępu do sieci LAN, a połączenia między DMZ i siecią wewnętrzną powinny być ograniczone do minimum oraz monitorowane [2]. MITRE ATT&CK zaleca ścisłe reguły zapory dla ruchu między DMZ a siecią wewnętrzną [5].
Podział na strefy w modelu z dwiema zaporami pokazuje schemat poniżej.
Odmiany
CERT Polska opisuje dwa sposoby budowy strefy [1]. NIST zaznacza, że nie istnieje jedna techniczna definicja DMZ w zaporach; w wielu urządzeniach jest to osobny interfejs zapory routującej, podobny do interfejsów strony chronionej [3].
| Model | Budowa | Cecha |
|---|---|---|
| dwie zapory | zewnętrzna oddziela DMZ od internetu, wewnętrzna od LAN [1] | najczęstsza realizacja [1] |
| jedna zapora | ruch z internetu musi przejść przez zaporę, by trafić do DMZ [1] | DMZ jako osobny interfejs zapory [3] |
| osobna infrastruktura | serwery publiczne w DMZ albo u zewnętrznego dostawcy [5] | alternatywa wskazana przez MITRE [5] |
W modelu z jedną zaporą ruch między DMZ a siecią chronioną nadal przechodzi przez zaporę i podlega jej politykom [3]. W modelu z dwiema zaporami napastnik, który przejmie serwer w DMZ, ma przed sobą jeszcze jedno urządzenie z osobnym zestawem reguł.
Typowe usługi w DMZ to serwery WWW, serwery pocztowe, zewnętrzne serwery DNS i bramy API [1]. MITRE wymienia te same kategorie: serwery WWW, DNS i poczty [5]. NIST podaje, że w DMZ umieszcza się zwykle serwery publiczne, takie jak serwery WWW i poczty [3].
W WordPressie
Większość stron WordPress działa u firmy hostingowej, więc właściciel strony nie buduje DMZ sam. Serwer stoi w infrastrukturze dostawcy, oddzielonej od sieci biurowej. To odpowiada wariantowi, który MITRE opisuje jako umieszczenie serwerów publicznych w DMZ albo na osobnej infrastrukturze hostingowej [5]. Dokumentacja WordPressa przypomina, że sieć po stronie serwera powinna być zaufana i że warto zapytać dostawcę o jego zabezpieczenia [6].
Inaczej jest, gdy firma utrzymuje WordPress na własnych serwerach. Wtedy serwer WWW z WordPressem trafia do DMZ, zgodnie z zaleceniem CERT Polska dla usług publicznych [2]. Pytanie brzmi, gdzie postawić bazę MySQL lub MariaDB. CERT Polska podkreśla, że żadna baza danych nie powinna nasłuchiwać na publicznym interfejsie [2]. Jeżeli baza stoi w sieci wewnętrznej, połączenie z WordPressa do bazy staje się jednym z nielicznych dozwolonych przepływów z DMZ do LAN. Taki przepływ warto ograniczyć do jednego hosta i jednego portu i objąć monitorowaniem, bo właśnie tę drogę wybierze napastnik po przejęciu strony.
Przed serwerem w DMZ często stoi reverse proxy z zaporą aplikacji webowej. CERT Polska zaleca, by dostęp do publicznych aplikacji webowych prowadził przez reverse proxy, najlepiej z WAF blokującym znane wzorce ataków [2]. Handbook WordPressa opisuje podobne usługi zapory przed serwerem, które przyjmują żądania i przekazują dalej tylko te nieszkodliwe [6].
Panel administracyjny i dostęp przez SFTP lub SSH nie muszą być publiczne. Można je udostępnić tylko z sieci wewnętrznej albo przez VPN, przez co powierzchnia ataku serwera w DMZ maleje.
Znaczenie
DMZ nie zapobiega przejęciu usługi, tylko ogranicza jego skutki. Gdy napastnik wykorzysta podatność we wtyczce i uzyska zdalne wykonanie kodu na serwerze WWW, zapora wewnętrzna utrudnia mu lateral movement w stronę sieci firmy. MITRE wskazuje segmentację z DMZ jako mitygację techniki wykorzystania aplikacji dostępnej publicznie (T1190) [5].
Strefa traci sens, gdy reguły między DMZ a LAN są zbyt szerokie. Zalecenie CERT Polska jest jednoznaczne: połączenia między strefami ograniczone do minimum i monitorowane [2]. Podobnie działa filtrowanie ruchu wychodzącego: NIST opisuje filtrowanie egress jako sposób ograniczenia ruchu wychodzącego z organizacji [3], co w DMZ utrudnia przejętemu serwerowi łączenie się z serwerem C2.
Dobre praktyki
- Domyślna odmowa na obu zaporach, otwarte tylko porty usług publicznych [1] [2].
- Żadnych usług wewnętrznych dostępnych z internetu; usługi publiczne w strefie odseparowanej regułami zapory [2].
- Minimum przepływów z DMZ do LAN, każdy opisany i monitorowany [2].
- Serwery w DMZ utwardzone i aktualizowane, bo znana luka w usłudze publicznej to bezpośredni wektor ataku [2].
- Logi z obu zapór przesyłane do systemu SIEM i przeglądane.
Historia i przykłady
Nazwa pochodzi od stref zdemilitaryzowanych tworzonych między walczącymi państwami [3]. Słownik RFC 4949 z sierpnia 2007 roku traktuje „demilitarized zone” jako synonim terminu „buffer zone” i zaleca, by dokumenty IETF go nie używały, bo miesza pojęcia w sposób mogący wprowadzać w błąd [4]. Sama strefa buforowa jest tam opisana jako neutralny segment sieci łączący segmenty o różnych politykach bezpieczeństwa; jedno lub oba połączenia realizuje zapora [4]. Mimo tej rekomendacji funkcję o nazwie DMZ ma wiele sprzętowych zapór [3], a skrótu używa także CERT Polska [1].
Przypisy
6- [1] Separacja sieci — Baza wiedzy CERT Polska · CERT Polska
- [2] Usługi dostępne publicznie — Baza wiedzy CERT Polska · CERT Polska
- [3] NIST SP 800-41 Rev. 1: Guidelines on Firewalls and Firewall Policy · NIST
- [4] RFC 4949: Internet Security Glossary, Version 2 · IETF
- [5] Network Segmentation, Mitigation M1030 · MITRE ATT&CK
- [6] Hardening WordPress — Advanced Administration Handbook · WordPress.org