Copyright © 1997 RNDr. Libor Dostalek

Jak se bezpečně připojit k Internetu?

Jak se bezpečně připojit k Internetu a jaké služby Internetu využívat je zásadní otázka, na kterou není jednoduché odpovědět. I když existuje jednoduchá odpověď: "Nejbezpečnější připojení k Internetu je prostě se vůbec nepřipojovat." V takovýchto ironických odpovědích lze pokračovat dále a tvrdit: "Nejbezpečnějiší počítačovou sítí je žádná síť".


V této publikaci se zabýváme bezpečností komunikací v rozsáhlách počítačových sítích. Nezabýváme se však bezpečností na fyzické a linkové vrstvě. V lokálních sítích je nutné promyslet bezpečnost zejména na linkové vrstvě. V rozsáhlých sítích (na sériových linkách) se setkáváme se zabezpečením na fyzické vrstvě.

Musíme však upozornit, že zabezpečení LAN se často neprávem opomíjí a přitom 90% útoků je právě z místní LAN. Dnes jsou již pouze úsměvné historky jak si frma vybudovala rozvod LAN pomocí koaxiálního kabelu a v každé kanceláři budovy udělala několik zásuvek pro strýčka příhodu a pak některé kanceláře pronajala cizím firmám.

Dnes je již obecně vžilo, že LAN nesmí procházet jiným územím než územím vlastní firmy. Avšak  na LAN data nebývají nikterak zabezpečena, takže je-li více zaměstnanců na jednom segmentu Ethernetu či FDDI, pak si vzájemě mohou odchytit hesla v případě, že používají např. protokoly TELNET, FTP, POP3, HTTP atd. Odchytávání hesel lze značně ztížit použitím přepínaných (switched) LAN, tj. každý uživatel má svůj segment LAN a data se opakují jen na ty segmenty, kde je to bezpodminečně nutné.

Na aktivních prvcích strukturované kabélaže lze také nastavit komunikaci tak, aby spolu mohly na linkové vrstvě komunikovat pouze konkrétní stanice.

Ovšem ani přepínané LAN nezabrání tomu, aby před budovou Vaší firmy nezaparkovala dodávka s odposlouchávacím zařízením, které je schpno monitorovat provoz na Vaší strukturované kabeláži a získat tak  např. hesla. Takovéto odposlouchávání je zase možné ztížit použitím stíněných rozvodů strukturované kabeláže atd.

Na sériových linkách (WAN) se pro zabezpečení dat často používají šifrátory, tj. zabezpečnení se provádí na fyzické vrstvě. Šifrátor je černá skříňka, která se zpravidla vkládá mezi počítač a modem. Je nutné však podotknout, že se šifrátory se setkáváme poslední dobou stále méně často, protože dnešní routery umí šifrovat na IP-vrstvě což je v mnoha případech efektivnějiší a hlavně lacinějiší (šifrování je v ceně routeru - není třeba přikupovat šifrátor). Šifrování veškerého provozu (ať šifrátorem nebo routerem) nemůže být příliš náročné, aby nedocházelo k přilišnému zdržení dat šifrováním. Pokud jsou takováto zařízení dovážena z USA či Kanady, pak je délka šifrovacích klíčů zásadně omezena... .


Jaké máme možnosti připojení podnikové sítě do Internetu z hlediska bezpečnosti:

V praxi pak nejspíše nenajdeme žádné takovéto jednoduché řešení, ale nejspíše kombinaci posledních dvou možností. Tj. nějakého oddělení vnitropodnikové sítě od Internetu v kombinaci s bezpečnými službami. Bezpečné služby mohou být využity jak pro vnitropodnikovou komunikaci (ochrana proti vlastním zaměstnancům a odposlouchávání sítí), tak i v případě komunikace z Internetu do vnitropodnikové sítě či při přístupu  na firemní servery vystavené v Interentu.
 

Intranet

Intranet - izolovaná podniková síť může být od Internetu izolována pomocí:

Filtrace

