Tohle by mohl být první díl ze seriálu o počítačových sítích a bezpečnosti
na internetu. Všechny postavy jsou fiktivní a výklad nepřípustně zjednodušený,
pro pochopení laikem „Venca Network (o patent požádáno)“.
Povíme si něco málo, povětšinou bez pojmů normálním lidem neznámým,
bez předstírání magických postupů, do kterých prý vidí jen ti, kteří mají
nějakou zvrácenou úchylku, silné brýle, vysoké platy, nebo vhodnou kombinaci
těch to možností. Nevyhneme se úvodu a nevyhneme se ani závěrům.
Předem se omlouvám komukoli, kdo se konkrétní částí problematiky, nebo
popisovanou technologií zabývá do hloubky, neboť nemám ani čas, ani prostor,
ani čtenáře na nějaké detailní rozbory. Například síťový model bude zjednodušen
způsobem, který by třeba konsorcium IANA označilo za absurdní a rovněž
některé termíny či označení budou obsahovat nepřiměřené množství stručnosti
a sprostých slov.
Síť je jen jedna. Někdo jí říká Internet, někdo prostě síť. Skládá se
ze vzájemně propojených síťových zařízení, což je prostě krabička, která
jde připojit a něco (prakticky cokoli) dělá s daty, která tečou po síti.
To něco může být i prosté propouštění provozu bez jakéhokoli zásahu. Data
jen vezme a pošle dál.
Zařízení mohou být mezi sebou propojena nejrůznějšími metodami. Dráty,
optickými vlákny, bezdráty, telepatií, homeopatií a kdo ví čím ještě. Cokoli
propojuje zařízení v síti je….
Fyzická vrstva.
Je to samotné spojení, přes které se realizuje přenos dat. Každá metoda
spojení, má různé výhody a nevýhody. Různé parametry rychlosti, velikosti
kabelů, maximální délky spoje, ceny atd. Poskytovatelé připojení (ISP)
pak neznalosti koncového zákazníka využívají tím, že uvedou jen ty parametry,
které uznají za vhodné. Co je vám například do toho, že data od vás odcházejí
rychlostí chromé želvy, přece máte 12ti megabyt pyčo od O2 za 350 měsíčně
no ne ?
Přenosová vrstva
Internet k velkému překvapení některých jedinců používá protokol IP
(Internet Protocol). To jsou přenášená data a pro jejich přenos se používá
TCP (Transmission Control Protocol). Tedy zaklínadlo TCP/IP jsou data IP
přenášená Transportním protokolem TCP.
Na téhle úrovni přijde na řadu základní rozdělení té jedné fyzické sítě
na veřejný internet a privátní sítě. Takže, i když (až na naprosté výjimky)
jsou všechny privátní sítě nakonec stejně fyzicky propojeny s internetem,
je fyzická síť jen jedna, kdežto datových sítí je požehnaně.
Aplikační vrstva
Jsou všechny vyšší protokoly využívající pro svá spojení Přenosové vrstvy.
Například „http“ protokol, přes který prohlížíte stránky. Jak je psáno
v elektronické bibli: „Každá vyšší vrstva využívá služeb vrstvy nižší
a poskytuje své služby vrstvám vyšším.“ Tohle celé bylo zjednodušení
ISO/OSI na naprosté minimum.
Nepotřebujeme se hrabat v 7mi vrstvách, kdo chce ať
se hrabe.
Pro odlišení jednotlivých zařízení v síti a doručení dat na správné
místo slouží …
IP adresy.
Tedy adresy Internet Protokolu. Každá adresa se skládá z 32bitové adresy
zapsané dekadicky po jednotlivých oktetech.
(jako třeba 192.168.40.1) a masky, která jde zapsat v různých tvarech.
Maska rozdělí adresu na část sítě, část podsítě a adresu zařízení.
Příklad…
Zařízení má právě adresu 192.168.40.1/ 255.255.255.255
a je v podsíti, která má adresu 192.168.40.0/255.255.255.0
ta je součástí podsítě, která má adresu 192.168.0.0/255.255.0.0 a tak
dál.
Protože je takový zápis pracný, používají se jiné tvary masky, tedy
192.168.40.1/32 je v podsíti 192.168.40.0/24 . Používají se tu pojmy, jako
„supernetworking“ „subneting“ atp. Vidíme, že každý oktet může teoreticky
nabývat hodnot 0-255, ale prakticky to není pravda, protože některé adresy
jsou vyhrazené.V základu nelze použít 0, 255 je pro broadcast a podobné
legrace (metody, kdy jsou například odeslána data na všechna zařízení v
dané podsíti).
Pro nás je důležité, že existují adresy veřejné a privátní. Veřejná
adresa je taková, která je v rámci celého Internetu právě jedna a je dostupná
z veřejné části sítě. Privátní, je pak taková, která se vyskytuje v privátních
sítích a opakuje se do zblbnutí.
Celý adresní prostor je spravován a rozdělován. Dopředu je řečeno, které
rozsahy mají sloužit v kterém typu sítí. Pro malé firemní sítě, pro použití
ve veřejném internetu, pro testování atd. Konkrétní bloky jsou pak rozděleny
správcům, poskytovatelům a postupně se dostávají až k uživatelům. Do každé
sítě se podle masky vejde určitý počet zařízení. Celý rozsah se dělí na
třídy adres A-E a zase každá třída je určena pro něco jiného. Kdo chce,
ať si zase počte.
Celé je to centrálně řízeno a přidělováno, několikrát přepracováno atd.
Ze začátku z těch efektivních asi 3 miliard adres rozhazovali jak večerníček
noviny a pak jim to nejednou docvaklo a začalo se trochu šetřit a maličko
přemýšlet. Pak víc šetřit, než přemýšlet a nakonec (nedávno) adresy pro
přidělování lokálním organizacím prostě došly.
Jeden z rozsahů pro privátní sítě nám dál pomůže v pochopení principu
komunikace. Je to část třídy C, která by měla být použitá ve většině firem,
jako adresace lokální sítě. Pokud není použitá u vás, je to většinou tím,
že správce sítě je pěkný kretén.
Z principu věci plyne, že počítače v jedné síti se mohou bavit sami
mezi sebou. Když se 192.168.40.10 obrátí na 192.168.40.12, hezky si spolu
pokecají. Pokecají si 192.168.40.1-254 a tím to hasne. Pokud si tedy chtějí
promluvit s někým dalším, například s tetou z rozsahu 192.168.50.0/24 ,
pošlou svá data na výchozí bránu Výchozí brána je podle RFC na horním,
nebo spodním konci rozsahu tedy 1 nebo 254. (Pokud pošlou data na 255 dostanou
je všechny stanice v podsíti.) Ve Windows sítích se má používat brána 1.
Někdo si to vykládá jako „Palte podle uvážení“, nakonec se tomu nejde ani
smát, co v síti vyvede. 40.10 tedy pošle data na 40.1 a uvede, že cílem
je tetička na 50.10. Na 40.1 je brána, která buď přímo ví, kde se nachází
síť 50.0/24, nebo to sice neví, ale zato ví, kde je další brána.
Data se odesílají v balíčcích (packetech). Každý balíček nese v sobě
řadu dalších informací, kromě dat samotných. Ať už v jeho hlavičce, nebo
obálce, nebo se dají zjistit jinak. (Například z jeho tvaru). Nejdůležitější
je zdroj, cíl, číslo packetu a životnost. Číslo packetu slouží pro potvrzení
přenosu. Nepotvrzuje se každé zvlášť, ale cíl přenosu může potvrdit přenos
všech předcházejících balíčků potvrzením jednoho. Tedy pošťák mi nosí balíčky
s čísly, začal 23400 a kmitá. Za chvíli pošlu zpátky odesilateli, že mám
25800 a ten ví, že mám jak 25800 tak všechny předchozí. Pokud mi dodá 25001
po 24997, chvilku počkám ( co zas ta pošta vyvádí ), a pak začnu vřískat,
že sem nic nedostal. Životnost (TTL) v otrockém překladu asi“ Čas K Životu“,
je daná číslem, které se při každém průchodu bránou (směrovačem atd.. )
sníží o jednu. Když dosáhne 0, packet se zahodí. Tenhle mechanismus zajišťuje,
že se po síti nepoflakují data jen tak.
Zdroj i cíl mohou být při průchodu směrovačem změněny !!
Tady se nevyhneme zmatení pojmů, protože router (česky směrovač) má
jen routovat a nemůže tedy data měnit. Jenže to je tak nějak souhrnný název
brána v sobě kombinuje funkcionality a mezi jinými umí i routovat.
Pokud tedy posílá 40.10 tetě 50.10 data přes bránu 40.1, může brána
40.1 packet přebalit a tvrdit, že jej odesílá ona. Otázka je, jestli bude
tetu nějaká 40.1 zajímat. Pokud se má bavit jen s 40.10, tak asi moc ne.
Teta ve skutečnosti samozřejmě nedostane packet od 40.1 , ale od 50.1 ,
tedy od své brány ve své síti, ale jako zdroj bude uvedená 40.1, té pak
bude odpovídat (pokud o to bude stát) . Jejich brána 50.1 může ale překlad
dokončit, tetě prostě řekne, že packet je, tedy 50.1. Otázka právě je,
jestli se 50.1 ještě dozví, odkud packet je, nebo už ho vidí jen od 40.1.
Takhle si spolu můžou povídat 40.1 a 50.1, které dál předávají packety
do svých sítí. Téhle legraci se říká NAT (Network Address Translation)
Česky překlad adres. A může být buď SNAT nebo DNAT, nebo obousměrný. (Source/Zdroj
Destination/Cíl). Na Linuxu se někdy používá možná výstižnější výraz Maškaráda.
To, jestli se spolu budou bavit adresy přímo, nebo se jejich provoz
bude Maskovat je nejdůležitější a základní rozdíl. Všechny adresy, které
se spolu budou bavit přímo, musí být jedinečné. Na světě existuje mnoho
privátních sítí 40.1/24 a pokud chtějí jejich 40.10 s 40.12 ve své vlastní
síti komunikovat, není to problém. Ovšem pokud chtějí mluvit s 40.12 v
jiné 40.0/24, není jak to rozlišit a není kam, takový packet poslat. Pokud
máte doma stejný rozsah, jako v práci, nikdy se z domova do práce nedostanete
a naopak. Každá pobočka firmy, má-li být propojena z druhou musí mít jinou
podsíť. Tahle fičura NATování, má několik dopadů.
1) zabránila rychlému vyčerpání adresních rozsahů vzhledem k tomu, že
víc počítačů může používat jednu veřejnou adresu a každý počítač a zařízení
na světě nemusí mít nutně adresu jedinečnou.
2) chrání a odděluje privátní sítě od veřejných.
3) Jako negativní je uváděno zabránění přímé komunikace všech zařízení
v internetu.
Jak si ukážeme dál, dobře nastavená brána brání jen tomu, co nechceme
a naopak poskytuje jen samé výhody a sociální jistoty. Za dobře nastavenou
privátní bránou se mohou páchat orgie a nikdo se zvenku buď nedozví nic,
nebo alespoň ne, kdo přesně to byl.
Ve firmě tedy máme rozsah 40.0/24 a bránu 40.1 Brána funguje tak, že
má většinou minimálně jedno rozhraní ven (do veřejného internetu). To je
označované jako WAN a jedno do firemní sítě LAN. Taková brána může mít
rozhraní spoustu. Některá z nich nemusí být nutně ani skutečně fyzická,
jen mohou být sestavena jako spojení na jiných protokolových vrstvách a
vzájemně do sebe zapouzdřena. Má tedy spojení do více sítí a stará se o
doručení/nedoručení packetů do těchto sítí.
Na WAN rozhraní má nějakou veřejnou adresu, nebo adresy, na které odpovídá
na provoz z Internetu. Podle určených pravidel ho dál propouští na adresy
do dalších připojených sítí, nebo blokuje, zahazuje, hlásí atd.
Všechny počítače v lokání síti přistupují k internetu a k dalším sítím
skrz ni a ona rozhoduje, co se s daty stane. Kam a v jakém tvaru packet
půjde, či nepůjde, jak rychle a kdy. Všechny počítače v internetu pak tedy
uvidí v packetu odeslaném z naší 40.10 jako zdroj komunikace jednu z veřejných
adres naší brány. Naopak 40.10, pokud dostane packet z internetu může jako
zdroj vidět skutečnou adresu toho, kdo packet posílá (pokud je veřejná),
adresu jeho brány, nebo adresu své brány, pokud je tato nastavená, aby
zdroj maskovala i směrem dovnitř.
Nejčastěji, pokud brána směruje provoz z lokální sítě do internetu,
adresu zdroje samozřejmě maskuje za svou veřejnou internetovou adresu a
při příchozím provozu naopak ponechává adresu odesilatele v packetu nezměněnou.To,
že pokud začnete komunikaci zevnitř ven, je vám zpátky odpovězeno na bránu
a ta vám packet pošle na váš počítač, je dané tím, že otevíráte komunikační
kanál (session) a brána ví, kdo ji otevřel a kam má odpovědi vracet, dokud
se neuzavře nebo nevyprší jiný limit.
Co všechno taková brána umí je dáno jejím výkonem, výbavou a nastavením.
Teoreticky může umět na všech síťových vrstvách nad daty jakoukoli operaci.
Ať už se týká analýzy dat, nebo jejich změny. Dobře nastavená brána
je základním stavebním kamenem bezpečnosti a rychlosti síťového provozu.
Bavíme se tu o IPv4 /Tedy Internet Protokolu verze 4 . Protokol verze 5
byl jen testovací a protokol v6 , (kéž by shořel v plamenech pekelných)
nám asi brzo zničí celý internet)
Pro jednotlivá spojení se používají tzv. porty. Port si můžeme představit
jako očíslovaný komunikační kanál 0-65535 ,kdy se samozřejmě 0 nepoužívá
a něco je zase rezervované atd.Podle norem je pro určité služby vyhrazeno
použití určitých portů. Seznam najdete třeba tu.
Tedy například pošta přes SMTP protokol přichází z veřejné adresy na
port 25, na něm jí brána vezme a nasměruje do vnitřní sítě na náš poštovní
server, na jeho port 25. Pokud přijde na jiném portu, je po zásluze potrestána
zahozením. HTTP protokol zase používá port 80.
Z venku dovnitř musí být určená pravidla přesně, kam se daný port směruje.
Dají se rozšířit například na základě toho, kdo data posílá, nebo co je
v nich zjištěno.
Zevnitř ven už máme od zdrojového zařízení informaci o tom, kam chce
data poslat a tak o tom rozhodovat nemusíme.
Protože člověk si nepamatuje IP adresy (a ty se mohou taky měnit), vznikly
služby překladů IP adres na jména a naopak. Taková věc se jmenuje DNS server.
(Domain Name Server) .Napíšeme do prohlížeče www.dfens-cz.com , počítač
se zeptá DNS serveru, ten mu vrátí IP adresu. Prohlížeč se na ní obrátí
s tím, že by chtěl stránky www.dfens-cz.com . Tady se projeví další mechanismus
a to je pojmenovaný kanál, nebo reverzní proxy. Protože na dané IP poslouchá
server, na kterém je webových stránek víc, zjistí, že nejen chceme na jeho
IP přes port 80, ale chceme na konkrétní stránky a tak nám obsah předá.
To http:// na začátku říká, že používáme http protokol, pokud tam napíšeme
https:// budeme používat https (šifrovaný) protokol standardně na portu
443. Pokud za adresu napíšeme :200 , znamená to, že chceme používat jiný,
než výchozí port, v tomhle případě 200.
Na portu tedy může poslouchat služba, která reaguje na pojmenované kanály.
Proxy
Zmínil jsem termín Proxy. Co to je ?
Proxy je služba, která sedí až na aplikační vrstvě a je schopná „vidět“
do vysokých přenosových protokolů. Přímo vidí například kód stránek. Nevidí
už zase, do jednotlivých packetů, ale naopak kontroluje aplikační protokol.
Proxy může být i pro jiné protokly, jako třeba poštovní SMTP, nebo telefonní
SIP. Důležitá je funkce proxy DNS, kde už při samotném dotazu na překlad
jména je možné zkontrolovat, jestli se neptáme na to, co nemáme a odpovědi
nám zamítnout nebo je změnit. Tím, že do protokolu vidí a může do něj zasahovat,
může dělat takové věci, jako blokovat spojení na stránky, kde jsou definovaná
slova nebo slovní spojení nebo takové relace hlásit. Může vyjímat ze stránek
reklamy, nebo je tam naopak vkládat. Může některé prvky stránek (například
obrázky) posílat ze své paměti a znovu je nestahovat z internetového serveru.
Může také přepsat adresy odkazů na stránce, vyjmout je, nahrazovat jednotlivá
slova atd. Proxy může fungovat směrem k uživateli nebo od něj nebo oběma
směry. Může být jen k dispozici na jiném portu, nebo být transparentní,
přímo na výchozím portu aplikace.
Proxy se tedy používá, pro snížení zátěže, filtrování provozu, nebo
anonimizaci spojení.
Někteří hodní strýčkové u mobilních operátorů šli tak daleko, že nás
nutí jít přes jejich proxy servery, které nám zdevastují obrázky a další
prvky na stránce a ta se pak načítá rychleji. Abychom měli pocit, že to
za ty peníze není až takové utrpení.
Tak tolik asi jemný úvod.
Teď se podíváme, co to tak nějak v běžném nasazení umí.
Firma no Idea, má 100 zaměstnanců, 50 počítačů, nějaký ten poštovní
server a hlavní a záložní linku na internet. Používá telefony připojené
přes SIP protokol k nějakému poskytovateli. Nezávisle na tom, co umí celá
její infrastruktura, jde na bráně ošetřit a sledovat některé věci a v závislosti
na tom, jak se uživatelé přihlašují k jednotlivým počítačům, pak jde sledovat
i jejich identita. Údaje se mohou shromažďovat na jednom nebo více místech
a analyzovat jinde. Samotná „brána“ jde vložit i jako transparentní bezpečnostní
prvek před, nebo za router stávající.
Security Gateway, nebo UTM, nebo jak tomu chcete říkat. Zkrátka brána.
Umí zhruba tohle:
· Bezpečný provoz antivirovou kontrolou na nejrůznějších protokolech.
· Kontrolu packetů na známé signatury napadení. (To umožní blokovat
útoky z vnější i vnitřní sítě a reagovat na ně.)
· Řídit datové toky, upřednostňovat provoz, který je důležitý a blokovat
provoz nežádoucí. (Zajistí tak například kvalitu hovorů, obrazu, rychlost
načítání důležitých stránek.)
· Blokovat nežádoucí obsah (pornografii, internetová rádia atd.)
· Blokovat SPAM a hlásit vyhodnocovacím službám.
· Zabránit zahlcení připojení.
· Rozložit zátěž na více linek.
· Přesměrovat provoz na záložní linku při výpadku.
· Rozpoznat formulářová data, tvar čísla kreditní karty, odesílané tvary
hesel a PINnů a jakékoli jiné definované informace. Jejich odeslání zabrání,
nebo i nahlásí.
· Umí sledovat abnormální chování a tím odhalit pouzdření jednoho protokolu
do druhého, průnik do vnitřní sítě atd.
· Zajistit šifrované spojení mobilních zařízení a vzdálených sítí do
sítě firemní.
· Sleduje podvržení DNS, podvržení IP adres, změnu MAC adres.
· Podle charakteristik, dokáže sledovat typ a verzi operačních systémů
na klientech.
· Může mít mechanismus bezpečnostního skenu, který sleduje napadení
stanic a známé bezpečnostní hrozby.
· Může mít vyrovnávací paměť pro snížení zátěže linky, nebo pro aktualizace
systémů, antiviru a podobně.
· Může řídit antivir na stanicích.
· Umí sledovat kdy, kdo jak dlouho kde byl, co tam dělal, na co klikal.
Tady už záleží jen na vhodném zpracování zachycených údajů. Může poskytnout
naprosto detailní sledování, čeho chceme.
· Sledování a zachycení hovorů.
· Sledování a zachycení mailové komunikace.
· Sledování a zachycení Komunikátorů. (ICQ,MSN atd.) To prosím včetně
zachycení hesel.
· Některé brány pak umí zachytit a měnit šifrovací certifikáty.
Tohle všechno dokáže v nastaveném čase, podle přihlášeného uživatele,
adresy počítače, názvu počítače, operačním systému a dalších parametrů.
Když mluvíme o logování, dá se zaznamenávat a třídit v podstatě vše.
Od základních událostí až po zachytávání kompletního provozu a jeho uložení
k pozdějšímu rozboru nebo archivaci. Prostě s daty si udělá, co budete
chtít, respektive co bude chtít správce sítě. O tom, co chce správce sítě,
rozhoduje majitel firmy. Podle zákona je dokonce povinnost sledovat využití
prostředků firmy a zajistit, aby jich bylo užito k firemním účelům. Rozhodně
se tak dá snadno zjistit, jestli se zaměstnanci flákají, případně, kdy
a kde se flákají.
Jistě, že takovou bránu můžete mít i doma.Taková brána může být téměř
kdekoli. Doma ji můžeme používat k zajištění sucha a bezpečí. Ve firmě,
aby se mohlo makat a makalo. U poskytovatelů, aby se blokovaly útoky a
nešířily se do víc segmentů, než je nutné. Aby se blokovaly viry a SPAM.
To, že většina firem a po hříchu i někteří poskytovatelé čumí na UTM řešení
jako Němec na Orloj, je bohužel smutná pravda.
Brány mají nejrůznější funkcionalitu a podoby. Máte-li doma obyčejný
router za pár korun, máte zařízení s omezeným výkonem a funkcemi. Nicméně
i takové zařízení vás (pokud je slušně nastaveno) ochrání před nejzákladnějšími
typy útoků. Minimálně není váš počítač přímo připojený k síti a to je základní
předpoklad úspěchu.
Příště třeba o kontrole spojení z vašich počítačů, kontrole spuštěných
aplikací a dalších praktických radostech. Po jemném úvodu už budete vědět,
o čem je řeč. Na závěr tip na
domácí zařízení, které nějakou dobu vydrží a s trochou práce z něj
vymáčknete nečekanou funkcionalitu a rychlost.
20.05.2011 Vector