Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Proč není NAT totéž co firewall

Že překlad adres (NAT) zvyšuje míru bezpečnosti uživatele, je jasné a zřejmé. Mnoho neznalých uživatelů má ale pocit, že pokud nemají veřejnou IP adresu, jsou naprosto chráněni před jakýmkoliv útokem. Falešný pocit bezpečí tak může paradoxně situaci zhoršit. Proč samotný NAT nestačí? Jaká jsou rizika?

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Co je to NAT?

NAT je zkratkou pro Network Address Translation, což bychom mohli přeložit jako překlad síťových adres. Jedná se o funkci routerů, která umožňuje překládat adresy z vnitřního adresního rozsahu do veřejného a naopak. V důsledku se tak vnitřní adresy nedostanou nikdy do internetu.

NAT vznikl jako důsledek omezeného a poměrně nízkého počtu veřejných IP adres. Protože každý uživatel dnešního internetu nemůže mít adresu z vnějšího rozsahu, byl vymyšlen princip, který dovoluje poskytovateli připojení za jednu adresu „skrýt” celou vnitřní síť, nehledě na její rozsah.

Princip NATu je poměrně jednoduchý:

  1. klient vyšle požadavek na bránu vnitřní sítě
  2. router pakety zachytí, změní jejich IP adresu na svou vnější
  3. router pakety označí tak, že je odešle z náhodného TCP portu
  4. router si do tabulky zapíše, který port zvolil a který klient k němu patří
  5. při přijetí odpovědi provede router reverzní akci a pakety vrátí klientovi

Je zřejmé, že pro klienta je celý proces naprosto transparentní a komunikaci nijak neovlivňuje (až na některé výjimky, těmi se ale nebudeme zabývat). Servery „na druhé straně” také o ničem neví a bez potíží odpovídají samotnému překladači.

Nevýhodou NATu je „jen” to, že není možné se zvenčí přímo spojit s počítačem uvnitř zaNATované sítě. Bez dalších úprav tedy nemáme možnost například provozovat vlastní server. To samozřejmě většině klientů vůbec nevadí a naopak oceňují bezpečnostní stránku věci.

NAT

Přelez, přeskoč a podlez NAT

Hlavním problémem IPv4 sítích je malý adresní prostor, který nedovoluje každému počítači přidělit jeho vlastní veřejnou IP adresu. To přináší problém v případě, že chcete propojit dva počítače, které jsou za překladačem adres (NAT). I tady ovšem existuje snadné řešení.

NAT má totiž z principu jakýsi pasivní vliv na bezpečnost sítě. Sekundárním důsledkem NATu je překrytí veškeré vnitřní komunikace se světem. Případný útočník tak

  • nezná strukturu sítě
  • nemůže se spojit s konkrétním počítačem
  • může jen odpovídat na výzvy zevnitř

Uživatelé mohou mít falešný pocit bezpečí a často se domnívají, že je NAT dokáže ochránit před útokem a nepotřebují už firewall. Bohužel stejný názor mají často i poskytovatelé připojení a někteří výrobci hardware. Nezřídka si totiž můžeme přečíst, že ADSL router obsahuje funkce firewallu a ochrany uživatele. Po připojení ovšem bohužel zjistíme, že nabízí jen NAT.

Ukážeme si, že samotný NAT není všemocný a ve skutečnosti je možné na síť zaútočit. Samozřejmě budeme předpokládat naprostou absenci firewallu, což ovšem není tak utopická situace, jak by se mohlo zdát.

Mýtus 1: Nikdo nezná mou vnitřní IP

Vnitřní IP adresa vašeho počítače se přes NAT za normálních okolností nedostane a router ji ani nijak nedeleguje. Existuje ovšem způsob, jak zjistit alespoň některé informace.

Jednak můžeme (v případě dalších pokusů) adresy tipovat. To není často složité, většinou jsou používány adresy z několika málo rozsahů jako 192.168.* a podobně. Pokud bychom potřebovali, mohli bychom proto adresu uhodnout.

Sofistikovanější „řešení” ovšem nabízejí některé protokoly a aplikace. Poměrně běžné aplikace jako ICQ a někteří P2P klienti totiž šíří informace o IP adrese vašeho počítače. Není tedy problém zjistit, jakou adresu má uživatel v rámci vnitřní sítě.