Filtrace umožňuje oddělit intranet od Interentu pomocí filtrů na přístupovém routeru, kterým je firma připojena do Internetu. Filtrace je vlastností routerů, takže je "zadarmo" a přitom je velice účiná. Jako přístupový router může být použit klasický router např. firmy CISCO, ale i počítač se dvěma síťovými interfejsy a operačním systémem UNIX, Novell, NT atd. Zjednodušeně řečeno: filtrací je možné docílit, aby se klienti z intranetu dostali na servery v Internetu, ale aby uživatelé Internetu neměli přístup (neohrožovali) servery intranetu. K dosažení tohto cíle je nutné provádět filtraci jak na úrovni protokolu IP, tak současně i fltraci protokulou TCP (resp. UDP). Router pak nepředává datové pakety z jednoho interfejsu do druhého mechanicky, ale před tím než je předá, tak se poradí s cenzorem - podívá se do tabulky tvořící filtr.

Filtr se rozhoduje na základě informací uložených v záhlaví IP-datagramu a záhlaví TCP-paketu (resp. UDP-paketu). Filtr "nevidí" do aplikačního protokolu.

Docílit pomocí filtrace stavu, aby klienti vnitřní sítě mohli na servery v Internetu a klienti z Internetu nemohli na servery v intranetu lze snadno pro protokoly TELNET, HTTP, HTTPS, POP, klienty News a několik dalších. Problematický je však provoz protokolů FTP, SMTP a všech aplikačních protokolů využívajících UDP (tj. zejména DNS). Problém  FTP se řeší pomocí tzv. pasivního FTP. Problémy s SMTP a DNS se řeší tak, že se povolí pouze komunikace mezi jedním konkrétním počítačem v Internetu a intranetem. Problémy s protokolem UDP (tj. zejména DNS) se řeší tzv. aktivními filtry, tj. filtry, které umožňují odesílat datagramy z vnitřní sítě do Internetu, ale odpověď je možné pouze v určitém krátkém časovém intervalu. Nevyžádané odpovědi se zahazují.

Terminologická poznámka: Filtr filtrující  podle údajů ze záhlaví IP-datagramu se nazývá Packet Filter. Filtr filtrující na základě údajů ze záhlaví TCP (resp. UDP) paketu se označuje jako Circuit Filter.

Proxy a gateway

Proxy se instaluje různými zůsoby. Kalsickým zapojením je proxy se dvěma síťovými interfejsy (jeden do Internetu a druhý do intranetu).

Proxy je aplikace, která je v klasickém případě spuštěná na počítači, který leží na rozhraní intranetu a Internetu. Přitom obě sítě nejsou vzájemně přímo dostupné. Pro přístup z jedné sítě do druhé je nutné se nejprve přihlásit na počítač s proxy.

Bez proxy bychom  musleli mít na tomto počítači konto. Proxy je aplikace, která spojení mezi oběma sítěma zprostředkovává automatizovaně. Z hlediska klienta se proxy chová jako server, z hlediska cílového serveru se chová jako klient.

Konkrétně pro protokol HTTP:

Proxy rozlišujeme:

Zajímavostí jsou proxy pro protokol UDP. Existují i generické proxy pro UDP (je součástí např. AltaVista Firewallu).

Proxy pracuje na aplikační vrstvě, tj. proxy vidí do aplikačního protokolu. Je možné provádět i filtraci při předávání mezi serverovou a klientskou částí proxy. Jelikož se jedná o filtraci na aplikační vrstvě, tak je možné touto filtraci např. v protokolu FTP zakázat používat říkaz PUT a povolit pouze GET. U protokolu HTTP je pak možné omezovat přístup na některá URL atp.

Gateway oproti proxy převádí jeden aplikační protokol na jiný. Např. klient přistupuje na gateway pomocí protokolu HTTP a gateway dále předává požadavky v protokolu FTP:

V současné době je velmi oblíbená kombinace proxy s filtrací na přístupovém routeru, který má více síťových interfejsů:

Dnes router s více interfejsy už není výrazně dražší a konstrukce uvedená na předchozím obrázku (je-li správně nakonfigurována) přináší pro mnohé firmy podobný efekt jako firewall, avšak náklady na ni jsou nesrovnatelně nižší.

