Autor: Matýsek
Převzato z fora DiablovoDoupě s laskavým svolením autora.
Ani nevím proč toto píši, ale důvodem bude „přelitá voda“ nad pomyslným
kbelíkem výdrže při čtení „kdo založí, já nemohu, máš veřejnou ip atd.“.
Hraní Diabla po TCP je bežný datový přenos za pomoci paketů na určitém portu.
Konkrétně Diablo využívá pro komunikaci mezi klientem (připojovatel) a „serverem“
(zakládajícím) port 4000. Při bezdrátovém připojení používá poskytovatel tzv. router
(Vaše výchozí brána při připojení k internetu), který nese onu IP a na kterém je spuštěn firewall
a také NAT. Proč tam ten Firewall vlastně je ?
Dnešní firewally totiž dokáží plnit i celou řadu dalších funkcí, a jejich koncepci je proto vhodné volit
i s ohledem na to, které z těchto "dalších" funkcí mají být využívány a v jaké míře. Jde zejména o
tyto funkce:
regulace přístupu vlastních uživatelů (uživatelů chráněné privátní sítě) do veřejného Internetu.
Provozovatel firemní sítě může např. chtít zakázat svým zaměstnancům přístup k některým serverům
(např. erotickým), nebo naopak povolit přístup jen k některým konkrétně určeným serverům, či
tyto aktivity alespoň určitým způsobem regulovat (nebo i jen evidovat, tak aby mohl následně
vyhodnotit chování uživatelů). Stejně tak může chtít regulovat využívání určitých služeb
(např. ICQ apod.), či může chtít vázat příslušná omezení na konkrétní časové intervaly
(například na stanovenou pracovní dobu) apod.
antivirová ochrana - provozovatel připojené sítě může požadovat, aby firewall chránil tuto síť před
nakažením počítačovými viry, což se může týkat jak přicházející elektronické pošty, tak například i
pošty odcházející (aby nedošlo k zavirování externích uzlů), i dalšího druhu provozu (například přenosu
textových souborů s makroviry)
optimalizace připojení - některé druhy firewallů mohou napomáhat efektivnějšímu využití přípojky dané
sítě k vnějším sítím, typicky k Internetu. Jde o to, že v rámci firewallu může fungovat tzv. cache server,
který v sobě uchovává některé objekty často požadované uživateli chráněné privátní sítě (nejčastěji: WWW stránky).
Z vnějšího prostředí je pak sám stahuje (a tím zatěžuje přípojku) jen při prvním požadavku na ně,
zatímco při dalších požadavcích na stejný objekt poskytne jeho kopii, kterou si uchoval. Díky tomu
pak uživatelé připojené sítě mohou vystačit s pomalejší a tudíž lacinější přípojkou (k Internetu),
než jakou by ke stejnému způsobu práce potřebovali bez právě popsané funkce firewallu.
řešení problému s IP adresami - jedním z nepříjemných problémů dnešního Internetu je nedostatek číselných
adres (IP adres). Každý uzel, který má být připojen k Internetu, musí mít přidělenu takovouto adresu,
která je navíc unikátní (stejnou adresu nesmí mít žádný jiný počítač). Dnes jsou tyto adresy navíc
závislé i na způsobu, jakým je připojení realizováno (jsou závislé na poskytovateli připojení). Se
získáním potřebného počtu IP adres však mohou být v praxi spojeny určité problémy. Při použití
firewallu (většiny druhů firewallů) však popsané pravidlo přestává platit - za firewallem mohou
být použity takové IP adresy, které nejsou unikátní a ani nejsou závislé na konkrétním providerovi,
který připojení zajišťuje.
veřejné zpřístupnění zdrojů - ačkoli se provozovatelé připojených sítí především snaží chránit své zdroje
(včetně nejrůznějších informací) před neoprávněným přístupem zvenčí, přesto u některých konkrétních zdrojů
(informací) mají zájem na jejich zpřístupnění i pro uživatele z vnějších sítí. Jde například o prezentaci
firmy, její obchodní nabídky atd. - obecně o cokoli, co si provozovatel privátní sítě sám určí za veřejné.
V rámci firewallu pak bývá takovéto zveřejnění realizováno - například formou WWW serveru či FTP serveru,
který je přístupný jak "zevnitř" (z chráněné sítě), tak i "z vně".
vzdálený přístup oprávněných uživatelů - provozovatelé firemních sítí (intranetů) velmi často vyžadují,
aby uživatelé měli přístup ke zdrojům a službám těchto chráněných sítí i v případě, kdy se nachází mimo
dosah této sítě (jsou například v terénu, u zákazníka apod.). V takovémto případě jsou oprávnění uživatelé
v pozici vzdálených uživatelů, a součástí řešení firewallu bývá i umožnění jejich vzdáleného přístupu.
zabezpečená komunikace - veřejný Internet představuje nezabezpečený přenosový kanál, v tom smyslu že data
která jsou přes něj přenášena nejsou žádným způsobem šifrována či jinak zabezpečena proti neoprávněnému
"odposlechu". Potřebné zabezpečení je ale možné realizovat na vyšších úrovních (na úrovni transportní
či aplikační vrstvy), a fakticky tak data šifrovat (kódovat) ještě před tím, než jsou předána k přenosu
do veřejného Internetu. Takovéto řešení ale vyžaduje, aby "na druhé straně" byl někdo, kdo zakódovaná
data vrací zpět do jejich původní podoby. V praxi mohou vše zajišťovat koncové uzly, které spolu komunikují.
Stejně tak ale může potřebné šifrování (kódování) za účelem zabezpečení přenášených dat realizovat
dvojice firewallů připojených k Internetu, která mezi sebou vytváří zabezpečený tunel. Díky němu pak mohou
být propojeny například dvě chráněné privátní sítě skrze veřejný Internet, bez toho že by si jejich vnitřní
uzly musely uvědomovat existenci zabezpečujících mechanismů a jakkoli se jí přizpůsobovat (bezpečný tunel
mezi firewally je pro ně koncové uzly neviditelný) . Pomocí takovýchto tunelů mezi jednotlivými firewally
lze dokonce realizovat celé privátní sítě (VPN, Virtual Private Network) vedoucí skrze veřejný Internet.
Sdílení přístupu k Internetu - především u velmi malých sítí, tvořených jen několika málo počítači,
je jedním z požadavků na jejich fungování to, aby vůbec umožňovaly přístup k Internetu všem uzlům
připojené sítě. V zásadě jde o nahrazení funkce klasického směrovače, který je pro tuto roli jinak
nezbytný.
Pokud jde o primární funkci firewallů, tedy o ochranu před neoprávněným přístupem zvenčí, je základní
princip jejich fungování odvozen od principu který byl dlouhá století používán k ochraně středověkých hradů
a pevností: kolem nich se zřídil vodní příkop, tak aby jej nemohl nikdo překonat, a do samotného hradu se
vytvořil jediný vstup skrz hlavní bránu (která byla spojena s okolním světem pomocí padacího mostu přes
vodní příkop). Kdokoli pak chtěl do hradu vstoupit (či z něj vyjít), měl jen jedinou možnou cestu - musel
projít branou, ve které stál hlídač a každého kontroloval (resp. posuzoval jeho oprávněnost ke vstupu, resp.
k výstupu). Dnešní firewally fungují obdobně: "stojí" někde na rozhraní mezi připojovanou sítí a veřejným
Internetem, a veškerý přenos dat mezi vnějším světem a chráněnou privátní sítí "svádí" do jednoho bodu
kterým všechna přenášená data prochází (analogie brány s padacím mostem). V tomto bodě pak kontrolují
oprávněnost přenosu dat, resp. rozhodují o tom, zda jej nechají pokračovat dál či jej zastaví (analogie
hlídače který kontroluje každého kdo prochází bránu).
Firewally fungující na úrovni síťové a transportní vrstvy se obvykle označují jako paketové filtry.
Důvodem je skutečnost, že na úrovni vrstvy síťové jsou data přenášena po blocích označovaných jako pakety
(packets), a firewall pracující na této úrovni zkoumá právě tyto pakety. Rozhoduje se zejména podle toho,
co obsahují hlavičky paketů - tedy v sítích na bázi protokolů TCP/IP zkoumá tzv. IP adresy odesilatele a
příjemce, a podle nich se rozhoduje zda je propustí dál, směrem k jejich příjemci, nebo zda je nepropustí
a zahodí (tj. "odfiltruje", odsud také označení "paketový filtr"). Již na základě takovéhoto zkoumání IP
adres (obecně: zkoumání adres síťové vrstvy) dokáže paketový filtr povolit či zakázat veškerý tok dat od
určitého vnějšího uzlu (na základě adresy odesilatele) či k některému uzlu v připojené síti (na základě
adresy příjemce). Analogicky to samozřejmě platí i pro opačný směr přenosu.
Na paketové filtry však mohou být kladeny i podstatně "jemnější" požadavky než jen pouhé omezení přístup
od konkrétních uzlů, resp. ke konkrétním uzlům. Pokud je od nich požadováno aby se určitým selektivním způsobem
chovaly k různým druhům služeb - například propouštěly elektronickou poštu k uzlu který v chráněné síti plní
roli poštovního serveru (a naopak k němu nepropouštěly žádný jiný druh provozu), pak tyto filtry musí brát v
úvahu i údaje o přenášených datech odpovídající transportní vrstvě ISO/OSI. Jde konkrétně o tzv. čísla portů,
podle kterých jsou identifikovány konkrétní entity v rámci odesílajících či přijímajících uzlů, a s nimi i
druh provozu resp. přenášených dat, o jaké se jedná (například datové pakety, zajišťující přenos elektronické
pošty, jsou zasílány na port č. 25 na cílovém uzlu, kde je přijímá programová entita (proces, resp. démon)
realizující funkci poštovního serveru).
Schopnosti firewallů charakteru paketových filtrů jsou principiálně
omezeny tím, co je možné vydedukovat ze síťových IP adres a čísel portů. Takovéto firewally nemají schopnost
analyzovat přenášená data tak detailně, aby mohly vyhodnocovat data odpovídající aplikační vrstvě - nerozumí
například formátu přenášených zpráv, a tudíž ani jejich obsahu či použitým poštovním adresám, i když podle
čísla portu poznají že jde o elektronickou poštu. Podobně je tomu s přenášenými soubory, WWW stránkami apod.
Kvůli tomuto handicapu nedokáží paketové firewally z principu rozpoznat některé možné útoky,
"rozpoznatelné" až na aplikační úrovni podrobnou analýzou vycházející ze znalosti příslušné služby
(tudíž tyto firewally nedokáží implementovat některé možné požadavky na zabezpečení připojené sítě).
Proto vedle paketových filtrů existuje další druh firewallů, označovaných jako tzv. aplikační brány
(někdy též: aplikačních firewallů). Jak již jejich název napovídá, pracují tyto firewally na úrovni
aplikační vrstvy, neboli své rozhodování realizují na základě informací dostupných na úrovni aplikační
vrstvy.
Princip aplikační brány je velmi jednoduchý a opět má analogii s hlídačem u brány středověkého
hradu, který kontroluje veškerý provoz - tentokráte je ale hlídačů více a každý z nich je podrobněji
"vzdělán v určitém oboru", resp. specializován na určitou službu.
Například veškerá elektronická pošta
procházející mezi vnějším světem a chráněnou privátní sítí musí procházet přes "hlídače" (fakticky:
aplikační bránu) obeznámeného s formátem zpráv elektronické pošty i celkovou koncepcí a architekturou
elektronické pošty. Takovýto hlídač (aplikační brána) pak dokáže poměrně detailně a odpovědně posoudit,
zda má být konkrétní zpráva předána zpráva dál či nikoli, případně i odhalit případ, kdy je nějaký útok
maskován jako přenos elektronické pošty apod.
Obecně tedy firewally na principu aplikačních bran dokáží
splnit podstatně přesnější a detailnější požadavky na ochranu připojené privátní sítě před nežádoucím
přístupem zvenčí, resp. umožňují mnohem přesněji specifikovat a následně rozlišovat, co je
nežádoucí přístup a co nikoli.
Aplikační brána, neboli firewall fungující na úrovni aplikační
vrstvy (přesněji: rozhodující se podle údajů příslušných aplikační vrstvě), může mít opět dva
poněkud odlišné způsoby fungování.
První z nich odpovídá principu paketového filtru a jedinou
odlišností skutečně je to, že rozhodování se odehrává s využitím informací příslušných aplikační
vrstvě. V praxi to znamená, že takovýto uzel se podobně jako paketový filtr navenek chová jako
směrovač (zajišťuje směrování na úrovni síťové vrstvy), a pouze interně při svém rozhodování
"zasahuje" až úroveň aplikační vrstvy.
V praxi bývají takovéto druhy firewallů označovány také
jako tzv. obsahové filtry (content filters). Představme si někoho, kdo už úspěšně prošel přes
hlídače na vstupní bráně. Jakmile se již nachází uvnitř, může přímo a bez dalších kontrol komunikovat
se všemi ostatními, kteří již jsou také uvnitř hradu, využívat všechny zdejší zdroje atd. Je ale
"fyzická přítomnost" uvnitř hradu opravdu tak nutná a relevantní? Co kdyby z hradu vedla tajná
podzemní chodba někam jinam, do nějaké jiné lokality vhodně oddělené od okolního světa? Nedala
by se pak "chráněná zóna" tvořená vnitřkem hradu protáhnout až do oné vzdálené lokality? Samozřejmě
za podmínky že do tajné chodby se nikdo zvenčí nedostane? Co takhle představa několika hradů,
jejichž hlídači rozhodují podle stejných pravidel a kritérií? Pokud by byly tyto hrady propojeny
dostatečně bezpečnými chodbami, které nepustí dovnitř nikoho nepovolaného, mohl by celek tvořit
jednu soustavu, sice distribuovanou do více lokalit ale homogenní co do svého zabezpečení před
vnějším světem. Uvnitř takovéto soustavy pak bude možné komunikovat již bez dalších omezení a
kontrol, odděleně od vnějšího světa.
Přesně toto je princip tzv. virtuálních privátních sítí (sítí VPN). Mohou například propojovat pobočky firmy a
vytvářet věrnou iluzi skutečně privátní sítě (tajných podzemních chodeb, do kterých se nikdo zvenčí nedostane).
Řešeny mohou být na úrovni síťové vrstvy (typicky na úrovni protokolu IP), a přenášet jakýkoli druh provozu nad
protokolem IP. Nebo mohou fungovat na aplikační úrovni a být uzpůsobeny jen jednomu druhu provozu -
například jen vzdálenému přístupu k aplikacím, provozovaným na centrálním firemním serveru. Různorodá
může být i jejich topologie a možnost komunikace v rámci VPN - například jen stylem "do hvězdy",
kde každý vzdálený prvek komunikuje pouze s centrem. Různorodé může být i celkové určení - například
pro zajištění bezpečného vzdáleného přístupu oprávněných uživatelů k centrálním aplikacím stačí zmiňovaná
komunikace "do hvězdy". Naproti tomu pro přímé propojení poboček, nikoli pouze přes centrum, by komunikace
"jen do hvězdy" již nestačila, a musí být nahrazena komunikací ve stylu "každý s každým".
Lišit se může i "zakončení" sítí VPN na jednotlivých vzdálených bodech. Typické řešení je takové, že zde musí
být provozován vhodný VPN klient, zajišťující vše potřebné (zejména místního hlídače, v analogii se středověkým
hradem). Dnes však již existují i řešení bez samostatných VPN klientů (tzv. clientless VPN), díky tomu že jejich
roli přebírají se svými schopnostmi standardní aplikace.
To je asi vše pokud jde o princip pochopení, proč „to nejde“.
Víte, že máte firewall a také víte na kterém portu ono Diablo funguje, což Vám kromě jazyka bohatě vystačí.
Sdělte správci Vašeho Routeru/Firewallu požadavek na přesměrování všech příchozích paketů na portu 4000 TCP
(TCP/IP je společné označení pro komunikační protokoly používané v Internetu (např. IP, ICMP, TCP, UDP atd.).
Všechny tyto protokoly jsou založené na paketech (tzv. paketově orientované). spojení na IP adresu Vašeho
počítače a uvidíte jak Vám ona hra krásně půjde zakládat.