Přejít na hlavní obsah
Sleva 50% všechny plány, omezený čas. Od $2.48/mo
12 min left
Zabezpečení a sítě

Co je DMZ v sítích?

J Autor: Jonas 12 min čtení
Diagram comparing a three-interface DMZ firewall with the same isolation pattern arranged inside a single server

DMZ se objeví bez připojené definice. Položka v kontrolním seznamu bezpečnostní revize, věta v dokumentu dodavatele o zpevnění systému, požadavek v inzerátu na práci hned vedle TLS a nejnižších oprávnění.

Vyhledáte si to a najdete schéma firewallu se třemi síťovými kabely. Jeden vede do internetu, druhý k řadě serverů, třetí do kancelářské LAN. Vy ale spravujete jediný pronajatý server s jedinou veřejnou IP a bez jakéhokoli volného síťového rozhraní.

První obrázek je skutečná architektura DMZ. Na jediném serveru dokážete zopakovat část jejího bezpečnostního cíle: omezit, kam až internet dosáhne. Co na témže hostiteli zopakovat nedokážete, je oddělená síťová hranice, která z DMZ dělá DMZ.

Zkrácená verze

  • DMZ odděluje služby, na které se cizí lidé musí dostat, od všeho ostatního, co provozujete.
  • Nikdy nešlo o kabeláž: šlo o to, aby se kompromitace na veřejné straně zastavila právě tam.
  • Můžete nakonfigurovat firewall a přesto žádnou DMZ nemít.
  • Jediný server s jedinou veřejnou IP může snížit expozici pomocí reverzní proxy, pravidel hostitelského firewallu a naslouchání na loopbacku či privátním rozhraní, ale samostatný segment DMZ tím nevznikne.
  • Tato varianta sdílí jádro s tím, co chrání, takže ji počítejte jako sníženou expozici, nikoli jako izolaci.

Co tento článek nepokrývá

Rozsah je zde myšlenkový model a tři sousední témata jsou záměrně ponechána stranou.

  • Žádné postupy nasazení. Nenajdete tu konfiguraci reverzní proxy, syntaxi pravidel firewallu ani doporučení, který nástroj nainstalovat.
  • Žádné nastavování domácích routerů. Volba "DMZ host" na domácím routeru označuje něco úplně jiného.
  • Žádný verdikt o zero trust. Zda je síťový perimetr stále tím správným hlavním opatřením, je skutečná debata a tady se nerozhoduje.

Co je DMZ a k čemu slouží?

DMZ, tedy demilitarizovaná zóna, je síťový segment ležící mezi nedůvěryhodným internetem a vnitřní sítí. Jsou v ní služby, které musí být veřejně dostupné, například webové a poštovní servery. Vše ostatní zůstává za druhou hranicí, takže dosáhnout na veřejnou službu neznamená dosáhnout na zbytek.

Heslo o DMZ ve slovníku Mozilly shrnuje účinnou polovinu toho do jediné věty: zpřístupňuje pouze určité definované koncové body a zároveň zvenčí odepírá přístup do vnitřní sítě. To je celý cíl návrhu, vyslovený bez odkazu na jakékoli zařízení.

Typy služeb, které tam klasicky sídlí, plynou z toho cíle. Webové servery, poštovní servery, FTP servery, VoIP servery: věci, ke kterým se cizí lidé mají moci připojit. Adresářové servery, databáze, sdílené složky, interní aplikace a administrátorská rozhraní na tom seznamu nejsou, protože se k nim nikdo zvenčí dostat nemá.

Držte se vlastnosti, ne obrázku. Tři síťová rozhraní jsou jeden ze způsobů, jak vytvořit samostatnou hranici důvěry. Cloudové i jednoserverové návrhy mohou stejný princip řízení expozice uplatnit jinak, ale samotnou DMZ reprodukují jen návrhy s odlišenou perimetrovou zónou.

Jak funguje klasická DMZ se třemi rozhraními?

Schéma dvou klasických podob DMZ vedle sebe. Vlevo návrh s jediným firewallem, takzvaný tříramenný, kde jeden firewall vede linku WAN do internetu, linku DMZ k webovému a poštovnímu serveru a linku LAN do vnitřní sítě s databází, administrátorskou stanicí a interní aplikací, přičemž provoz z internetu dovnitř je blokován. Vpravo návrh se dvěma firewally zády k sobě, kde DMZ leží mezi vnějším a vnitřním firewallem a poskytuje dvě samostatné hranice politik za cenu složitější konfigurace.