Klienti vnitřní sítě nemají přímý přístup do Internetu, přistupují na proxy, která jejich jménem vyřizuje požadavky v Internetu. Proxy je z hlediska uživatelů intranetu server, který vyřizuje jejich požadavky. Z hlediska serverů v Interentu se proxy jeví jako počítač s velkým množstvím klientů (jakoby všichni uživatelé intranetu seděli přímo na tomto počítači).

Na předchozím obrázku vznikl kromě intranetu a Internetu ještě třetí typ sítě označovaný jako "demilitarizovaná zóna" či "Extranet". Na extranet si firma umisťuje svůj WWW-server, tj. server na kterém nabízí v Interentu informace o sobě. Na serveru v Extranetu je přístup jak z Internetu, tak i z intranetu. Je tedy možné, aby aplikace nabízené uživatelům Internetu (běžící např. na WWW-serveru v Extranetu) přistupovaly k datům v intranetu.

Skryté sítě

Je-li mezi intranetem a Internetem proxy či gateway, pak se navazuje samostatné spojení mezi klientem a proxy a další samostatné spojení mezi proxy a cílovým serverem. Není tedy nutné, aby intranet používal IP-adresy známé v Internetu. Pro takovéto použití jsou vyhrazeny intervaly IP-adres
 
10.0.0.0 až 10.255.255.255 
172.16.0.0 až 172.31.255.255
192.168.0.0 až 192.168.255.255

Takovéto adresy používají intranety, tj. tyto adresy nejsou jednoznačné, nelze je tedy v Internetu použít, takže počítače intranetu jsou tak chráněny proti přímému navazování spojení.

Není-li na rozhraní mezi Internetem a intranetem proxy nebo gateway, pak je možné použít Network Adress Translator (NAT), který je součástí software přístupových routerů či je realizován jako program pro UNIX, NT atp. Ochrana pomocí NAT je obecně chápána jako slabší prostředek.

Wrapper

Wrapper je program, který se automaticky spuští před tím, než se klientovi povoleno přihlásit se k serveru. Wrapper prověřuje totožnost klienta. Je-li klient prověřen, pak je mu teprve spuštěn požadovaný server.

Wrapper se také často používá pro ověřování totožnosti klienta na serverovské straně proxy. V současné době nejpolularnější metodou ověřování totožnosti jsou tzv. hesla na jedno použití vytvářená pomocí různých autentizačních pomůcek.

Autentizovaní uživatelé pak mohou mít přístup i z Interentu do intranetu. Takový přístup pak využívají např. zaměstnanci na služební cestě. Přístup z Internetu do vnitřní sítě se používá zejména pro protokoly TELNET a FTP.

Firewall

Firewall je dedikovaný počítač nebo soustava počítačů, která jako dárkový balíček nabízí komplex služeb. Mj. filtraci, proxy, autentizovaným uživatelům přístup z Interentu do vnitřní sítě (chtějí-li si např. na služební cestě vybrat poštu.) atd.

Firewall řídí přístup uživatelů intranetu do Interentu a autorizovaným uživatelům přístup z Internetu do vnitřní sítě.

Dále firewall umožňuje zaznamenávat (logovat) akce prováděné firewallem. Tzv. aktivní firewally umožňují v případě konkrétně definovaných událostí, které mohou být považovány za potencionální útok, provádět např.:

Původní firewally se skládaly z více počítačů. Dnes už legendární firewall SEAL (Screening External Access Link) firmy Digital měl zapojení: Počítač gate pracoval jako filtr, počítač gatekeeper jako proxy a počítač mailgate mj. jako poštovní server v Intranetu. Demilitarizovaná zóna (Extranet) je tvořena sítí RedNet (viz obrázek). Do demilitarizované zóny (na RedNet) firma může umístit aplikace, které přistupují k datům ve vnitřní síti.

Firma Digital provozuje v podstatě tento firewall pro své potřeby od roku 1986. V polovině roku 1994 jej uvedla na amarický trh a v následujícím roce umožnila export do dalších zemí. (PVT jej používá od června 1995.)