Útočník může také do jednoho z počítačů v síti propašovat svůj kód například přes děravou aplikaci. Tento kód pak může síť skenovat a posílat do internetu informace o tom, jak síť vypadá.

Možná přemýšlíte, k čemu je někomu vnitřní IP adresa počítače, na který se stejně nedokáže připojit. On to ale dokáže, jak si ukážeme později.

Mýtus 2: NAT brání útokům na síť

Protože přímé spojení do sítě není možné (to mimochodem není pravda – počkejte si na další mýtus), uživatelé mají pocit, že není možno na síť jako takovou útočit. Opak je však pravdou.

Existuje celá řada útoků, které dokáží ohrozit samotnou komunikaci se sítí a NAT na ně nemá nejmenší vliv. Jedná se o útoky typu DoS, které mohou zablokovat připojení sítě k internetu. Některé z nich si představíme.

LAND attack

Útok, při kterém je na otevřený port napadeného počítače odeslán upravený SYN paket, který vyzývá k zahájení komunikace. Jako odesílatel i příjemce tohoto paketu je vyplněn počítač oběti.

Napadený počítač začne na paket odpovídat sám sobě a v případě většího množství podobných paketů je možno oběť naprosto zahltit a znemožnit jí další přenášení regulérních paketů.

Smurf attack

Během tohoto útoku je na broadcast adresu sítě odesíláno velké množství ICMP (ping) paketů s falešnou adresou odesílatele. Pokud není takový paket blokován firewallem, dojde k jeho distribuci do vnitřní sítě. Všechny počítače začnou automaticky odpovídat a dojde k zahlcení výstupního routeru.

Ping flood

V tomto případě jde o klasické zahlcení počítače velkým množstvím ICMP (ping) paketů. Předpokládá se, že útočník má větší šířku pásma než oběť. Bez další ochrany začne oběť navíc automaticky odesílat reakce na tyto pakety a zahltí tak i pásmo směrem ven.

Mýtus 3: nikdo se na mě nepřipojí

Přichází to nejzajímavější. Toto je obecně nejrozšířenější mýtus, který ovšem dává uživatelům největší pocit bezpečí. Princip NATu totiž pasivně uživatele před neznámými pakety z venčí ochrání. Při popisu principu jsme si řekli, že si NATující router do tabulky ukládá informace o spojení a podle ní pak zpětně překládá přicházející pakety.

Pokud tedy pošleme na router nový paket, který nepatří k žádnému spojení, NAT netuší, kam jej směrovat, a tak jej automaticky zahodí. Toto je tedy ona pasivní ochrana, ale NAT není konstruován k tomu, aby před podobným chováním chránil, je to jen důsledek jeho principu.

Z toho důvodu není obecně u NATu počítáno se všemi možnostmi a útočník má možnost, jak NAT obejít. V podstatě mu k tomu bude stačit znát jen vnitřní IP adresu počítače, se kterým se chceme spojit. Jak ji zjistit, jsme si už řekli.

Střílíme přes NAT

K další „magii” budeme potřebovat přísadu nazvanou source routing. To je technika, která umožňuje předem zvolit, kudy budou putovat naše pakety. Můžeme si tak předem najít cestu k NATujícímu počítači a do hlavičky našich paketů ji vyplnit. Nejedná se o nic tajemného, source routing popisuje RFC 791 a jedná se o standardní vlastnost IP.

Nyní k samotnému prostřelení NATu: vytvoříme pakety, ve kterých jako cílovou adresu vyplníme vnitřní adresu některého ze strojů v síti. Jako bránu nastavíme NATující router. Ten je schopen nám udělat cestu dovnitř. Pomocí source routingu si sami zvolíme cestu.

Pak pakety vyšleme. Ty pak podle naší zvolené cesty doputují až k NATu, který je přijme jako brána. Protože je cílem cesty počítač, který router zná, doručí pakety až k němu.

Samozřejmě předpokládáme, že na NATu není zároveň i firewall. Ten by samozřejmě poznal, že se jedná o podvod už jen tím, že na vnější zařízení dorazily pakety určené pro vnitřní síť. Tohle ovšem NAT nezajímá (jak jsme si řekli, není to bezpečnostní mechanismus) a měl by pakety normálně doručit. Existuje samozřejmě řada faktorů ovlivňujících výsledek, zde nám jde ovšem jen o to, ukázat koncept a principiální „děravost” samotného NATu.