Klasická DMZ se staví dvěma způsoby. Návrh s jedním firewallem dá jednomu firewallu tři rozhraní: jedno do internetu, jedno do DMZ a jedno do vnitřní sítě. Návrh se dvěma firewally umístí DMZ mezi dva samostatné firewally. Oba vynucují totéž pravidlo. Internet dosáhne na DMZ. Internet nikdy nedosáhne na vnitřní síť.

Model s jedním firewallem (tříramenný)

Jeden firewall, tři síťová rozhraní. První směřuje do internetu. Druhé směřuje do DMZ, kde žijí veřejné služby. Třetí směřuje do vnitřní sítě. Firewall povolí příchozí provoz z internetu na konkrétní porty v DMZ, povolí úzký provoz z DMZ dovnitř tam, kde to aplikace vyžaduje, a všechno ostatní zamítne.

Tato podoba se jmenuje tříramenný firewall. Každý paket přecházející mezi zónami projde jediným zařízením, což z toho firewallu dělá jediný bod selhání pro mezizónový provoz. Když selže, konektivita i vynucování politik jsou zasaženy podle toho, jak se firewall při selhání chová a jakou redundanci máte připravenou.

Deset let jsem řídil síťový provoz u poskytovatele internetu a lidi na rozhraní DMZ nejvíc překvapovalo, jak nezajímavé bylo. Obyčejný ethernetový port, kterému byl v konfiguraci firewallu přiřazen jiný štítek důvěry. Architektura nebyla v mědi. Byla v sadě pravidel a v tom, že si někdo pečlivě rozmyslel, kterým směrem je každý tok povolen.

Model se dvěma firewally (zády k sobě)

Dva firewally v řadě a mezi nimi DMZ. Vnější firewall pustí internetový provoz do DMZ a dál ne. Vnitřní pustí jen ten konkrétní provoz z DMZ dovnitř, který aplikace potřebuje. Útočník, který se dostane do DMZ, musí ještě překročit hranici politik vnitřního firewallu, než se dostane do vnitřní sítě.

Dva firewally vám dají dvě samostatně vynucované hranice politik, ale zároveň přidají konfiguraci, záplatování a provozní složitost. Selhání nebo kompromitace vnější hranice neodstraní automaticky tu vnitřní, i když ochrana pořád závisí na tom, jak jsou oba firewally nastavené a spravované.

Je DMZ totéž co firewall?

Ne. DMZ je samostatná perimetrová síť nebo síťový segment. Firewall je jedním z běžných opatření, kterým se řídí provoz mezi touto zónou, internetem a vnitřní sítí. Pravidla firewallu můžete nastavit i v ploché síti, aniž byste DMZ vytvořili, takže ten rozdíl je architektonický, ne jen otázka konfigurace.

Ta záměna je pochopitelná. Firewall je ten objekt, do kterého se přihlašujete, věc s konfiguračním souborem, dodavatelem a servisní smlouvou, takže si přisvojí jméno toho, co vytváří. Do segmentu se nikdy nikdo nepřihlašuje.

Důsledek se ukáže v tu nejhorší možnou chvíli. Předpokládejte, že váš veřejný webový server je kompromitovaný, protože jednou to nastane. V ploché síti má útočník najednou oporu na stroji, který už smí mluvit s vaší databází, souborovým serverem i administrátorskými rozhraními, a přesouvat se mezi nimi znamená jen využívat přístup, který už byl povolený. Tomuto pohybu do stran se říká laterální pohyb a přesně kvůli němu ta druhá hranice existuje. DMZ nezabrání tomu, aby byl webový server kompromitován. Zabrání tomu, aby se z kompromitovaného webového serveru stal přístup ke všemu ostatnímu.

Jedno upřesnění, když už ten pojem máte před sebou: nastavení "DMZ host" na domácím nebo malém kancelářském routeru je jiná funkce. Přeposílá nevyžádaný příchozí provoz na jedno vnitřní zařízení a vystavuje ho přímo internetu; samostatnou chráněnou síť DMZ tím nevytváří.

Jak uplatnit principy DMZ na jediném serveru?

Jediný server s jedinou veřejnou IP dokáže zopakovat část cíle DMZ v řízení expozice, aniž by zopakoval její síťové oddělení. Reverzní proxy se může stát jediným veřejným vstupním bodem, příchozí pravidla firewallu s výchozím zamítnutím mohou zbytek zablokovat a vnitřní služby mohou naslouchat na loopbacku nebo na privátním rozhraní místo na veřejné adrese.

Začněte omezením, které tato část předpokládá: jeden VPS, jedno veřejné rozhraní a žádné samostatné firewallové zařízení a žádná podsíť DMZ pod vaší kontrolou. V takovém uspořádání klasickou tříramennou topologii na témže hostiteli nezopakujete. Pravidla hostitelského firewallu, volba naslouchacího rozhraní služeb i reverzní proxy stále mohou expozici snížit, ale stejnou izolační hranici nevytvoří.