Postupem času vznikl zejmena od menších firem tlak na firewally realizované jedním počítačem. U jednopočítačového firewallu jsou mimořádné nároky na bezpečnost operačního systému, takže mnoho původních částí operačního systému musí být nahrazeno (vyměněno).

Jednopočítačové firewally se dnes už umisťují do skříne (Rack Mount) strukturované kabeláže mezi opakovače, bridge, switch a routery. Tj. pro mnohé je to další aktivní prvek sktrukturované kabeláže. Např. firewall PIX firmy CISCO se fyzicky jen málo liší od ostatních boxů firmy CISCO.

Jelikož jsou na jednopočítačový firewall kladeny velké bezpečnostní nároky, tak není možné, aby na něm běžely aplikace, na které budou přímo přistupovat jednotliví uživatelé (např. WWW-server, mail server atd.). WWW-server (výkladní skříň firmy) se umísťuje na demilitarizovanou zónu a poštovní server, interní WWW-server do vnitřní sítě. Takže v konečném důsledku jsou třeba stejně tři servery, avšak není je třeba zakoupovat současně jako celek a to je pro většinu firem přijatelnější.

Příkladem jednopočítačového firewallu je firewall AltaVista, který byl uveden na trh v roce 1996.

Podobně jako operační systémy splňují bezpečnostní kritéria C2, B2 atd. a jejich dodavatelé o tom získávají certifikáty, tak v oblasti firewallů má obdobný význam certifikát NCSA.

Tunel

Tunel vytváří spojení mezi dvěma či více stranami (portály) skrze jinou síť. Tunel se vytváří buď za účelem transportu jiného síťového protokolu přes existující síť nebo (což je naším případem) za účelem bezpečného spojení dvou lokalit např. přes nikterak nezabezpečovaný Internet.

Není ani vyloučeno, aby jedna lokalita měla spojení do Interentu, pak tunel nám rozšiřuje intranet o vzdálenou síť:

Vzdálenou lokalitou propojenou přes tunel může být síť, ale i jeden samostatný uživatel používající osobní tunel. Díky značnému rozšíření Internetu může být takový uživatel i mobilní, tj. nemusí být vázán na jednu lokalitu.

Zabezpečení přenosu dat může být prováděno na přístupových routerech tak, že v každém přenášeném datagramu se ponechá IP-záhlaví a TCP-záhlaví (resp. UDP) a datová část každého paketu se na vstupu do Internetu šifruje a na výstupu dešifruje. Takto pracují např. tunely realizované routery firmy CISCO, či Sofware602.

Druhou eventualitou je pak celý IP-datagram zašifrovat a vložit do nového TCP-paketu jako data.

Toto řešení používá např. AltaVista Tunel. Výhodou tohoto řešení je, že i vzdálená lokalita může používat adresy pro skryté sítě, tj. např. adresu sítě 10. Vzdálená lokalita se tak stává integrální součástí intranetu.

Bezpečné služby

Pro autentizaci tyto nástroje používají asymetrickou kryptografii. Pro přenos vlastních dat pak používají symetrickou šifru.

PGP a SSH

I když někoho může pohoršit spojování obou nástrojů, tak z bezpečnostního hlediska mají mnoho společného. Společné mají zejména to, že oba prostředky používají veřejný šifrovací klíč jako takový, tj. neorientují se na používání certifikátů. Neřeší tedy distribuci veřejnýách klíčů. Tyto prostředky jsou tedy určeny konkrétnímu okruhu uživatelů, kteří si sami mezi sebou řeší problematiku předávání veřejných klíčů.
 

PGP

Program PGP je určen pro šifrování a elektronické podepisování souborů (dávek). Takoto zašifrovaná zpráva pak může být přenášena elektronickou poštou, na magnetickém médiu či jiným způsobem. Příjemce zprávu jako dávku dešifruje a následně využije (přečte či data počítačově zpracuje).

SSH

SSH je tvořeno mj. programy: Program ssh (resp. scp) je určen pro interaktivní práci. Nahrazuje "nebezpečné" programy: rlogin či telnet. Program scp nahrazuje programy rcp či ftp. Programy pro vzdálené přihlášení a přenos souborů se používají pro práci na serveru. Dnes je používají nejčastěji správci systému či vývojáři, tj. úzký okruh uživatelů pro které není na překážku předat správci serveru svůj veřejný klíč např. na disketě.
 