Samozřejmě source routing je velmi nebezpečná metoda, kterou firewally obecně blokují, protože je s ní možno provádět řadu různých podvodů. Pokud ovšem nemáme žádný filtr a spoléháme se na NAT, útočníkovi nic nestojí v cestě.

davame_internetu_obsah
       

NAT není firewall

Ukázali jsme si, že samotný NAT neochrání síť a není to ani jeho účelem. To, že schovává počítače za sebou, je jen vedlejším efektem jeho primární funkce. NAT nemá sloužit jako ochrana ani jako paketový filtr.

Pochopitelně zde naznačeným útokům je možno velmi jednoduše zabránit několika elementárními pravidly na firewallu. Stačí nám jednoduše filtrovat vnější provoz a přímým útokům se dokážeme vyhnout. Samotný NAT na to však nestačí.

Anketa

Používáte firewall?

       

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Linux – Firemní server

Na třídenním školení se naučíte nainstalovat a spravovat kompletní linuxový server do Vaší firmy se všemi základními službami, které potřebujete pro provoz Vaší sítě, firemních emailů a webových stránek.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,86

Přehled názorů

source routing
Jan Janech 13. 6. 2007 00:40
Nový
├ 
Re: source routing
zd.valek 13. 6. 2007 01:46
Nový
│
├ 
Re: source routing
Peto_MiG 13. 6. 2007 07:21
Nový
│
│
├ 
Re: source routing
patrik 13. 6. 2007 09:23
Nový
│
│
│
├ 
Re: source routing
xaint 13. 6. 2007 09:33
Nový
│
│
│
├ 
Re: source routing
jezkovy zraky 13. 6. 2007 12:30
Nový
│
│
│
│
└ 
Re: source routing
mato 14. 6. 2007 17:02
Nový
│
│
│
└ 
Re: source routing
ZerXen 13. 6. 2007 13:15
Nový
│
│
│
 
└ 
Re: source routing
DotaZ 13. 6. 2007 14:05
Nový
│
│
├ 
Re: source routing
zd.valek 13. 6. 2007 10:48
Nový
│
│
│
└ 
Re: source routing
J 13. 6. 2007 12:57
Nový
│
│
└ 
Re: source routing
JardaP 13. 6. 2007 21:48
Nový
│
│
 
└ 
Re: source routing
Jindra 13. 6. 2007 23:47
Nový
│
└ 
Re: source routing
AGM69 12. 7. 2007 18:34
Nový
├ 
Re: source routing
Jaroslav Šmíd 14. 6. 2007 00:20
Nový
│
└ 
Re: source routing
Jan Janech 14. 6. 2007 00:28
Nový
│
 
└ 
Re: source routing
partizan 27. 12. 2007 09:44
Nový
└ 
Re: source routing
hahaha 27. 12. 2007 21:25
Nový
Source routing
Messa 13. 6. 2007 02:21
Nový
├ 
Re: Source routing
anonymní uživatel 13. 6. 2007 03:07
Nový
├ 
Re: Source routing
someone 13. 6. 2007 07:42
Nový
│
└ 
Re: Source routing
misch 13. 6. 2007 08:47
Nový
└ 
Re: Source routing
vh 13. 6. 2007 09:48
Nový
 
└ 
Re: Source routing
Messa 13. 6. 2007 16:29
Nový
 
 
├ 
Re: Source routing
anonymní uživatel 13. 6. 2007 21:26
Nový
 
 
│
└ 
Re: Source routing
Ondrej \'SanTiago\' Zajicek 13. 6. 2007 22:09
Nový
 
 
└ 
Re: Source routing
stary hryzli 13. 6. 2007 22:56
Nový
 
 
 
└ 
Re: Source routing
stary hryzli 13. 6. 2007 23:01
Nový
 
 
 
 
└ 
Re: Source routing
wake 27. 12. 2007 03:27
Nový
kvalita clanku
nepovim 13. 6. 2007 08:31
Nový
├ 
Re: kvalita clanku
anonymní uživatel 13. 6. 2007 08:44
Nový
├ 
Re: kvalita clanku
pet 13. 6. 2007 08:53
Nový
│
└ 
Re: kvalita clanku
lamak 13. 6. 2007 09:04
Nový
│
 