Reverzní proxy může obsadit veřejné rozhraní na portech 80 a 443 a stát se jediným vstupním bodem na aplikační vrstvě pro webový provoz. To zúží veřejný útočný povrch, ale nerovná se to samostatnému rozhraní DMZ, protože proxy pořád sdílí hostitele se službami za sebou.

Příchozí pravidla firewallu na hostiteli povolí tyto dva porty a zbytek zahodí. Každá další služba na stroji sice může běžet a naslouchat, ale zvenčí k ní nikdo spojení nenaváže. Tím se na jednom hostiteli blížíte politice "dostupné jsou jen zamýšlené porty"; samostatnou hranici vůči vnitřní síti to nevytvoří.

Aplikační servery, databáze a administrátorské panely by neměly naslouchat na veřejné adrese. Když proxy běží na témže hostiteli, mohou naslouchat na loopbacku; když běží jinde v privátní síti, mohou naslouchat na privátní adrese. V obou případech pro tyto služby na veřejném rozhraní žádný posluchač není, takže otevření příchozího pravidla jen na tomto rozhraní je neodhalí.

Administrátorský přístup patří na vnitřní stranu, ne na stranu DMZ. Držet SSH a správcovská rozhraní mimo veřejnou cestu, za VPN nebo v privátní síti, zabrání přímým spojením k nim z veřejného internetu.

Jak se koncepty DMZ promítají do podsítí VPC a bezpečnostních skupin?

Schéma promítající klasické prvky DMZ na cloudové primitivy uvnitř VPC. Segment DMZ se stává veřejnou podsítí s load balancerem nebo proxy, dosažitelnou jen tehdy, když se sejde internetová cesta, veřejná adresa a povolující pravidla. Vnitřní síť se stává privátní podsítí s aplikačním serverem a databází bez cesty k internetové bráně. Pravidla firewallu pro zónu se mění na bezstavové síťové ACL na okraji podsítě a pravidla pro jednotlivé prostředky na stavové bezpečnostní skupiny připojené ke každému prostředku.

Klasický model má k cloudovým síťovým primitivům poměrně těsné pojmové zobrazení, ale není to jedna ku jedné. Segment DMZ se stane veřejnou podsítí. Vnitřní síť se stane privátní podsítí bez cesty k internetové bráně. Sada pravidel firewallu se rozdělí mezi bezpečnostní skupiny, které jsou spojené se síťovými rozhraními prostředků, a síťové ACL, které jsou připojené k podsítím.

Klasický prvekCloudový protějšekCo vynucuje
Segment DMZVeřejná podsíťPoskytuje cestu do internetu; prostředek navíc potřebuje veřejnou adresu a bezpečnostní pravidla, která provoz povolí
Segment vnitřní sítěPrivátní pods흎ádná přímá cesta k internetové bráně, takže internet po této cestě nemůže navázat přímé spojení
Rozhraní firewallu mezi zónamiSměrovací tabulka + připojení internetové brányKam se provoz může směrovat; zda je prostředek dosažitelný, stále rozhoduje veřejné adresování a bezpečnostní kontroly
Sada pravidel firewallu (na zónu)Síťové ACLBezstavová pravidla povolení a zamítnutí, vyhodnocovaná na okraji podsítě
Sada pravidel firewallu (na hostitele)Bezpečnostní skupinyStavová pravidla povolení, uplatňovaná na síťová rozhraní přidružených prostředků
Veřejně dostupná služba v DMZLoad balancer nebo proxy instance ve veřejné podsítiJediný vstupní bod, kterým musí provoz projít

Cloudoví poskytovatelé tenhle slovník používají sami, což je dobrý důkaz, že je pojem stále aktuální. Síťový blog AWS popisuje architekturu DMZ na Amazon VPC která izoluje veřejně dostupné služby od vnitřních sítí a stojí na VPC Block Public Access, opatření na úrovni Regionu spuštěném v listopadu 2024.

Nosnou částí tohoto zobrazení jsou podsítě. Veřejná podsíť je veřejná proto, že její směrovací tabulka ukazuje na internetovou bránu. Protože směrovací tabulky rozhodují, kam pakety putují, rozvržení podsítí utváří vaši expozici dřív než kterékoli jednotlivé pravidlo.