Bezpečný mail

Pod pojmem bezpečný mail dnes rozumíme takový systém, který zprávu zašifruje (resp. elektronicky podepíše či obojí) a odešle běžným (nezabezpečeným) elektronickým mailem, tj. protokolem SMTP či ESMTP. Výhodou takovéhoto řešení je, že nevyžaduje žádný zásah do stávajících poštovních systémů Internetu.

Systémy, které se snaží nešifrovanou zprávu přenášet bezpečným kanálem (např. SMTP či POP over SSL) se neujaly, protože by vyžadovaly zásahy do stávajícího poštovního systému Internetu.

Nejjednodušším mechanizmem je využití PGP pro šifrování či elektronické podepisování. Tj. zprávu pořídíme textovým editorem, zašifrujeme PGP a odešleme stávající poštovním mechanizmem. Toto řešení se nejeví jako perspektivní, protože se špatně automatizuje (i když i pro PGP se objevilo MIME/PGP). Řešením, které se asi prosasadí je S/MIME. S/MIME přinesla firma Netscape. Výhodou tohoto řešení je mj. i to že je velmi podbné interaktivnímu SSL, takže obojí lze řešit pomocí týž knihoven, čehož firma Netscape i využívá.

S/MIME se orientuje na využití certifikátů. Pro bezpečný mail jsou vhodné i certifikáty certifikačních autorit třídy 1 jejiž certifikáty lze získávat jednoduše bez osobní přítomnosti uživatele na certifikační autoritě.

S/MIME je velice vhodné pro veškeré aplikace mající dávkový charakter. Umožňuje autentizaci, šifrování i elektronický podpis jednotlivých zpráv (elektronický podpis transakcí není např. u SSL zabezpečen).


 

SSL a HTTPS

SSL je "prezentrační vrstva" umísťující se mezi protokol TCP a aplikační protokoly. SSL umožňuje prokazovat totožnost serveru. V případě neanonymních serverů může být požadováno prokazování totožnosti klienta. SSL umožňuje se autentizovaně přihlásit aniž by se sítí přenášelo heslo. Dále SSL zabezpečuje šifrování a integritu přenášených dat.

SSL se rovněž orientuje na využívání certifikátů.

SSL slouží aplikačním protokolům k zabezpečnení přenosu, tj. bezpečnostní problému řeší za aplikační protokoly. Podle toho jaký aplikační protokol využívá SSL, pak hovoříma např. o Secure LDAP (LDAP over SSL), HTTPS (HTTP over SSL) atd.

SSL bere data od aplikačního protokolu a šifrované je předává protoklu TCP, tj. nevidí do aplikačních dat. Není tedy schopno rozlišovat jednotlivé aplikační transakce (např. prodej jedné letenky) a jednotlivé transakce nemůže tedy ani elektronicky podepisovat. Tento problém si musí řešit aplikace sama. Otázkou pak ale je, že když si tento problém bude řešit aplikace sama, tak už si i sama vyřeší všechny ostatní bezpečnostní aspekty, tj. obejdede se bez SSL.

Silně zjednodušeně lze smysl SSL vystihnout: SSL je tedy vhodné pro prodej letenek jednou firmou, kdy v rámci firmy je možné jednotlivým prodavačům důvěřovat nebo je možné uplatňovat pracovně-právní vztahy.

SSL slouží pro autentizaci a pro zabezpečení dat mezi klientem a serverem. Znemožňuje přístup neautorizovaným uživatelům,dále zabezpečuje privátnost (šifrování) přenášených dat a zabezpečuje integritu přenášených dat pomocí kontrolního součtu (nikoliv elektronického podpisu), ale nezabezpečuje elektronický podpis jednotlivých transakcí.

SSL je vhodné pro distribuci software či pro běžné podnikové agendy provozované přes Internet, aniž by server musel nutně být oddělen od Internetu. Není však příliš vhodné např. pro aplikace typu zprostředkování prodeje a platby mezi uživatelem, obchodníkem a bankou.

