19 DNS a firewall


Firewall odděluje vnitřní podnikovou síť (intranet) od Internetu. Umožňuje klientům vnitřní sítě čerpat informace z Internetu a znemožňuje útočníkům z Internetu útočit proti počítačům ve vnitřní síti.

Firma má přidělenu doménu firma.cz. Avšak tuto doménu chce používat v Internetu i v intranetu. V Internetu bude v doméně firma.cz nejspíš pouze: www.firma.cz, mail.firma.cz a několik málo dalších záznamů (MX záznamy pro firma.cz ukazující na mail.firma.cz atd.). Kdežto v intranetu mohou být v doméně firma.cz desítky, stovky či tisíce počítačů.

Jinými slovy: budou dvě domény firma.cz, každá bude obsahovat jiné záznamy, ale potíž je v tom, že se jmenují stejně – firma.cz. V Internetu nemohou existovat dvě různé domény stejného jména. Avšak tato situace nenastává v samotném Internetu, ale jedna doména je v Internetu a druhá v intranetu.

Problém je s firewallem jako takovým. Na firewallu běží aplikace (např. proxy), které potřebují pracovat s doménou firma.cz vnitřní sítě, ale s ostatními doménami z Internetu. Navíc firewall jako name server se z hlediska klientů v Internetu musí tvářit, že pracuje s doménou firma.cz z Internetu.

Aplikace běžící na firewallu (např. proxy) využívají resolver, kdežto firewall jako name server bude poskytovat informace jako server. Jako nástroj se využívá skutečnost, že reslover nemusí být nasměrován na name server běžící na místním počítači (na 127.0.0.1).

Jedním problémem je vlastní zapojení firewallu a přidělení IP-adres (viz obr. 6.9). Jiným problémem je konfigurace firewallu z hlediska DNS. Oba problémy jsou na sobě v podstatě nezávislé.

Z hlediska konfigurace DNS na firewallu může nastat celá řada eventualit. Probereme několik modelových situací. V praxi však nejspíš použijete kombinaci těchto situací.


Společné DNS pro Internet i intranet


Nejjednodušší řešení je udělat společné DNS pro Internet i intranet. Toto řešení je považováno jako nedokonalé zejména ze dvou příčin:
  1. Na Internetu se zveřejňují překlady počítačů, které mají nesměrovatelné adresy (síť 10/8, 172.16/12 či 192.168/16).
  2. Zveřejňují se informace o struktuře firmy (IP-adresy počítačů vnitřní sítě). Tyto informace jsou zpravidla utajovány.
Kardinální otázkou při konfiguraci DNS na firewallu vždy je, zda-li se mají překládat všechny jména Internetu ve vnitřní síti. Nebo, zda-li klienti vnitřní sítě mají mít možnost překládat pouze jména z domény firma.cz ve vnitřní síti.
 

        Ve vnitřní síti se překládá celý Internet

Pokud se překládá celý Internet ve vnitřní síti, pak se i ve vnitřní síti musí směrovat (dopravovat) IP-adresy celého Internetu. To má opět dva nepříjemné důsledky:
  1. Směrování vnitřní sítě musí být na tuto skutečnost připraveno. Tj. veškeré IP-adresy, které nejsou z vnitřní sítě musí směrování dopravit na firewall. Zpravidla se to provádí pomocí položky default ve směrovacích tabulkách. Zejména v případě rozsáhlých intranetů nemusí být triviálním problémem takové směrování stabilně udržet.
  2. Bezpečnostní manažeři sledují vnitřní síť, zda-li v ní nedochází k útokům z jiných sítí. Pokud se v síti dopravují pouze IP-datagramy adresované v sítích 10/8, 172.16/12 či 192.168/16, pak při výskytu jinéhé adresy se snadno může signalizovat možnost bezpečnostního incidentu. Pokud se však mohou ve vnitřní síti vyskytovat legálně zcela libovolné adresy Internetu, pak bezpečnostním manažerům bereme tento nástroj.
Překlad celého Internetu ve vnitřní síti se používá zejména ve dvou případech: Firewall zpravidla pracuje jako primární name server pro doménu firma.cz (viz obr. 19.1), která je společná jak pro intranet, tak i pro Internet.
 


Obr. 19.1

Je rozumné mít alespoň dva name servery pro doménu (primární a sekundární). Avšak je třeba mít dva name servery dostupné v Internetu a dva v intranetu. Jelikož firewall je dostupný z obou sítí, tak stačí nakonfigurovat jeden sekundární name server pro Internet a druhý pro Intranet.

Sekundární name server v Internetu pro naší doménu budeme nejpravděpodobněji provozovat u našeho poskytovatele Internetu.

Sekundární name server v intranetu zřídíme na nějakém dalším počítači. Pokud bude klient intranetu požadovat překlad jména z jiné domény přímo na firewallu, pak to není potíž. Firewall může o pomoc požádat root name servery Internetu a klienta uspokojí. Pokud však klient požádá o překlad jména z jiné domény sekundární name server v intranetu, pak je problém v tom, že tento sekundární name server nemá spojení do Internetu a nemohl by proto o takový překlad požádat root name servery. Aby i takové překlady provádět mohl, tak se sekundární name server intranetu nakonfiguruje jako slave server vůči firewallu jako forwarderovi. Firewall překlad provede a předá jej slave serveru, který jej obratem předá klientovi.
 

        Ve vnitřní síti se Internet nepřekládá