Zobrazení je nepřesné v jednom konkrétním bodě. Rozhraní firewallu vynucovalo hranici pro celý segment; bezpečnostní skupina je naopak spojená se síťovým rozhraním jednoho prostředku. Dva stroje ve stejné privátní podsíti mohou nést úplně jiné bezpečnostní skupiny, takže vynucování dopadá v jemnější zrnitosti, než jaké kdy fyzické rozhraní dosáhlo. To je obvykle zlepšení. Zároveň to ale znamená, že jméno podsítě vám o dosažitelnosti řekne míň, než kdysi říkalo síťové schéma.

Kde jednoserverová verze nestačí

Na jednom hostiteli sdílí veřejně vystavený proces a vnitřní služby jedno jádro a jeden stroj. Oddělené segmenty donutí útočníka překročit síťovou hranici, kterou firewall kontroluje; jeden hostitel ne. Jednoserverový vzorec snižuje expozici. Oddělení nereprodukuje.

Pokud je reverzní proxy kompromitována způsobem, který útočníkovi dá spuštění kódu, tenhle kód už běží na stroji, na kterém běží vaše databáze. Naslouchání na loopbacku tehdy nepomůže, protože loopback je z hostitele dostupný. Izolace kontejnery nebo uživateli může zvýšit potřebné úsilí, ale kontejnery na témže hostiteli pořád sdílí jeho jádro. V klasickém modelu byl dalším krokem útočníka paket po drátu, který něco kontrolovalo. Tady je to lokální socket.

Praktickým důsledkem je práh, ne verdikt. Jakmile má to, co stojí za proxy, větší cenu než námaha s druhým strojem, pořiďte druhý stroj a privátní síť mezi nimi. Kvůli tomu se z tohoto článku nemusíte nic přeučovat, protože nic z něj nikdy nebylo o hardwaru.

Zobrazit Linux plány

Stavte na Linux VPS s root přístupem, NVMe a výkonem AMD EPYC.

Zobrazit Linux plány

Perimetr už není jediné místo, kde lze bezpečnostní politiku vynutit. Architektura zero trust odstraňuje implicitní důvěru založenou na umístění v síti, zatímco privátní konektivita postavená na WireGuard nebo Tailscale může snížit veřejnou expozici. Ani jeden z těch přístupů automaticky nenahrazuje segmentaci ani autorizaci. Můj postoj k té užší otázce je jednoznačný. Jako myšlenkový model: rozdělte, co je dosažitelné, od toho, co není, a vězte, která hranice kompromitaci udrží. Tahle otázka přežije každou výše jmenovanou architekturu, a právě proto ji pořád stojí za to zodpovědět.

Časté dotazy

Je DMZ totéž co VPN?

Ne. Řeší různé problémy. DMZ řídí, kam se dostanou nedůvěryhodní cizinci, tím, že zpřístupní malou množinu služeb a nic víc. VPN dává důvěryhodným lidem zvenčí soukromou cestu dovnitř tím, že je autentizuje do sítě, na kterou by se jinak nedostali. Spousta sítí provozuje obojí a jedno druhé nenahrazuje.

Je DMZ bezpečná?

DMZ z vystavené služby bezpečnou službu neudělá. Omezuje, kam až kompromitace té služby dosáhne. Veřejně dostupná služba zůstává veřejně dostupná, zůstává vystavená všem na internetu a pořád potřebuje záplatování, monitoring a zpevnění sama za sebe. DMZ rozhoduje o tom, co se stane potom, co padne, ne o tom, jestli padne.

Potřebuji DMZ, když mám jen jeden server?

V klasickém smyslu ne, a na jediném hostiteli byste ji stejně nepostavili. Topologie se třemi rozhraními vyžaduje oddělené síťové segmenty a server s jedinou veřejnou IP žádný nemá. Co udělat můžete, je řídit expozici: udělejte z reverzní proxy jediný veřejný vstupní bod, zbytek příchozích portů ve výchozím stavu zamítněte a vnitřní služby nechte naslouchat na loopbacku nebo na privátní adrese. Tím se zmenší to, kam internet dosáhne, ale veřejná služba se od zbytku hostitele neizoluje. Jakmile má to, co stojí za proxy, větší cenu než druhý stroj, použijte dva stroje a mezi nimi privátní síť.

Proč se tomu říká demilitarizovaná zóna?

Pojem je vypůjčený z vojenského významu: nárazníkové pásmo mezi dvěma znepřátelenými stranami, kde ani jedna nemá plnou kontrolu. Síťové užití tu metaforu zachovává: DMZ nepatří celá ani nedůvěryhodnému vnějšku, ani důvěryhodnému vnitřku.

Sdílet

Diskuse

Komentáře

Přihlaste se a zapojte se do diskuse.

Další z blogu

Pokračuj ve čtení.

Hotov k nasazení? Od 2,48 $/měs.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dnů.