Nejběžnější využití SSL je právě pro HTTPS. Výhodou je, že hotové aplikace využívající HTTP lze s minimálními upravami překlopit na provoz přes HTTPS. Leze předpokládat, že HTTPS dozná značné obliby.

Drtivá většina aplikací v Interentu bude i nadále používat protokol HTTP. Lze předpokládat, že asiu 10% bude používat "bezpečné" protokoly.

SET

SET je systém umožňující přenos zabezpečených transakcí mezi uživatelem, obchodníkem a bankou. Přitom obchodník se nemusí dovědět informace o bankovním kontě uživatele a banka se zase nemusí dovědět co uživatel nakupuje. SET je prvotně určen pro nákupy pomocí kreditních karet. Je to snaha zdokonalit nakupování pomocí kreditních karet aniž by mohlo docházet ke zneužívání přenášených údajů.

SET se orientuje rovněž na využívání certifikátů. Používá dvojí certifikáty (dovjí klíče). Jeden pár pro elektronický podpis a druhý pro šifrování dat (symetrického klíče).

Opět s nadsázkou: Pomocí SET bude možné prodávat letenky i jinými firami.

SET je určen pro interaktivní práci. Pro dávkové zpracování se vyvíjí modifikace S/MIME pod označením S/MIME-3P.

Pro drtivou většinu aplikací v Internetu vyžadujících "bezpečnou komunikaci" bude vyhovovat HTTPS. Jen zlomek komerčních aplikací bude vyžadovat silnější prostředky jako je SET. Avšak tyto aplikace mohou být velmi významné.
 

Elektronické peníze

Nakupování pomocí kreditních karet či šeků není zcela anonymní. I SET zanechává např. u banky informace o tom u jakých firem jsem nakupoval (není vidět jen co jsem nakupoval).

Realné peníze (bankovky a mince) jsou zcela anonymní.

V amerických publikacích často píší, že kromě kreditnich karet existují ještě bankovy a mince a to jsou ty peníze se kterými chodí nakupovat  např. pornografie či drogy (aniž by těchto informací mohla banka zneužít).

Elektronické peníze jsou fyzicky řetězce bitů pomocí kterých je možné provádět anonymní nákupy. Předpokládá se, že elektronické peníze (řetězce bitů) bude možné z bankomatu nacucnout do elektronické peněženky  realizované např. čipovou kartou se kterou budeme platit v obchodě.


 
 

Certifikáty

Certifikát je datová struktura (řetězec bitů) pomocí které se zveřejňují údaje o uživateli a zejména uživatelův veřejný šifrovací klíč (v případě RSA šifer). Certifikát je elektronicky podepsán (ověřen) certifikační autoritou. Z certifikátu je možné zíkat veřejný
šifrovací klíč uživatele, který je možné použít   k prokazování totožnosti uživatele. V případě, že certifikát obsahuje šifrovací klíč
určený také k šifrování dat, pak je možné i tento klíč z certifikátu použít k šifrování dat odesílaných uživateli.

Certifikát se často přirovnává k občanskému průkazu.

Firewall a HTTPS

Problém nabídky dat pomocí protokolu HTTPS spočívá v tom, že data jsou umistěna ve vnitřní síti za firewallem. Přitom WWW-server musí být umístěm před firewallem, tj. musí být dostupný z Internetu. Aby byl možný z WWW-serveru přístup na data ve vnitřní síti, tak musí být umístěn v demilitarizovéné zóně firewallu, tj. na LAN firewallu, která je chráněna filtrací na přístupovém routeru do Internetu.

Firewall je nastaven jako circuit filter pro komunikaci mezi WWW-serverem a databází ve vnitřní síti. Pro filtraci je nutné nastavit jen minimalní možnost průchodu firewallem tak, aby komunikace ještě bzla možná. Existuje i druhá varianta konfigurace firewallu, kdy se firewall nekonfiguruje jako filter, ale jako generická proxy umožňující opět pouze komunikaci mezi WWW-serverem a databází.