Překlad adres Internetu ve vnitřní síti většinou není vůbec nutný. Ve vnitřní síti je nutné umět přeložit pouze jméno firewallu (proxy), protože klient navazuje spojení s proxy a ta teprve navazuje jménem klienta spojení s cílovým serverem v Internetu. Tj. až proxy musí umět přeložit jméno cílového server v Internetu na IP-adresu.
 


Obr. 19.2
 

Na obr. 19.2 je znázorněno jak nakonfigurováno DNS ve vnitřní síti, aby neprovádělo překlady Internetu. Ve vnitřní síti se zřídí root name server. Sekundárnímu name serveru pro firma.cz se nasměruje na tento root name server. Pokud je požadavek na jinou doménu než na doménu firma.cz, pak root name server odpoví negativně.

Jelikož je praktické mít ve vnitřní síti dva name servery, tak se prakticky zřizují dva počítače. Na obou běží sekundární name servery pro firma.cz a současně na nich běží root name servery.

Je třeba ještě upozornit, že pokud klient vnitřní sítě nasměruje svůj resolver přímo na firewall, pak mu firewall přeloží libovolnou adresu Internetu. Klientův resolver proto musí být nasměrován na name servery ve vnitřní síti.



 

Na firewallu je name server Internetu

Pokud chceme mít dvě oddělené zóny pro doménu firma.cz, pak zpravidla bývá primární name server pro Internet na firewallu a sekundární name server pro Internet na počítači poskytovatele Internetu. Pro vnitřní síť se zřídí samostatná dvojice primární/sekundární server na serverech ve vnitřní síti.

Opět jsou tu dvě možnosti. První možnost umožňuje překládat ve vnitřní síti celý Internet a druhá možnost překládat ve vnitřní síti pouze zónu vnitřní sítě.
 

        Ve vnitřní síti se překládá celý Internet


Obr. 19.3

Máme dvě samostatné dvojice name serverů (viz obr. 19.3). Jedna dvojice je ve vnitřní síti a druhá dvojice v Internetu.

Provotním problémem je, že aplikace běžící na firewallu (např. proxy) protřebuje informace o zóně firma.cz vnitřní sítě, avšak potřebuje také informace o všech ostatních doménách Internetu. Provede se to tak, že resolver firewallu není nasměrován na name server firewallu, ale na name server vnitřní sítě, který má k dispozici zónu vnitřní sítě.

Avšak v případě, že aplikace na firewallu potřebuje přeložit např. www.playboy.com, pak o tento překlad také požádá name server vnitřní sítě (šipka 1 na obrázku 19.3). Name server vnitřní sítě je slave serverem, který všechny požadavky, které neumí vyřešit sám, předá forwarderovi – firewallu (šipka 2). Name server firewallu pak již má přístup k root name serveerům (šipka 3) a tak může provést překlad. Výsledek předá zpět slave serveru, který obratem vše předá klientu na firewallu.

Klient vnitřní sítě požaduje překlady od name serverů vnitřní sítě. Pokud se jedná o překlad místní domény, pak mu vrátí odpověď; pokud se však jedná o překlad domény z Internetu, pak takový požadavek předá forwarderovi, tj. firewallu.
 
 

        Ve vnitřní síti se Internet nepřekládá

Varianta, kdy se ve vnitřní síti Internet nepřekládá znamená vytvořit ve vnitřní síti root name server (viz obr. 19.4). Zajímavé je, že ve vnitřní síti jsou minimálně dva name servery a každý má jinou funkci. První (na obr. 19.4 označený jako primární name server) složí firewallu. Pokud by klient vnitřní sítě si na něj nasměroval svůj resolver, pak by mu tento name server přeložil cokoliv z Interentu a ještě zónu firma.cz ve vnitřní síti. To však nechceme, proto jsou resolvery klientů vnitřní sítě nasměrovány na další name servery ve vnitřní síti, které používají root name server vnitřní sítě. Root name servery vnitřní sítě pak zamezí překladu jiných domén.

Obr. 19.4


Duální DNS

Pokud chceme mít samostatnou zónu pro vnitřní sít a samostatnou zónu pro Internet, pak díky tomu, že se stejně jmenují, tak každou zónu musíme mít na samostatném počítači. Cílem duálního DNS je provozovat primární name server pro zónu firma.cz vnitřní sítě i Internetu na jednom počítači. Důvod je ekonomický. Zatímco u velkých firem se na vnitřní síti provozuje celá řada serverů na kterých mohou běžet name servery, tak u menších firem by bylo často nutné instalovat další počítač jen proto, aby na něm mohl běžet name server.

Princip duálního DNS spočívá v tom, že na firewallu poběží dva name servery (dva procesy). Každý však běží na jiném portu. Na obr. 19.5 name server pro Internet běží na portu 7053 a name server pro intranet běží na portu 8053.

Běžní klienti mohou těžko využít tyto name servery na jiném portu než na portu 53, protože o portech 7053 a 8053 se nedoví.
 


Obr. 19.5

Na firewallu běží na standardním portu pro name server tzv. DNS proxy. DNS proxy zjišťuje odkud požadavek přichází. Podle toho odkud požadavek přichází, tak jej buď zamítne, předá name serveru na portu 7053 nebo name serveru na portu 8053.

Požadavek může přicházet od:

    1. Jedná se o požadavek na překlad ze domény firma.cz, pak jej předá name serveru pro vnitřní síť (na obrázku port 8053).
    2. Jedná se o požadavek na překlad jiné domény Internetu. Pak se DNS proxy rozhoduje: