Zabezpečení počítače - firewall a jeho nastavení
autor: Jiří Vašek , publikováno 12.4.2007
Zabezpečení počítače - firewall a jeho nastavení

Již na konci minulého článku o zabezpečení počítače jsem sliboval, že se další návod bude týkat nastavení firewallu. Uznávám, že časová prodleva nebyla nejoptimálnější, nicméně další článek o bezpečnosti je zde. Řekneme si pár obecných informací o komunikaci na síti, nastavení firewallu, a aplikaci teoretických poznatků v praxi...


Tento článek by měl do jisté míry navázat na více než dva roky starý článek zde na PCTuningu, který byl ovšem zaměřen více teoreticky a méně podrobně, což doufám dnes napravím. Na konci článku by pro uživatele již nemělo být velkým problémem pochopit zdánlivě nesrozumitelné nastavení které drtivá většina firewallů potřebuje, a zabezpečit tak svá data.

Firewall - "protipožární stěna" - je nejdůležitějším prvkem zabezpečení počítače připojeného k internetu. Jeho smyslem je zkoumat a filtrovat komunikaci mezi vlastním počítačem a sítí nacházející se vně. Jedině díky firewallu lze přesně stanovit, co má do vašeho počítače přístup a co ne, a každý modernější firewall dovede zároveň sledovat odchozí komunikaci, což se hodí zejména při obraně před trojskými koni a aplikacemi, které si rády "volají domů". Výrobci dnešní firewally obdařují mnoha dalšími funkcemi (více či méně chytrý sandbox - tedy kontrola systémových souborů nebo registrů, štít proti spywaru a další), ale základem zůstává kontrola komunikace mezi vaším počítačem a okolní sítí (tedy paketový filtr).

Zabezpečení počítače - firewall a jeho nastavení

Pokud nechcete číst sáhodlouhé elaboráty o principech TCP/IP komunikace, rovnou přeskočte na další stránku, tento úvod není povinný :)

Na 80. nástupiště přijíždí...

K pochopení principu firewallu je třeba si nejprve vysvětlit, jak vlastně funguje komunikace na síti. Článek se bude týkat protokolu TCP/IP, přesněji řečeno jen protokolů TCP a UDP, vzhledem k tomu, že se jedná o základní kameny internetu. Nemá smysl řešit dinosaury typu IPX a další málo používané nebo speciální protokoly, pokud bude nutné tak na ně bude dále v článku upozorněno.

Základem každé sítě založené na TCP/IP jsou jednotlivé počítače. Aby mezi nimi mohla fungovat komunikace, každý počítač má přiřazenou adresu (tzv. IP adresa), která musí být pro každý počítač unikátní, aby bylo jasně patrné, kdo s kým vlastně komunikuje. Ovšem samotná IP adresa nestačí, protože na každém počítači běží současně více programů přistupujících k síti. Aby komunikace mohla hladce fungovat, je nutné na každém počítači rozlišovat více komunikačních "cest". Těmto se říká porty. Každý počítač (lhostejno zda se jedná o obyčejný klientský počítač využívající služeb internetu, nebo server) má k dispozici 65536 portů pro TCP i pro UDP (0-65535), čili teoreticky může zároveň fungovat obrovské množství síťových spojení. V praxi samozřejmě toto číslo těžko využijete, normální využití je maximálně několik desítek portů (nehledě k tomu že poskytovatelé připojení mají ve zvyku omezovat celkový počet spojení pro jednu IP adresu například na 500). Pokud zrovna na nějakém portu probíhá komunikace, říkáme že je otevřený.

Dalším nutným krokem je rozlišení směru komunikace. Zjednodušeně lze říci, že pokud začínáte komunikovat vy, jedná se o odchozí (outbound) komunikaci, v opačném případě začíná komunikovat někdo s vámi a jedná se o příchozí (inbound) komunikaci. V drtivé většině případů vás bude zajímat jen odchozí komunikace, případů kdy bude třeba řešit příchozí je málo (kdy je potřeba aby se k vám někdo připojil? Typicky různé vzdálené plochy, "aktivní režim" v P2P aplikacích, nebo pokud máte nějaký soukromý server, například webserver nebo FTP server).

Pokud tedy má začít nějaká komunikace mezi dvěma IP adresami, využije se vždy jeden port na každé z nich. Protože na vzdáleném počítači již nějaký program běží (třeba webový server), čeká až se k němu připojíte. Přesněji řečeno, na některém z jeho portů tzv. poslouchá nějaký program, a čeká až se k němu připojíte (pro něj je vaše připojení příchozí komunikací, pro vás odchozí). Ukažme si to na příkladu webového serveru.

Na vzdáleném serveru běží webový server (program), který typicky poslouchá na portu 80 protokolu TCP. Váš webový prohlížeč se k němu chce připojit, proto si také otevře nějaký port (u odchozí komunikace nejsou čísla portů podstatná a většinou si je programy vybírají náhodně), a zahájí komunikaci se vzdáleným serverem - pochopitelně pouze v případě že onen vzdálený server opravdu existuje (je nalezena jeho IP adresa přímo nebo přes službu DNS), a že na něm opravdu běží cosi, co na konkrétním portu poslouchá.

Jak zjistím, na jaký port se připojit? Většinou se připojujete k portu 80 (HTTP, prostě webový server), což se mlčky předpokládá, takže nemusíte psát do adresního řádku prohlížeče http://www.pctuning.cz:80 ale jen URL adresu bez portu. Je to způsobeno jednoduchým pravidlem tzv. známých (vyhrazených, typických, anglicky common) portů - proto klienti mohou předpokládat že server běží na konkrétním portu na každém serveru. Samozřejmě, toto není pravidlem, webserver nemusí vždy běžet na portu 80, ale většinou to tak je kvůli zjednodušení. Seznamy typických portů se válí všude po internetu, namátkou například zde.

Ještě něco málo o hardwarových firewallech, kterých se zde dotkneme jen letmo. Jedná se o hardware, fungující jako štít, stejně jako softwarové firewally. Jejich výhodou je nulová náročnost na samotný počítač, nevýhodou problematická kontrola odchozí komunikace (levnější kousky tohle prostě neumí) a ne zrovna nejlepší konfigurovatelnost, nehledě k tomu že málokterý uživatel si hardwarový firewall koupí - je to spíše záležitost firem. Proto se v tomto článku budeme bavit výhradně o sofwarových firewallech.

Zabezpečení počítače - firewall a jeho nastavení

K čemu je tento nudný úvod při ochraně vašeho počítače? Inu, nejbezpečnější je vždy vše zakázat, a povolit jen to, co opravdu potřebujete. Proto je nutné u všech programů s přístupem na internet nebo síť vědět, na jaký port se chce připojovat, abyste mohli přesně nastavit pravidla. Teoreticky je možné řešit zabezpečení jednoduchým povolením nebo zakázáním přístupu konkrétním programům, ale rozhodně to není zcela bezpečný přístup, spíš naopak toto otevírá potenciální bezpečnostní díry.

Ale jak zjistit, které programy potřebují jaké porty povoleny? Způsobů je více, ale asi nejlepší je to buď prostě vědět, nebo využít "učící mód" (learning mode), který většina firewallů má. Funguje to tak, že pokud se nějaký program, který ještě není správně nastaven, pokusí o komunikaci, firewall jej zablokuje, a zeptá se uživatele, co má dělat. Toto si ještě ukážeme v praktickém nastavení firewallu.

Myslím, že toto by pro úvod stačilo, jistě by šlo vše rozebrat ještě více do hloubky, ale to již nebude potřeba. Takže nyní přikročme k samotnému nastavení firewallu.



 
Komentáře naleznete na konci poslední kapitoly.
447 čtenářů navrhlo autorovi prémii: 209.1Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.