└ 
Re: kvalita clanku
j D 14. 6. 2007 11:06
Nový
├ 
Re: kvalita clanku
paranoiq 13. 6. 2007 09:01
Nový
│
└ 
Re: kvalita clanku
prezdivka 13. 6. 2007 09:15
Nový
│
 
└ 
Re: kvalita clanku
dmz 13. 6. 2007 23:03
Nový
├ 
Re: kvalita clanku
anonymní uživatel 13. 6. 2007 09:15
Nový
│
└ 
Re: kvalita clanku
mys elf 13. 6. 2007 19:37
Nový
│
 
└ 
Re: kvalita clanku
SB 9. 1. 2009 10:15
Nový
├ 
Re: kvalita clanku
xaint 13. 6. 2007 09:31
Nový
│
├ 
Re: kvalita clanku
prezdivka 13. 6. 2007 09:35
Nový
│
│
├ 
Re: kvalita clanku
anonymní uživatel 13. 6. 2007 11:22
Nový
│
│
└ 
Re: kvalita clanku
Xaint Xaintovic 13. 6. 2007 11:35
Nový
│
└ 
Re: kvalita clanku
qweerty 13. 6. 2007 10:37
Nový
├ 
Re: kvalita clanku
anonymní uživatel 13. 6. 2007 13:05
Nový
│
└ 
Re: kvalita clanku
anty 13. 6. 2007 23:15
Nový
│
 
└ 
Re: kvalita clanku
zd.valek 14. 6. 2007 00:11
Nový
├ 
Re: kvalita clanku
anonymní uživatel 13. 6. 2007 13:50
Nový
│
├ 
Re: kvalita clanku
Tom fi 13. 6. 2007 21:13
Nový
│
└ 
Re: kvalita clanku
J 13. 6. 2007 21:33
Nový
└ 
Re: kvalita clanku
j D 14. 6. 2007 11:06
Nový
Tutorial
Honzous 13. 6. 2007 12:24
Nový
Brilantni clanek
Z80 pin 6 13. 6. 2007 15:08
Nový
├ 
Ach jo..
Jan Hlavatý 13. 6. 2007 15:46
Nový
├ 
Prosím pokračování
jar 13. 6. 2007 15:53
Nový
│
└ 
Re: Prosím pokračování
marx 13. 6. 2007 18:18
Nový
└ 
Re: Brilantni clanek
Tom fi 13. 6. 2007 21:28
Nový
NAT možná není totéž, ale mám pocit, že mne ochrání ...
PP 13. 6. 2007 17:32
Nový
├ 
Re: NAT možná není totéž, ale mám pocit, že mne ochrání ...
bluemoon 13. 6. 2007 20:51
Nový
│
└ 
Re: NAT možná není totéž, ale mám pocit, že mne ochrání ...
J 13. 6. 2007 21:36
Nový
└ 
Re: NAT možná není totéž, ale mám pocit, že mne ochrání ...
Sten 14. 6. 2007 01:53
Nový
Všechno je jinak
benghi 13. 6. 2007 23:15
Nový
├ 
Re: Všechno je jinak
Ash 14. 6. 2007 08:26
Nový
│
└ 
Re: Všechno je jinak
SB 9. 1. 2009 12:05
Nový
└ 
Re: Všechno je jinak
j D 14. 6. 2007 11:15
Nový
 
└ 
Re: Všechno je jinak
j D 14. 6. 2007 11:21
Nový
 
 
└ 
Re: Všechno je jinak
user 14. 6. 2007 18:17
Nový
 
 
 
└ 
Re: Všechno je jinak
j D 15. 6. 2007 14:03
Nový
source of myth route
anonymní uživatel 15. 6. 2007 04:24
Nový
├ 
Re: source of myth route
anonymní uživatel 15. 6. 2007 04:25
Nový
└ 
Re: source of myth route
Petr Tesařík 24. 2. 2009 09:12
Nový
Ako funguje NAT?
km 12. 7. 2007 23:35
Nový
├ 
Re: Ako funguje NAT?
devnull 15. 8. 2007 18:12
Nový
└ 
Re: Ako funguje NAT?
smal 27. 12. 2007 13:22
Nový
 
└ 
Re: Ako funguje NAT?
Petr Menšík 1. 1. 2008 15:12
Nový
Ine metody?
Habo 3. 12. 2009 19:27
Nový
└ 
Re: Ine metody?
zos 25. 8. 2010 16:31
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem