Proxy firewall

�vod

Po��ta�ov� bezpe�nost pat�� k o�ehav�m t�mat�m dne�ka. V dob� st�le se roz�i�uj�c�ho Internetu ��h� nebezpe�� na ka�d�m rohu. Profesion�lov� o n�m dob�e v�d� a m�lokdo z nich bere tento probl�m na lehkou v�hu, av�ak spousta b�n�ch u�ivatel� nen� dostate�n� informov�na, a ti, kte�� jsou, si mysl�, �e se jich nebezpe�� napaden� ciz�m �to�n�kem net�k�. To je jeden z nejv�t��ch omyl� v t�to oblasti. V�ichni m�me na pevn�m disku informace, kter� bychom neradi zve�ejnili nebo uk�zali n�komu ciz�mu. Na jedn� stran� se oh�n�me z�kony na ochranu osobnosti, na stran� druh� nech�v�me �asto a� p��li� n�padn� �otev�en� dve�e� do na�eho syst�mu. Probl�m po��ta�ov� kriminality je ��m d�l hroziv�j��. Po��ta�e dnes vyu��v� kdekdo, staly se sou��st� na�ich �ivot� a svou pr�ci si bez nich nedok�eme p�edstavit.

Nejv�t�� hrozbou je jist� p�ipojen� k po��ta�ov� s�ti. A plat� p��m� �m�ra mezi jej� velikost� a nebezpe��m, kter� se v n� ukr�v�. Z toho plyne, �e nejv�t�� s� znamen� tak� nejv�t�� riziko. Touto je bezesporu celosv�tov� s� Internet. D�ky sv� rozlehlosti, anonymit� jednotliv�ch u�ivatel�, kter�ch jsou miliony a ned�v�ryhodn� povaze znamen� pro na�e data a soukrom� informace obrovsk� riziko, jemu� je pot�eba r�zn� �elit. Vznikly tedy s�ov� programy a za��zen� naz�van� firewally, jejich� �lohou je odd�lit s�t� s r�znou �rovn� d�v�ryhodnosti a kontrolovat datov� tok mezi t�mito s�t�mi. Kontrola dat prob�h� na z�klad� pravidel, kter� ur�uj� podm�nky a akce. Podm�nky se stanovuj� pro �daje, kter� je mo�n� z�skat z datov�ho toku. �loha firewallu spo��v� ve vyhodnocen� podm�nky a proveden� akce, pokud je podm�nka spln�na. Z�kladn� akc� je povolit �i blokovat datov� paket. Existuj� i takov� akce, kter� slou�� pouze na zaznamen�n� nebo zm�nu hlavi�ek paketu. Pro snadn�j�� integraci do s�t� dne�n� firewally podporuj� i sm�rov�n�.

Mezi z�kladn� zp�soby ochrany s�t� firewallem pat�� filtrov�n� paket� na z�klad� zdrojov� �i c�lov� IP adresy nebo podle TCP/UDP port�, d�le stavov� inspekce, kter� um� p�i�adit pakety k p��slu�n�mu spojen� (d�ky t�to vlastnosti firewall rozpozn�, �e se jedn� o pakety vracej�c� se do s�t� v r�mci spojen�, kter� bylo nav�z�no zevnit�) a proxy firewall/aplika�n� br�na pracuj�c� na aplika�n� �rovni a vyhodnocuj�c� pr�b�h komunikace na t�to nejvy��� vrstv�. Proxy jednodu�e �e�eno ukon�uj� spojen� sm�rem od klienta a sm�rem k serveru navazuj� spojen� nov�. M�ra bezpe�nosti je proto pro konkr�tn� aplikace velmi vysok�. Spolu s firewally, chr�n�c�mi s� jako celek, jsou �asto zmi�ov�ny i tzv. proxy servery, umo��uj�c� odd�lit klienty (hostitelsk� stanice) od p��m�ho styku s po��ta�i (resp. servery) �na druh� stran� informa�n�ho �et�zce a poskytnout tak anonymitu a bezpe�nost u�ivateli.

Tato pr�ce se bude z velk� ��sti zaob�rat p�edev��m tematikou principu �innosti proxy firewall�, ov�em budou zde zm�n�ny i ostatn� typy firewall�, spolu se vz�jemn�m porovn�n�m jejich vlastnost�, v�hod a nev�hod. Dal�� dv� velk� kapitoly budou tvo�it p�eklady s�ov�ch adres (NAT) a proxy servery, kter�m bude poskytnuto v�ce prostoru. Praktickou ��st pr�ce bude p�edstavovat n�vrh �e�en� proxy firewallu postaven� na platform� GNU/Linux. T�to ��sti spolu s popisem principu �innosti proxy firewall� bude v�nov�na nejv�t�� pozornost. V samotn� p��loze na z�v�r p�ilo��m komentovan� konfigura�n� soubory a skripty, kter� budou na linuxov�m serveru otestov�ny a funk�n� vyu�ity.

Nezanedbateln� ��st internetov�ch server� dnes b�� na stroj�ch, kter� jsou spravov�ny n�kter�m z opera�n�ch syst�m� pat��c�ch do rodiny Unix. Proto ve�ker�, pozd�ji jmenovan� programy �i softwarov� aplikace, budou p�izp�sobeny opera�n�m syst�m�m zalo�en�m na svobodn�m j�dru Linux a spadaj�c� pod licenci GNU General Public License.

Firewally

Technologie firewall�

Firewall (�esky by se dalo ��ct �bezpe�nostn� br�na� �i �ochrann� po��ta�, pojem se v�ak nep�ekl�d�) je jednodu�e �e�eno br�na odd�luj�c� s�t�. M��e b�t realizov�n jako program spu�t�n� na po��ta�i nebo jako samostatn� za��zen�. Prim�rn�m ��elem firewallu je zabr�nit necht�n� komunikaci z jedn� s�t� (z�ny) do jin� s�t� (z�ny) a jeden firewall m��e odd�lovat i v�ce ne� dv� r�zn� s�t� (z�ny).

Rozli�en�, kter� komunikace bude povolena �i zak�z�na, je ��zeno bezpe�nostn� politikou. Tato politika je vlo�ena do konfigurace firewallu a pro ka�d� po�adavek na pr�chod firewallem jsou aplikov�na pravidla bezpe�nostn� politiky, podle nich� firewall rozhodne, zda komunikaci povolit �i zak�zat. Tato �innost je �asto naz�v�na filtrov�n� komunikace a to je p���ina, pro� jsou firewally n�kdy ozna�ov�ny jako s�ov� filtry.

P�ehled typ� firewall�

Rozd�len� firewall� je mo�n� podle �rovn�, na kter� firewall filtruje komunikaci. Bu� m��e fungovat na vrstv� s�ov� (nejrychlej�� a zpravidla tak� nejm�n� n�kladn� varianta, ale filtruje velmi povrchn� - rozhoduje se pouze dle informac� dostupn�ch na t�to vrstv�), tyto firewally jsou zpravidla ozna�ov�ny jako paketov�. Pro jejich rychlost je vhodn� je um�stit na m�sta s hust�m provozem, nap�. vstupn� br�na do s�t� apod.

Firewall m��e b�t i stavov�, kdy� dok�e rozli�it ji� nav�zan� spojen� a k nim p��buznou komunikaci (nap��klad pro FTP protokol). V tomto p��pad� ji� ale mus� pracovat na vrstv� transportn�.

Na aplika�n� vrstv� pracuj�c� firewall je �asto ozna�ov�n jako proxy firewall. V�hodou t�chto firewall� je, �e zpravidla pln� �rozum� fungov�n� aplikac� a protokol� a jsou schopny detekovat nap�. p��pady jejich nestandardn�ho chov�n� apod., tedy filtruj� velmi d�kladn�. Je tedy nejvhodn�j�� je um�stit a� na hostitelsk� stanice �i v jejich bezprost�edn�ch bl�zkostech (p�ed�azen� jedno��elov� server - firewall).

Posledn� dv� mo�nosti rozd�len� tvo�� analyz�tory paket� a NAT (Network Address Translation)

SW/HW firewally

Hardwarov� firewally

HW firewall je aktivn� s�ov� za��zen�, kter� slou�� zejm�na ke kontrole a filtrov�n� datov�ho toku. Obvykle m� alespo� jedno vstupn� a jedno v�stupn� s�ov� rozhran�. Firewall kontroluje proch�zej�c� data podle definovan�ch pravidel. Pravidla se aplikuj� bu� na jednotliv� pakety (tzv. paketov� filtr) na z�klad� sm�ru toku (vstupn�/v�stupn�), nebo IP adresy a portu (zdroje/c�le). Pokud se zaznamen�v� stav pro rychlej�� zpracov�n� paket� pat��c�ch do jednoho toku dat, jedn� se o stavov� filtr. V p��pad� zpracov�n� aplika�n�ch protokol� jde o tzv. aplika�n� br�ny.

Hardwarov� firewally jsou specializovan� s�ov� za��zen�, kter� na prvn� pohled p�ipom�naj� men�� p�ep�na�e. Um�j� v�ak mnohem v�ce. Krom� p�ep�n�n� a filtrace paket� prov�d�j� nap�. anal�zu dat na aplika�n� �rovni (obsah WWW str�nek, e-mail�, atp.). Kombinuj� funkce stavov�ho i paketov�ho filtru a p�id�vaj� kontrolu obsahu dat pomoc� vyhled�v�n� �et�zc�. Oproti softwarov�mu �e�en� jsou rychlej��, pom�rn� jednodu�eji se konfiguruj� a spravuj� (velmi relativn�). Poskytuj� komplexn� ochranu a monitorov�n� bezpe�nosti s�t�. Konfigurovat je m��eme pomoc� grafick�ho rozhran� (p�es WWW) nebo textov�ho CLI (Command Line Interface)

Z technick�ho pohledu je hardwarov� firewall vlastn� specializovan� po��ta�, kter� obsahuje procesor, pam� a s�ov� rozhran�.

Sou��st� mohou b�t i hardwarov� akceler�tory postaven� na technologi�ch ASIC nebo FPGA pro rychl� v�po�et �ifrovac�ch algoritm� u VPN �i vyhled�v�n� �et�zc� u syst�m� IDS (Intrusion Detection System). Nap�. u firewallu ZyWall 35 umo��uje p��davn� PCMCIA karta prohled�v�n� obsahu dat a antivirovou kontrolu. Opera�n�m syst�mem t�chto za��zen� m��e b�t (krom� propriet�rn�ch �e�en�) nap��klad Linux.

Softwarov� firewally

Dob�e zn�m� jsou softwarov� firewally, kter� mohou b�et na osobn�m po��ta�i, kter� m��e b�t pro tento ��el vyhrazen nebo tak� ne. V prvn�m jmenovan�m p��pad� bychom se bavili o serverech s v�ce s�ov�mi kartami, kter� krom� filtrov�n� prov�d�j� i p�eklad adres NAT. Obvykle je na serveru s firewallem tak� slu�ba DHCP pro dynamick� p�id�lov�n� IP adres, p��padn� DNS slu�ba pro p�eklad dom�nov�ch jmen na IP adresy. Druh� p��pad zna�il (koncov�) po��ta�e u�ivatel�. SW �e�en� je levn� a obl�ben� � m��eme vyu��t voln� dostupn� software a p�izp�sobit si ho podle sv�ch po�adavk�. Nastaven� v�ak vy�aduje zku�en�ho administr�tora, a tak� anal�za p�enos� neb�v� p��li� jednoduch�. Pod OS Linux je k dispozici ji� vestav�n� firewall v j�d�e opera�n�ho syst�mu s n�zvem Netfilter.

 

Kde vytvo�it firewall

Podle chr�n�n�ho subjektu m��eme firewally rozd�lit na dva druhy - firewally na ochranu (jednoho) po��ta�e (tzv. �host-based� firewally) a firewally na ochranu cel� s�t� (tzv. �network-based� firewally).

Firewally na ochranu (jednoho) po��ta�e

Firewally ur�en� k ochran� jedin�ho po��ta�e jsou relativn� �jednoduch�. Jejich �lohou je chr�nit jeden jedin� po��ta� (typicky s jednou s�ovou kartou), nepot�ebuj� se zaob�rat p�esm�rov�n�m paket� ani p�ekladem adres. Jsou nakonfigurovan� na po��ta�i, kter� maj� chr�nit, a tak mohou b�t pravidla t�chto firewall� velmi specifick� a umo��ovat jen ten s�ov� provoz, kter� je pot�ebn� pro zabezpe�en� slu�by (slu�eb) �i aplikac� na dan�m po��ta�i.

Takov�to firewally se �asto pou��vaj� na dopl�kovou ochranu serveru, kter� je um�st�n� za n�jak�m ji� existuj�c�m (�front-line�) firewallem, nap��klad (ov�em ne v�lu�n�) ve webhostingov�m centru a d�le k ochran� jednotliv�ch osobn�ch po��ta�� (pracovn�ch stanic) p�ipojen�ch k s�ti. Proto jsou tak� �asto naz�v�ny osobn�mi firewally.

Firewally na ochranu s�t�

Ve v�t�in� p��pad� je �lohou firewallu odd�lit dv� �i v�cero s�t� s r�zn�mi p��stupov�mi pr�vy nebo obsahem. D�le se budu dr�et p��kladu, ve kter�m firewall odd�luje Internet (vn�j�� s�) a Intranet (vnit�n� s�). Z p�ede�l�ho logicky vypl�v�, �e p�es firewall mus� proch�zet v�echny pakety pohybuj�c� se mezi s�t�mi. V opa�n�m p��pad� je firewall nen� schopen kontrolovat. Firewall funguje pro s�t� jako bezpe�nostn� br�na (ve skute�nosti vykon�v� i sm�rov�n� paket�, tak�e tato analogie nen� od v�ci).

Politika firewallu

V kapitole o bezpe�nosti serveru v s�ti budu hovo�it o tom, jak d�le�it� je stanovit si dobrou bezpe�nostn� politiku. V p��pad� firewallu je d�le�it� zejm�na rozhodnut�, jak firewall nalo�� s pakety, jejich� osud explicitn� neur��me. Ze zku�enost� odborn�k� na po��ta�ovou bezpe�nost se obecn� uplat�uje postup, p�i kter�m �co nen� v�slovn� povoleno, je zak�z�no�. Tato zvolen� strategie se z hlediska zabezpe�en� jev� jako ucelen�j��.

Firewall & server versus samostatn� firewall

Existuj� v podstat� dv� �e�en�, jak implementovat firewall do existuj�c� s�t�. Prvn� �e�en� p�edpokl�d�, �e firewall bude na serveru, kter� bude poskytovat ur�it� slu�by pro n�kterou ze s�t� (nebo ob�), kter� vz�jemn� propojuje. Bude tedy br�nou, firewallem a serverem sou�asn�. Toto �e�en� je m�n� n�kladn�, proto�e nepot�ebujeme samostatn� po��ta� na firewall, ale (relativn�) nen� p��li� bezpe�n�. V p��pad�, �e na firewallu b�� n�jak� slu�by, je mo�no je za ur�it�ch okolnost� zneu��t (a� u� jsou chr�n�n� jak�mkoliv zp�sobem), z�skat pr�va administr�tora a upravit/smazat pravidla firewallu.

Naproti tomu, kdy� se firewall um�st� na �pln� samostatn� po��ta�, na kter�m neb�� ��dn� slu�by, je �e�en� mnohem bezpe�n�j��. V takov�m p��pad� je vhodn�, jestli�e se na firewall p�ihla�uje administr�tor pouze z konzole, aby nemusely na po��ta�i b�et ani slu�by jako SSH. V�echny slu�by, kter� maj� b�t dostupn� z Internetu, b�� fyzicky na jin�m po��ta�i (serveru) a firewall zabezpe�� spr�vn� sm�rov�n� paket� pomoc� routovac� tabulky �i p�ekladu adres NAT.

V p��pad�, �e s� bude poskytovat slu�by do Internetu, nejbezpe�n�j��m �e�en�m se st�v� takov�, p�i kter�m firewall propojuje ne dv�, ale t�i s�t� (Internet, Intranet a DMZ � demilitarizovanou z�nu). DMZ je s�, kter� se pou��v� pro servery s ve�ejn�mi slu�bami p��stupn�mi z Internetu. Firewall umo��uje chr�nit Intranet (do n�ho proniknou maxim�ln� odpov�di na spojen� ji� iniciovan� z Intranetu), ve�ejn� dostupn� slu�by jsou v odd�len�m segmentu s�t� a firewall nad v�emi dr�� �strន.

Paketov� filtr

Paketov� filtr umo��uje sledovat s�ov� provoz na t�et� vrstv� ISO/OSI modelu (tj. logick� IP adresy). Je mnohem rychlej��, ale jeho spr�va je komplikovan�j�� a nem� tolik mo�nost� jako aplika�n� proxy, proto�e se nap��klad nedostane ke jm�nu u�ivatele, kter�mu pat�� zachycen� pakety.

Nev�hodou paketov�ho filtru je i to, �e n�kdy mus� na serveru fungovat slu�by, kter� p�i komunikaci vyu��vaj� n�hodn� vybran� porty (nap�. p�i p�enosu soubor� pomoc� slu�by FTP). Paketov� filter �nevid� (nepozn�) souvislosti mezi pakety a ka�d� analyzuje samostatn�. Je tedy t�eba povolit bu� cel� rozsah port� (p��li� benevolentn�) nebo jej zak�zat a takov�to slu�by nepou��vat (n�kdy nerealizovateln�) .

Postup paketov�ho filtru:

1. Zji�t�n� zdrojov� i c�lov� IP adresy a port�.

2. Pr�chod tabulkou po jednotliv�ch ��dc�ch odshora dol�, dokud nen� nalezen ��dek s pravidlem, kter� odpov�d� dan�mu paketu. V�t�inou definov�na i posledn� v�choz� �policy�.

3. Provede se akce uveden� v p��slu�n�m ��dku pravidla. Zpravidla se paket propust� (�allow�) nebo zahod� (�deny�; �drop�), pop��pad� i zaloguje, �ili se zaznamen� p��sl. akce do souboru.

P��klad filtra�n�ch pravidel pro lok�ln� s� s adresou 192.168.2.0:

 

Prvn� pravidlo zaji��uje nav�z�n� TCP spojen� iniciovan�ch z vlastn� s�t�. Druh� pravidlo zabra�uje �to�n�kovi vystupovat v s�ti jako firewall. T�et� pravidlo zabra�uje vn�j��mu �to�n�kovi komunikovat s firewallem. �tvrt� pravidlo umo��uje v�em prvk�m s�t� komunikovat s k�mkoliv z vn�j�� s�t� a pou��t p�itom jak�koliv protokol. P�t� pravidlo umo��uje proj�t v�em paket�m z vn�j�� s�t�, pokud nesou data protokolu HTTP. Posledn� �est� pravidlo je velmi d�le�it� - v�e co nespad� pod v��e uveden� pravidla nepustit do (ze) s�t�. Jak je n�zorn� vid�t z tabulky, paketov� filtr je zalo�en na pravidlech stanoven�ch pro dvojici zdrojov� IP adresa a c�lov� IP adresa. Tyto �daje jsou �asto je�t� up�esn�ny pro konkr�tn� TCP nebo UDP porty

Stavov� firewally

Speci�ln�m p��padem paketov�ho filtru je stavov� paketov� filtr. Ten si dok�e uv�st v souvislost proch�zej�c� pakety a tak si uchovat stav spojen�. Jedno nav�zan� spojen� a v�echny pakety, kter� k n�mu pat��, se naz�v� relace (session). Stavov� firewall se oproti paketov�mu filtru li�� tak� t�m, �e nen� obecn� univerz�ln�, ale je vyu�iteln� pouze pro TCP/IP protokoly.

Stav spojen� je mo�n� uplatnit v pravidlech, a tak nap��klad automaticky povolit odpov�di na v�echny odeslan� pakety, povolit spojen�, kter� souvis� s dan�m, ji� nav�zan�m spojen�m po dobu jeho trv�n�, atd. Toho se s v�hodou prakticky vyu��v� nap�. u �e�en� ji� zm�n�n�ho probl�mu s FTP.

Tento typ firewallu rozezn� paket, kter� otev�r� nov� spojen�, od paket�, kter� tuto komunikaci realizuj�, a d�ky tomu m��e precizn�ji filtrovat datov� toky. Pokusy o spoofing, podvr�en� paket�, kter� se tv���, jako by se "vracely do s�t�" v r�mci fiktivn�ho spojen�, jsou blokov�ny.

Softwarov� firewall je implementovan� p��mo v j�d�e Linuxu. Ve verz�ch j�dra 2.4.X a 2.6.X je to bezpe�nostn� n�stroj s n�zvem "iptables", kter� krom� spr�vy filtrovac�ch pravidel umo��uje i spr�vu NATu. Samotn� firewall (framework pro manipulaci s pakety) se naz�v� "netfilter".

Proto�e je Iptables z technologick�ho hlediska nejdokonalej�� (nejpokro�ilej��), a jeliko� je doporu�eno pou��vat aktu�ln� stabiln� verze j�dra Linuxu, budu se v dal��ch ��stech textu zaob�rat pouze t�mto mocn�m firewallov�m n�strojem, kter� umo��uje linuxov�mu syst�mu pln� pracovat se s�ovou komunikac�.

 

Proxy firewally

Firewally se stavovou inspekc� paket� jsou v podstat� roz���enou verz� b�n�ho paketov�ho filtru. Zde popisovan� za��zen� jdou je�t� d�le a prov�d�j� anal�zu paket� na aplika�n� vrstv� (ochrana na �rovni aplikac�). Tuto �rove� ochrany implementuje n�kolik r�zn�ch technologi�, kter� se ozna�uj� r�zn�mi n�zvy; ka�d� z nich pracuje trochu jinak, ale jejich c�l je stejn� - pos�lit bezpe�nost s�t�.

Firewally na aplika�n� �rovni zaji��uj� nejbezpe�n�j�� typ datov�ch spojen�, proto�e dok�� v komunika�n�m procesu zkoumat �pln� v�echny vrstvy modelu TCP/IP. Pro zaji�t�n� t�to �rovn� ochrany mus� uveden� firewally neboli proxy (proxy servery) fakticky vstoupit do prob�haj�c� komunikace (do role �prost�edn�ka�, co� je v podstat� �esk� v�znam slova �proxy�) a detailn� kontrolovat ka�d� spojen�. Jestli�e proxy ozna�� dan� spojen� za povolen�, otev�e sm�rem k serveru druh� spojen� od sebe sama, jm�nem p�vodn�ho hostitele, jak vid�me na obr�zku 7.

P�i t�to inspekci je nutn� od��znout datovou ��st ka�d�ho proch�zej�c�ho paketu, zkontrolovat jej, znovu sestavit a odeslat po druh�m spojen�. Uveden� funkce lze zajistit v r�zn�ch typech firewall�:

        Standardn� proxy firewally. B�n� proxy firewall neprov�d� sm�rov�n� paket� a pouze je p�epos�l�; pracuje v aplika�n� vrstv� modelu TCP/IP. Z funk�n�ho hlediska p�ij�m� nad jedn�m s�ov�m rozhran�m pakety, kontroluje je podle definovan� mno�iny pravidel, a pokud se rozhodne pro jejich povolen�, ode�le je p�es jin� rozhran�. Mezi vn�j��m a vnit�n�m po��ta�em nikdy neexistuje p��m� spojen�; z pohledu po��ta�e ve vnit�n� s�ti tak ve�ker� informace zd�nliv� poch�zej� od proxy firewallu.

        Dynamick� proxy firewally. Tento typ proxy firewall� se vyvinul ze standardn�ch proxy firewall�, oproti kter�m je nav�c roz���en o filtrov�n� paket�. Dynamick� proxy firewall tak prov�d� �plnou inspekci paket�; po prvotn�m vytvo�en� spojen� a zejm�na po jeho schv�len� ji� sta�� ostatn� pakety kontrolovat v rychlej��m, i kdy� slab��m mechanismu filtrov�n� paket�. Podtr�eno a se�teno, spojen� se nejprve zkontroluje na aplika�n� vrstv�, a pot� ji� dal�� kontrola prob�h� jen na vrstv� s�ov�.

Tyto proxy firewally tak �vid� ve�ker� informace z aplika�n� vrstvy modelu TCP/IP. To znamen�, �e mohou vyhled�vat p�esn�ji definovan� �daje, ne� jak�koli jin� typy dosud prob�ran�ch technologi�. Dok�� nap��klad rozli�it mezi paketem s e-mailovou zpr�vou a paketem s javov�m appletem �i nebezpe�n�m prvkem ActiveX, jak vid�me na obr�zku 8. Speci�ln�m p��padem je SSL proxy, co� je varianta proxy firewallu zalo�en� na protokolu SSL. S pomoc� tohoto protokolu je umo�n�n u�ivatel�m z vn�j�� s�t� (p�. Internetu) bezpe�n� p��stup do vnit�n� s�t�.

P�i vstupu do proxy serveru podle obr�zku 8 se z paketu odstran� ve�ker� parametry hlavi�ky TCP/IP a samotn� inspekci d�le podl�haj� vlastn� p�en�en� data. Informace zji�t�n� p�i t�to inspekci se pot� p�edlo�� firewallov�m pravidl�m a podle v�sledk� bude pr�chod paketu povolen nebo zam�tnut. Je-li paket shled�n �nez�vadn�m�, tedy povolen�m, ulo�� si proxy firewall informace o dan�m spojen� z hlavi�ky, p�ep�e novou hlavi�ku a upraven� paket ode�le d�le. Zam�tnut� paket se jednodu�e odstran�.

Omezen� mo�nost� proxy

Ka�d� technologie m� sv� omezen� nebo ur�it� svoje nev�hody. Zde jsou n�kter� obecn� omezen� proxy firewall�:

        Pomalej�� �innost. Vzhledem k d�kladn�mu zkoum�n� a pe�liv�mu zpracov�n� paket� jsou proxy firewally velice bezpe�n�, ale z�rove� tak� dosti pomal�. Proto�e se na t�to �rovni zabezpe�en� kontroluj� v podstat� v�echny ��sti v�ech paket�, b�v� �innost proxy firewall� opravdu pomalej�� oproti ostatn�m.

        Nejsou v�dy aktu�ln�. S v�vojem nov�ch protokol� a aplikac� je nutn� odpov�daj�c�m zp�sobem doplnit �i roz���it i proxy servery, kter� mus� dan� provoz ozna�it za p��pustn� �i nikoliv. To znamen�, �e je k nov� aplikaci nutn� tak� vyvinout a otestovat nov� proxy servery. To ov�em n�jak� �as trv� a do t� doby je p��slu�n� bezpe�nostn� za��zen� neaktu�ln�.

Z bezpe�nostn�ho hlediska se za nejbezpe�n�j�� firewall d� pova�ovat standardn� proxy firewall, kter� prov�d� inspekci ve�ker�ho provozu na aplika�n� vrstv�. V n�kter�ch dne�n�ch s�t�ch nen� takov� �e�en� v�dy zrovna praktick� a pat�i�n�. Pro n�vrh spr�vn�ho a dostate�n� siln�ho zabezpe�en� je proto d�le�it� se pe�liv� p�ipravit a sezn�mit se s charakterem s�ov�ho provozu i s po�adovan�m zabezpe�en�m. Firma pro �dr�bu park� a zahrad bude m�t nap��klad jin� pot�eby zabezpe�en� ne� spole�nost, kter� vyv�j� elektronick� komponenty pro arm�dn� zbra�ov� syst�my.

V ka�d� navrhovan� s�ti je nutn� v r�mci vrstven�ho zabezpe�en� provozovat alespo� jeden ze dvou prob�ran�ch typ� firewall� - stavov� nebo proxy firewall. Pokud krom� n�kter� z t�chto technologi� spust�me tak� na hrani�n�m sm�rova�i paketov� filtr a ve firewallov�m za��zen� zapneme p�eklady adres NAT, dostaneme solidn� z�klad vrstven� bezpe�nosti s�t�.

Jeliko� prim�rn�m c�lem diplomov� pr�ce je detailn� popsat princip �innosti proxy firewall�, v�nuji t�to bezpe�nostn� problematice samostatnou kapitolu, kter� podrobn� rozvede v�echny mo�nosti vyu�it� proxy, objasn� jak proxy funguj� a nakonec vyzdvihne p�ednosti tohoto �e�en�.

Omezen� firewall�

Firewall je d�le�itou komponentou zabezpe�en� ka�d� s�t� a jeho �kolem je �e�it probl�my spojen� s integritou dat a s autentizac� s�ov�ho provozu (prost�ednictv�m stavov� inspekce paket�), a d�le zaji��ovat d�v�rnost vnit�n� s�t� (pomoc� p�ekladov�ho mechanismu NAT). Pokud bude s� p�ij�mat ve�ker� provoz jen p�es firewall, dostane se j� plnohodnotn� ochrany. O d�le�itosti firewallu ve strategii zabezpe�en� nelze pochybovat, p�esto je ale d�le�it� si uv�domit, �e i firewall se pot�k� s n�kter�mi omezen�mi:

        Firewall nedok�e zabr�nit u�ivatel�m a �to�n�k�m s modemy v p��m�m p�ihl�en� do vnit�n� s�t� (nebo naopak ze s�t� ven); t�m ov�em tento u�ivatel �pln� obch�z� jak firewall, tak i jeho ochranu.

        Firewally nedok�� uskute��ovat p�ijat� z�sady pr�ce s hesly a nezabr�n� ani v mo�n�m zneu�it� hesel. Stanovit z�sady pro pr�ci s hesly je proto velice d�le�it�, a to v�etn� sankc� za p��padn� poru�ov�n�.

        Naprosto ne��inn� jsou firewally tak� proti netechnick�m bezpe�nostn�m rizik�m, jako je nap��klad zn�m� �soci�ln� in�en�rstv�.

        Ka�d� firewall tvo�� �zk� hrdlo s�ov�ho provozu, proto�e se v n�m ve�ker� komunikace a zabezpe�en� koncentruj� do jedin�ho m�sta; t�m vznik� jedin� kriticky zraniteln� m�sto s�t�.

Porovn�n� jednotliv�ch typ� firewall�

V�sledn� stru�n� srovn�n� jednotliv�ch typ� firewall� z hlediska jejich v�hod a nev�hod. U ka�d� vzpomenut� technologie se kr�tce zm�n�m o vlastnostech a p�ipomenu z�kladn� princip.

Paketov� filtry (Packet filter)

Nejjednodu��� a nejstar�� typ firewallu, kde jsou pakety ��zeny pravidly, kter� uv�d�j�, z jak� adresy a portu na jakou adresu a port m��e b�t doru�en proch�zej�c� paket. Tyto informace jsou z�sk�ny z hlavi�ek paket�. Paketov� filtr pracuje na s�ov� vrstv� ISO/OSI modelu.

Toto �e�en� se vyzna�uje jednoduchost� a transparentnost�, co� se projevuje vysokou rychlost�. Z toho d�vodu je �e�en� hojn� vyu��v�no v m�stech, kde nen� pot�eba d�kladn�j�� anal�za proch�zej�c�ch dat. Dal�� nespornou v�hodou proti aplika�n�m proxy je p�izp�sobivost na libovoln� typ protokolu.

Nev�hodou je n�zk� �rove� kontroly proch�zej�c�ch spojen�. To je zp�sobeno schopnost� sledovat pouze jednotliv� pakety bez mo�nosti hled�n� z�vislost� mezi nimi. Dal�� nev�hody jsou absence autentizace v��i firewallu, relativn� omezen� mo�nosti logov�n�, sledov�n� pouze hlavi�ek paket�, zneu�it� nedokonalosti TCP/IP protokolu a konfigurace filtr�.

Typick�m p�edstavitelem paketov�ch filtr� je ipchains, kter� byl sou��st� j�dra. Od j�dra verze 2.4 je nahrazen n�strojem iptables (frameworkem netfilter).

Stavov� paketov� filtry (Stateful packet inspection)

Stavov� paketov� filtry poskytuj� to sam� jako paketov� filtry a nav�c umo��uj� ukl�d�n� informac� o povolen�ch spojen�ch, kter� lze pou��vat p�i rozhodov�n� o budoucnosti paket�. Doch�z� ke zv��en� bezpe�nosti, proto�e lze nastavit, kter� komunikuj�c� strana m��e otev��t spojen� a firewall bude povolovat i pakety jdouc� z druh� strany jako odpov�di na po�adavky (request <-> response).

Mezi v�hody pat�� stejn� jako u paketov�ch filtr� rychlost zpracov�n� po�adavk� a sou�asn� lep�� mo�nost zabezpe�en�, ne� u paketov�ch filtr�. Dal�� v�hodou je pom�rn� jednoduch� konfigurace minimalizuj�c� �kody zp�soben� nap��klad p�ekr�v�n�m n�kter�ch pravidel a kontrola stavu spojen�.

Nev�hodou je ni��� �rove� zabezpe�en�, ne� poskytuj� aplika�n� br�ny a o n�co n�ro�n�j�� re�ie oproti paketov�m filtr�m (mus� se udr�ovat informace o spojen�ch a kontrolovat souvislosti).

Typick�m p�edstavitelem je iptables v linuxov�m j�d�e.

Stavov� paketov� filtry s kontrolou protokol� a IDS

Modern� stavov� paketov� filtry krom� informac� o stavu spojen� a schopnosti dynamicky otev�rat porty pro r�zn� ��d�c� a datov� spojen� slo�it�j��ch zn�m�ch protokol� implementuj� n�co, co se v marketingov� terminologii r�zn�ch spole�nost� naz�v� nej�ast�ji Deep Inspection nebo Application Intelligence. Znamen� to, �e firewally jsou schopny kontrolovat proch�zej�c� spojen� a� na �rove� korektnosti proch�zej�c�ch dat zn�m�ch protokol� i aplikac�.

Nejnov�ji se do firewall� integruj� tzv. in-line IDS (Intrusion Detection Systems � syst�my pro detekci �tok�). Tyto syst�my pracuj� podobn� jako antiviry a pomoc� datab�ze signatur a heuristick� anal�zy jsou schopny odhalit vzorce �tok� i ve zd�nliv� nesouvisej�c�ch pokusech o spojen�, nap�. skenov�n� adresn�ho rozsahu, rozsahu port�, zn�m� signatury �tok� uvnit� povolen�ch spojen� apod.

V�hodou t�chto syst�m� je vysok� �rove� bezpe�nosti kontroly proch�zej�c�ch protokol� p�i zachov�n� relativn� snadn� konfigurace, vy��� rychlost kontroly ve srovn�n� s aplika�n�mi branami, nicm�n� je zn�t v�znamn� zpomalen� proti stavov�m paketov�m filtr�m.

Nev�hodou je zejm�na to, �e z hlediska bezpe�nosti designu je z�kladn�m pravidlem bezpe�nosti udr�ovat bezpe�nostn� syst�my co nejjednodu��� a nejmen�� (i kdy� aktu�ln�m trendem je opak). Tyto typy firewall� integruj� obrovsk� mno�stv� funkcionality a zvy�uj� tak pravd�podobnost, �e v n�kter� ��sti jejich k�du bude zneu�iteln� chyba, kter� povede ke kompromitaci cel�ho robustn�ho syst�mu.

Podobn� funkce je k dispozici ve form� experiment�ln�ch modul� pro iptables v linuxov�m j�d�e.

Aplika�n� br�ny (Application proxy firewall gateway)

Aplika�n� br�na (proxy firewall, proxy server, aplika�n� proxy) je ochrana na aplika�n� vrstv�. Doch�z� k �pln�mu odd�len� s�t�. Spojen� prob�h� tak, �e klient po�le proxy severu po�adavek na otev�en� spojen� s n�jakou slu�bou v jin� s�ti a aplika�n� br�na toto spojen� otev�e. V�echna data proch�z� v�dy p�es proxy server, kter� rozhodne o jejich osudu. Jin�mi slovy, proxy server slou�� jako prost�edn�k mezi klientem v jedn� s�ti a slu�bou v druh� s�ti. Vedlej��m efektem tohoto zp�sobu komunikace je skryt� zdrojov� adresy klienta, proto�e jako klient v�dy vystupuje aplika�n� br�na.

V�hodou tohoto �e�en� je mo�nost kontroly obsahu p�en�en�ch paket� (nap�. antivirov� kontrola, filtrov�n� nevhodn�ho obsahu, syst�m detekce pr�nik�, apod.), autentizace u�ivatel�, mo�nost cachov�n� dat, skryt� zdrojov� adresy klienta (anonymizace) a �etn� logovac� mo�nosti.

Proti tomuto �e�en� hovo�� p�edev��m vy��� hardwarov� n�roky (v�konov� a pam�ov� n�ro�nost) a netransparentnost (nutn� �prava aplikac�), kdy mus� ka�d� aplikace podporovat p�ipojen� pomoc� proxy a tyto aplikace mus� b�t spr�vn� nastaveny. Pro ka�dou aplikaci mus� b�t zvl�tn� proxy.

Tj. nejsou univerz�ln� jako paketov� filtry - HTTP proxy, FTP proxy, atp.

Pro Linux existuje mnoho proxy server�, jedn�mi z nich jsou nap�. Squid, FWTK nebo SOCKS.

Pro �plnost d�le uv�d�m p�ehled vlastnost� a charakter. atribut� ostatn�ch s�ov�ch technologi�.

Network Address Translation (NAT)

P�eklad s�ov�ch adres slou�� ke zm�n� hlavi�ek paket�, kde jsou p�eps�ny zdrojov� - DNAT (Destination NAT), nebo c�lov� adresy - SNAT (Source NAT). Toto �e�en� lze pou��t, pokud nem�me mnoho IP adres, aby v�echny po��ta�e v s�ti mohly m�t svou vlastn� ve�ejnou IP adresu nebo ke zv��en� zabezpe�en�. Za v�hodu i nev�hodu lze pova�ovat �neviditelnost� po��ta�� z vn�j�� s�t�, co� vede k ji� zm�n�n�mu zv��en� zabezpe�en� a tak� k omezen�, proto�e nelze pou��vat n�kter� slu�by vy�aduj�c� inicializaci spojen� serverem (�e�� Port Forwarding, �esky p�esm�rov�n�/mapov�n� port�). Na p�ekladu adres je zalo�ena aplika�n� br�na.

Analyz�tory paket� (Network Packet Analyzer)

Analyz�tory paket� funguj� podobn� jako aplika�n� br�na, ale jsou pasivn� a transparentn�. Umo��uj� nem�nnou anal�zu paket� a p��padn� reakce na podn�ty. P��kladem m��e b�t IDS bal�k Snort. Mezi v�hody tedy pat�� pasivn� kontrola p�en�en�ch dat s mo�nost� definice reakce na potenci�ln� �tok (nap�. zablokov�n� p��jmu paket� z podez�el� IP adresy). Nev�hodou je n�ro�nost na syst�mov� prost�edky a fakt, �e nejsou univerz�ln�.

 

HW versus SW firewally

Pravd�podobn� by bylo vhodn� uv�st i p�ednosti obecn� fyzick�ch �e�en� firewall�. Hardwarov� firewally maj� v��i softwarov�m firewall�m v�hodu p�edev��m v rychlosti, nez�vislosti na opera�n�m syst�mu, jednoduchosti nasazen� a spr�vy a v m�n� bezpe�nostn�ch �trhlin�ch�. Z�ejmou v�hodou m��e b�t i integrace firewallu s jin�mi za��zen�mi (nap�. sm�rova�i). Dra��� a v�konn�j�� HW firewally mohou rovn� podporovat i extern� moduly p�id�vaj�c� komplement�rn� funkce antivirov� kontroly �i syst�mu detekce pr�niku IDS. Toto zvolen� �e�en� m� ale i sv� nedostatky v podob� vy��� ceny (n�kter� SW firewally jsou poskytov�ny zdarma) a pru�nosti/adaptace konfigurace. Pouze jako pozn�mku dopln�m, �e HW firewally jsou sp�e firemn� z�le�itost� [6].

P�eklad s�ov�ch adres (NAT)

Kdy� se poprv� objevilo adresov�n� protokolu IPv4, zd�lo se, �e je mno�stv� dostupn�ch adres prakticky neomezen� a �e mus� sta�it �na v��n� �asy�. Teoreticky je v tomto adresov�m prostoru k dispozici 232 neboli 4 294 967 296 jedine�n�ch ve�ejn�ch adres; skute�n� po�et dostupn�ch adres se pohybuje n�kde mezi 3,2 a 3,3 miliardami, a to z d�vodu rozd�len� adresov�ho prostoru do t��d (A, B, C) a vyhrazen� ur�it�ch adres pro v�cesm�rn� vys�l�n�, testov�n� a dal�� speci�ln� ��ely (t��da D). Uveden� d�len� nadefinovalo sdru�en� IETF (Internet Engineering Task Force), ale pozd�ji se od n�j upustilo, proto�e nebylo p��li� hospod�rn�. Efektivn�m se uk�zalo b�t tzv. pods�ov�n� (�len�n� na subs�t�), kdy se n�kolik prvn�ch bit� p�vodn� ur�en�ch k adresaci stanice pou�ije na definici pods�t�, zb�vaj�c� bity pak adresuj� stanice v t�to pods�ti. Subs� je definov�na adresou t��dy a s�. Maskou.

Vzhledem k obrovsk�mu rozmachu s�t� Internet a neust�le rostouc� pot�eb� p�id�lov�n� IP adres v dom�c�ch s�t�ch a v mal�ch firm�ch je z�ejm�, �e po�et dostupn�ch adres IPv4 zkr�tka nem��e sta�it. Jednoduchou �vahou dojdeme k �e�en�, kter�m je zm�na sch�matu adresov�n� a roz���en� adresov�ho prostoru. Toto nov� adresov�n� je skute�n� ve v�voji a nasazen�, a to pod ozna�en�m IPv6, ale jeho implementace potrv� je�t� �adu let, proto�e je u n� nutn� zm�nit �innost infrastruktury cel�ho Internetu. Proces p�echodu z dosavadn� verze IPv4 na novou verzi IPv6 je proto velmi pomal� a nejsp�e bude i nad�le postupovat zdlouhav�m tempem, proto�e �ivot dosavadn�ch adres IPv4 d�le prodlu�uje p�ekladov� mechanismus NAT.

Pomoc� p�eklad� s�ov�ch adres NAT mohou organizace vy�e�it nedostatek ve�ejn�ch IP adres ve sv� s�ti, p�ipojen� do Internetu. S�t�, kter� dosud nemaj� ve�ejn� IP adresy, registrovan� u centra NIC, si je mus� vy��dat od sdru�en� IANA (Internet Assigned Numbers Authority) a registru ARIN (American Registry for Internet Numbers), co� znamen� zdlouhav� ��edn� postup. Mnoh� pracovi�t� dokonce t�mito nep��jemn�mi ��edn�mi procedurami neprojdou; pro v�t�inu s�t� je tud� �e�en�m pr�v� NAT.

P�i zapojen� p�eklad� NAT m��e firma pou��vat ve�ejn� IP adresy na vn�j�� stran� s�t� (tedy u za��zen�, p��mo p�ipojen�ch k ve�ejn�mu Internetu). Jak jsem ale nazna�il, t�ko bude m�t stejn� firma dostatek ve�ejn�ch IP adres, aby je p�i�adila ka�d�mu serveru, osobn�mu po��ta�i, s�ov� tisk�rn�, sm�rova�i, bezdr�tov�mu za��zen�, atd. V�echna uveden� za��zen� pot�ebuj� ale pro komunikaci v protokolu TCP/IP n�jakou IP adresu, a proto budeme ve vnit�n� s�ti p�i�azovat priv�tn� IP adresy. D�ky tomu mohou v�echna za��zen� vnit�n� s�t� komunikovat v protokolu TCP/IP � a to je tak� na��m c�lem. Sm�rem do ve�ejn�ho Internetu, se ji� ale priv�tn� adresy dostat nesm�, a proto mus�me uv�st do provozu mechanismus NAT.

P�eklady s�ov�ch adres NAT (Network Address Translation) zav�d�me a provozujeme na vhodn�m za��zen� (firewallu, sm�rova�i nebo po��ta�i), um�st�n�m mezi vnit�n� s�t� s priv�tn�mi IP adresami a vn�j��m Internetem s ve�ejn�mi IP adresami. Zm�n�n� za��zen� pak prov�d� takzvan� p�evody neboli p�eklady adres z priv�tn�ch na ve�ejn�. Jedna jeho strana b�v� p�ipojena k vnit�n� s�ti, druh� pak k Internetu nebo jin� vn�j�� s�ti. Um�st�n� mechanismu NAT v r�mci vrstven� obrany dokresluje obr�zek 10.

Mechanismus p�eklad� adres NAT znamen� tak� dal�� �rove� zabezpe�en� s�t�. Samotn� NAT m� n�kolik r�zn�ch podob a m��e pracovat ve t�ech z�kladn�ch re�imech �innost�:

        Statick� NAT � definuje jednozna�n� mapov�n� neboli zobrazen� priv�tn�ch IP adres na ve�ejn� (tedy jedna k jedn�). To je u�ite�n� zejm�na u za��zen�, kter� mus� b�t dostupn� z ve�ejn�ho Internetu (z vn�j�� s�t�). Pokud m� nap��klad webov� server takovouto vnit�n� IP adresu (10.0.0.1) a m� b�t dostupn� z Internetu (je to ve�ejn� webov� server), mus�me definovat statick� p�eklad NAT, kter� zajist� trval� a jednozna�n� p�evod u�ivatelsk�ch po�adavk� s ve�ejnou adresou webov�ho serveru na jeho vnit�n� adresu 10.0.0.1. Pr�v� pro za��zen� dostupn� z vn�j�� s�t�, jako jsou webov� servery apod., jsou statick� p�eklady NAT velice b�n�.

        Dynamick� NAT � tento re�im zaji��uje mapov�n� priv�tn�ch IP adres na ve�ejnou IP adresu, vybranou ze skupiny registrovan�ch adres. I p�i tomto typu p�eklad� NAT je mezi priv�tn�mi a ve�ejn�mi IP adresami jednozna�n� zobrazen� (jedna k jedn�); m�-li nap��klad n� osobn� po��ta� priv�tn� adresu 10.0.0.2 a koleg�v po��ta� 10.0.0.3, dostaneme p�i komunikaci s ve�ejn�m Internetem p�id�leny od firewallu dv� r�zn� ve�ejn� IP adresy (ty mohou b�t ov�em p�i ka�d� komunikaci jin�). Dynamick� NAT je bezesporu u�ite�n�, ale na n�kter� stanice je kr�tk�; m��e se nap��klad st�t, �e ji� firewall v�echny ve�ejn� IP adresy vy�erpal a na�i komunikaci tak zam�tne. To m��e b�t v ur�it�ch situac�ch v�n� probl�m, proto byl vyvinut takzvan� p�et�en� NAT.

        P�et�en� NAT � jedn� se o speci�ln� typ dynamick�ho NAT, kter� p�ev�d� v�t�� skupinu priv�tn�ch IP adres na jedinou ve�ejnou IP adresu, p�i�em� je rozli�uje pomoc� r�zn�ch port� TCP. Uveden� mechanismus se ozna�uje tak� jako p�eklady port� PAT (Port Address Translation), p��padn� jednoadresov� NAT. N�zev ale nen� tak podstatn� jako mechanismus �innosti: pro jedinou IP adresu je toti� k dispozici v�ce ne� 64 000 port� (celkem 65 535) TCP, a proto PAT umo��uje efektivn� p��stup k Internetu velk�mu mno�stv� u�ivatel� s priv�tn�mi IP adresami. Tento posledn� typ p�ekladu NAT se pou��v� nej�ast�ji, proto�e dok�e najednou obslou�it nejv�t�� mno�stv� u�ivatel�.

Zv��en� bezpe�nosti s�t�

V�voj p�ekladov�ho mechanismu NAT byl veden p�edev��m snahou o vy�e�en� probl�mu s nedostatkem ve�ejn�ch adres protokolu IPv4. NAT poskytuje ale dal�� vrstvu zabezpe�en� a ochrany s�t�. Obecn� se toti� d� ��ci, �e NAT �to�n�kovi velmi v�razn� zt�uje:

        Mapov�n� topologie c�lov� s�t� a zji��ov�n� informac� o konektivit�

        Zji�t�n� po�tu provozovan�ch syst�m� v s�ti

        Zji�t�n� typu provozovan�ch po��ta�� a jejich opera�n�ch syst�m�

        Veden� r�zn�ch �tok� s odep�en�m slu�eb (DoS), jako jsou nap��klad z�plavy synchroniza�n�ch paket� SYN, prohled�v�n� port� a vn�en� paket� (injekce)

Za��zen� uvnit� s�t� LAN nejsou d�ky technologii p�ekladu adres NAT adresovateln� z Internetu, co� takt� posiluje bezpe�nost (�to�n�k nezn� strukturu s�t� a nem��e se spojit p��mo s konkr�tn�m po��ta�em, l�pe �e�eno za��zen�m v s�ti, v�dy se dostane �pouze� na hrani�n� sm�rova� nebo po��ta� prov�d�j�c� slu�bu p�ekladu adres). NAT ov�em firewall nenahrazuje a existuj� zp�soby, jak po��ta�e za NATem napadnout.

P�eklad adres a OS Linux

Zde je uvedena p��kladov� situace. U�ivatel vnit�n� lok�ln� s�t� s IP 192.168.1.100 m� p��stup k Internetu a po�aduje po internetov�m prohl�e�i webovou str�nku http://www.google.cz. Internetov� prohl�e� nav�e TCP spojen� pomoc� HTTP protokolu s webov�m serverem (na portu 80) a vr�t� zp�t u�ivateli po�adovan� dokument, www str�nku, soubor apod. Mezit�m se ud�lo (z pohledu p�ekladu s�ov�ch adres) n�kolik skute�nost� zachycen�ch na obr�zku 11.

Situace, kter� je symbolizov�na tabulkou s po�adov�m ��slem (1), zachycuje po�adavek klienta v s�ti LAN na webov� vyhled�vac� port�l s dom�nov�m n�zvem www.google.cz. S po�adov�m ��slem (2) n�sleduje p�epis zdrojov� IP adresy (+ portu) SNAT tohoto po�adavku, d�le ve (3) kroku p��choz� odpov�� od serveru na po�adavek klienta, a ve (4) fin�ln� f�zi p�epis c�lov� IP adresy (+ portu) DNAT.

SNAT v POSTROUTING � m�n� se zdrojov� adresy a zdrojov� porty.

DNAT v PREROUTING � m�n� se c�lov� adresy a c�lov� porty.

Vyu�it� je z�ejm�: p�ipojen� s�t� LAN k Internetu pomoc� jedn� ve�ejn� IP adresy.

Pozn. Ne v�echny pakety pro�l� PRE/POSTROUTING projdou, mus� m�t pravidlo v �et�zci FORWARD!

Omezen� mechanismu NAT

Je z�ejm�, �e p��chod technologie NAT do sv�ta po��ta�ov�ch s�t� a Internetu znamenal alespo� ��ste�n� vy�e�en� probl�m� s nedostatkem IP adres. Mnoz� lid� se tud� ptaj�, jestli s�t� v�bec n�kdy p�ejdou na novou verzi protokolu IPv6, kdy� p�eklady NAT tak v�born� funguj�. Ot�zkou ov�em fakticky nen� zdali, ale kdy. Asijsk� region dnes nap��klad v implementaci protokolu IPv6 jasn� vede a mnoh� s�t� jej ji� skute�n� pou��vaj�.

S ohledem na st�le rostouc� konektivitu a konvergenci s�t� budou pot�eba st�le dal�� a dal�� IP adresy. Nakonec se tedy budeme muset k protokolu IPv6 uch�lit. Mechanismus NAT tyto nevyhnuteln� zm�ny pouze odd�lil. NAT m� svoje nepopirateln� v�hody, ale na druh� stran� m� tak� jist� omezen�:

        Probl�my s protokolem UDP � p�ekladov� mechanismus NAT sleduje a kontroluje stav spojen�. V protokolu UDP ov�em nelze stav spojen� nijak ur�it (protokol UDP je nespojovan� � spojen� se v n�m v�bec nevytv��ej�). NAT nedok�e tud� ��dn�m zp�sobem ur�it, jestli ur�it� paket spad� do n�jak� prob�haj�c� konverzace, nebo jestli tvo�� izolovan� p�enos dat. Za��zen� s p�eklady NAT tak mus� odhadovat, jak dlouho m��e konverzace UDP trvat a jak dlouho ji tedy po posledn�m paketu ponechat otev�enou; hovo��me o tzv. dob� ne�innosti. Nap��klad ve firewallech od firmy Cisco je mo�n� nastaven�m doby ne�innosti tyto p��pady omezit.

        Citliv� protokoly � n�kter� protokoly skr�vaj�, pozm��uj� nebo jinak zasti�uj� atributy paket�, kter� NAT pot�ebuje ke spr�vn�mu p�ekladu adres. P��kladem jsou protokoly Kerberos, X Window, vzd�len� shell (rsh) nebo protokol SIP (Session Initiation Protocol), kter� mohou m�t p�i pr�chodu za��zen�m s NAT jist� probl�my. P���ina probl�m� se skr�v� v aplikac�ch, je� vkl�daj� IP adresu do paket�. Firewally Cisco maj� pro r�zn� protokoly opravn� funkce (fixup), nap��klad Skinny pro telefonii (SCCP).

        Vz�jemn� vlivy syst�m� �ifrov�n� a autentizace � mnoh� syst�my �ifrov�n� dat se pokou�ej� zajistit integritu paket� a kontroluj� tak jejich neporu�enost p�i p�enosu. P�ekladov� mechanismus NAT ale z principu pakety pozm��uje, a proto �ifrovac� a autentiza�n� technologie s n�m �asto nedok�� spolupracovat.

        Komplikovan� z�znam do syst�mov�ch protokol� � pokud za��zen� odes�l� p�es p�ekladov� za��zen� ur�it� informace do syst�mov�ch protokol�, mus� c�lov� za��zen� zn�t p�eklady prov�d�n� mechanismem NAT. Dosa�en� souladu syst�mov�ch protokol� s p�eklady NAT pak m��e b�t velice slo�it� a �asto se t�ko zaji��uje, kter� z intern�ch syst�m� vlastn� dan� ud�losti zaznamenal.

Z�v�rem ale poznamenejme, �e p�ekladov� mechanismus NAT je skute�n� velmi u�ite�n� � cel� firemn� s�ti nab�z� p��stup k Internetu a z�rove� tvo�� dal�� �rove� zabezpe�en�. Technika NAT umo��uje komunikaci za��zen� v priv�tn� s�ti se za��zen�mi jin�ch s�t�, sd�let jednu ve�ejnou IP adresu v�ce za��zen�mi priv�tn� s�t�, vyrovn�vat zat�en� server� poskytuj�c�ch stejnou slu�bu, v p��pad� v�padku zajistit adekv�tn� n�hradu serveru z�lo�n�m serverem a hlavn� (z hlediska bezpe�nosti) skr�t p�ed vn�j��m �to�n�kem strukturu vnit�n� s�t�. T�mto disponuj� i proxy servery, prob�ran� v dal�� kapitole, je� pracuj� na nejvy��� aplika�n� vrstv�. Dok�� nav�c zabr�nit prozrazen� n�kter�ch d�le�it�ch informac� o hostitelsk� stanici, jako nap�. typ OS, www prohl�e�, intern� IP adresa a dal��. Vzd�len� server se tak o klientu dozv� minimum informac� (je odk�z�n pouze na informace zp��stupn�n� proxy serverem), co� umo��uje ur�it� (pokro�ilej��) stupe� anonymizace.

Proxy servery

Jak proxy servery funguj�

P��m� komunikace mezi klientem a WWW serverem pomoc� HTTP protokolu je nejb�n�j�� zp�sob z�sk�v�n� informac� z WWW. V n�kter�ch p��padech je v�ak tato forma komunikace zprost�edkov�na pomoc� prost�edn�ka � proxy serveru. Proxy server je zpravidla program (b��c� na serveru organizace), kter� pracuje sou�asn� jako klient i server, schematick� zn�zorn�n� funkce je mo�n� nal�zt na obr�zku 12. V obr�zku je z�m�rn� opomenuto DNS zji��ov�n� IP adresy hostitele, kter� prob�h� jak na stran� klienta (hled�n� IP proxy serveru), tak na stran� proxy serveru (hled�n� c�lov� IP webov�ho serveru).

Podstatnou vlastnost� je, �e proxy server t�m, �e vystupuje za klienta, poskytuje anonymitu u�ivatele vzhledem k www serveru.

Jak ji� bylo nast�n�no, proxy server je server po��ta�ov� s�t�, kter� umo��uje klient�m nep��m� p�ipojen� k jin�mu serveru. Proxy server funguje jako prost�edn�k/zprost�edkovatel mezi klientem a c�lov�m serverem, p�ekl�d� klientsk� po�adavky a v��i c�lov�mu serveru vystupuje jako klient. P�ijat� po�adavek n�sledn� odes�l� zp�t na klienta. M��e se jednat jak o specializovan� hardware, tak o software b��c� nap��klad na po��ta�i klienta.

Aplika�n� proxy server je server speci�ln� ur�en� pro ur�it� protokol resp. aplikaci. Za pomoc� n�j lze analyzovat obsah komunikace, p��padn� ji pozm��ovat (nap�. odstra�ov�n� reklamn�ch banner� z HTTP po�adavk�, blokov�n� webov�ch str�nek podle obsahu, z�kaz p��stupu na nepovolen� webov� servery apod.).

Stru�n� popis jednotliv�ch krok�:

(1) U�ivatel chce zobrazit ur�itou str�nku na internetu, nap�.: http://www.server.cz/stranka.htm, co� se p�ed� ni���m vrstv�m k p�enosu. Stru�n� popis jednotliv�ch krok� [18]:

(2) Ni��� vrstvy nav�ou spojen� se serverovou ��st� proxy serveru a p�edaj� po�adavek prohl�e�e (HTTP metoda GET).

(3) Proxy server rozum� struktu�e HTTP protokolu a proto je schopen detailn� vyhodnotit po�adavek. Na z�klad� vlastn� logiky m��e proxy tento po�adavek p�epsat a de facto tak nap�. zm�nit c�lov� server, z kter�ho se bude str�nka z�sk�vat. D�le m��e ov��ovat, zda je v�bec u�ivatel opr�vn�n takov� po�adavek prov�st. Dal�� netrivi�ln� �innost�, kterou m��e proxy prov�d�t, je ukl�d�n� odpov�d� do sv� cache pam�ti a p�i opakov�n� dotazu na stejnou str�nku tak zajistit rychlej�� odezvu. Tato �innost v�ak m�rn� ztr�c� v�znam v souvislosti s rozvojem dynamicky generovan�ch str�nek. Komplexn�j�� proxy dok�e na z�klad� spolupr�ce s firewallem p��padn� antivirov�m programem ��inn� filtrovat provoz a chr�nit tak u�ivatele. Pokud proxy nenajde ve sv� pam�ti po�adovanou str�nku a u�ivatel je opr�vn�n, p�ed� se po�adavek klientsk� ��sti proxy.

(4) Klientsk� ��st zajist� nav�z�n� spojen� s www serverem a p�ed�n� metody (GET /stranka.htm).

(5) WWW server p�ijme po�adavek a vyhodnot� ho.

(6) V�sledkem je odpov�� WWW serveru, zpravidla po�adovan� str�nka.

(7) Na z�klad� ni���ch vrstev je odpov�� p�ed�na zdroji metody GET, co� je v tomto p��pad� klientsk� ��st proxy serveru.

(8) Stejn� operace jako v bod� 3), jen zp�tn�. Nap�. p�eps�n� odpov�di do formy v jak� ji o�ek�v� u�ivatel, p��padn� z�pis str�nky do cache pam�ti.

(9) Odpov�� se pomoc� ni���ch vrstev p�ed� u�ivateli (p�vodn� tazatel).

(10) Prohl�e� odpov�� zpracuje a str�nku zobraz�.

Jak je patrn� z p�edch�zej�c�ho textu, proxy rozum� aplika�n�mu protokolu (HTTP) a je schopno samo navazovat spojen�, co� jsou nejmarkantn�j�� rozd�ly nap�. od techniky p�ekladu s�ov�ch adres (NAT). Um�st�n� proxy serveru v r�mci s�t� nen� pevn� d�no. Nej�ast�j��m pou�it�m je odd�len� vnit�n� s�t� a Internetu, tak�e proxy server je um�st�n na pomez� t�chto dvou oblast� (viz obr�zek 13). K proxy serveru se v�ak lze p�ipojovat i za hranice vnit�n� s�t� (do Internetu). V takov�m p��pad� se jedn� o ve�ejn� (public) proxy servery, kter�ch existuje velk� mno�stv�, av�ak jejich d�v�ryhodnost je �asto pochybn�, proto�e do souhrnu (ne)��douc�ch �innost�, kter� prov�d�, nem�me mo�nost nahl�dnout.

 

V textu je pojedn�no pouze o variant� proxy pracuj�c� s HTTP protokolem (nej�ast�j��), proxy server v�ak zpravidla podporuje i dal�� typy, jako nap�. FTP protokol atp

Odd�len� s�t� � bezpe�nost

V lok�ln�ch s�t�ch se �asto pou��vaj� priv�tn� adresy (nap�. 10.0.0.0/8, 192.168.0.0/16), tak�e po��ta�e nemohou komunikovat (resp. p�istupovat) p��mo do Internetu. Pou��v� se bu� technika p�ekladu adres na firewallu (NAT), nebo �e�en� pomoc� proxy serveru. Klient pou��v� proxy server na sv� vlastn� priv�tn� s�ti (m� priv�tn� IP adresu) a ten komunikuje (nej�ast�ji pomoc� jin�ho s�ov�ho p�ipojen�) s Internetem (tedy vn�j�� s�t�). Nutno poznamenat, �e pro n�kter� s�t� je pou�it� p��stupu pomoc� proxy serveru jedinou mo�nost� p��stupu na Internet.

V�hodou pou�it� proxy serveru z hlediska bezpe�nosti je:

        Mo�no ho pou��t pro p��stup k (ur�it�m slu�b�m) Internetu i v p��pad�, �e klienti pou��vaj� priv�tn� adresy (net�eba pou��t NAT).

        Mo�no ho pou��t jen pro p��stup k t�m slu�b�m, kter� podporuje proxy server.

        Klient se p�ipojuje na (lok�ln�) proxy server a ne p��mo na vzd�len� server � nekomunikuje p��mo s vn�j�� s�t�, ��m� se dosahuje vy��� bezpe�nosti, nebo� je nemo�n� zneu��t prob�haj�c� spojen� na �tok sm��uj�c� ze serveru na klienta.

Existuj� nejm�n� tyto t�i zm�n�n� d�vody, pro� nasadit proxy server v praxi. P�irozen�, �e�en� m� i sv� nev�hody �i nedostatky:

        Mo�no ho pou��t jen na p��stup k t�m s�ov�m slu�b�m, kter� podporuje samotn� proxy server (toto je v�hoda i nev�hoda z�rove�, z�le�� na �hlu pohledu).

        V p��pad� pou�it� aplika�n�ho proxy serveru, zpracov�n� aplika�n� vrstvy modelu OSI (b�n� s�ov� protokoly zalo�en� na TCP) zan�� do komunikace jist� zpo�d�n� � proxy server mus� analyzovat nejvy��� vrstvu modelu OSI.

Obecn� doporu�en�:

V p��pad� u�it� proxy serveru, vzd�len� server nekomunikuje p��mo s klientem, tak�e nem��e proti n�mu podniknout �tok, m��e v�ak zneu��t spojen� se samotn�m proxy serverem. Tento proxy server je t�eba proto co nejl�pe zabezpe�it (pomoc� firewallu):

        Proxy server nepot�ebuje p�ij�mat spojen� z vn�j�� s�t�, pouze odpov�di na u� vytvo�en� spojen� (stavov� filtr v IPTABLES: ESTABLISHED).

        Proxy server se nepot�ebuje p�ipojovat do vnit�n� s�t�, pos�l� pouze odpov�di na u� vytvo�en� spojen� (stavov� filtr v IPTABLES: ESTABLISHED).

        Proxy server by m�l �poslouchat� jen na portech, kter� jsou nevyhnuteln� pro spr�vn� provoz dan� slu�by (slu�eb).

        Proxy server by v ide�ln�m p��pad� nem�l poskytovat ��dn� jin� slu�by (WWW, FTP, MAIL, aj.); d�vod� existuje n�kolik, mezi hlavn� pat�� bezpe�nostn� hledisko (mo�n� zneu�it� poskytovan�ch slu�eb a n�sledn� z�sk�n� vy���ch pr�v - root) a rozprost�en� z�t�e mezi v�ce server� (p�i�em� ka�d� server pln� svou funkci => p�i p�du jednoho st�le funguj� ostatn�).

��zen� p��stupu

Jestli�e zabezpe��me, �e v�echny klientsk� po��ta�e v s�ti budou pou��vat proxy server, stane se jedin�m ��zk�m hrdlem� komunikace mezi klientem a serverem. Vznikne tak m�sto v s�ti, kde je mo�n� pomoc� stanoven�ch pravidel regulovat p��stup k Internetu.

V�hody pou�it� proxy serveru:

        Mo�nost nasazen� a vynucov�n� bezpe�nostn� politiky z hlediska p��stupu k Internetu � nap�. k ur�it�m nevhodn�m �i nebezpe�n�m webov�m str�nk�m.

        Jednoduch� nastaven� bez nutnosti konfigurovat politiky na v�ech klientech.

Nev�hody pou�it� proxy serveru:

        V�kon proxy serveru m� vliv na rychlost a efektivitu p�enosu (�as odezvy na po�adavek)

        Vznik� rizikov� m�sto v s�ti (�single point of failure�), v p��pad� v�padku proxy serveru je nemo�n� se dostat na Internet (�i obecn� do vn�j��/WAN s�t�). Toto lze �e�it pomoc� v�cen�sobn�ho mno�stv� proxy server� v clusteru, ale jen v p��pad�, �e je mo�n� si to dovolit.

Druhy proxy server�

Jak u� jsem v p�ede�l�m poznamenal, proxy je s�ov� br�na, obecn� nejen pro HTTP protokol. V�t�inou umo��uje cachov�n� dat, kontrolu p��stupu, filtrov�n� obsahu a n�kter� dal�� slu�by.

V z�sad� rozli�ujeme dva druhy proxy server�:

1.      Aplika�n� proxy servery � jsou navrhnut� jen pro vybran� s�ov� slu�by, jako nap�. HTTP, HTTPS, FTP, apod. V�hodou je, �e nastavov�n� a konfigurace klienta nejsou slo�it�, sta�� uv�st adresu proxy serveru a jeho port. V z�sad� rozli�ujeme dva druhy proxy server�:

2.      SOCKS proxy servery � funguj� pro libovoln� slu�by za p�edpokladu, �e aplikace podporuje tento typ proxy serveru (mus� b�t speci�ln� upraven�).

Dal�� eventu�ln� rozd�len� je takt� na forward proxy a reverse proxy. Z�le��, zda jde o caching �i balancing � um�st�n� p�ed klientem nebo serverem.

Forward (dop�edn�) proxy � klasick� s�ov� br�na s mo�nost� cachov�n�, um�st�na bl�e ke klientovi. Typick� je speci�ln� konfigurace klienta (nemus� b�t v�dy pravda).

Vlastnosti: urychlen� s�ov�ho provozu, sn�en� datov�ho toku, bezpe�nost (lze doplnit o antivir aj.).

Podrobn�j�� roz�len�n� dop�edn� proxy m��e b�t na klasickou proxy a transparentn� proxy.

Reverse (zp�tn�) proxy � je transparentn� z pohledu klienta, um�st�na p�ed serverem. V�hodou je mo�nost balancingu (rozlo�en� po�adavk� na v�ce stroj�). Klient nevy�aduje speci�ln� konfiguraci.

Vlastnosti: urychlen� s�ov�ho provozu (n�kter� po�adavky lze vy��dit z cache pam�ti, eliminace prodlevy ve spojen� mezi klientem a serverem, mezi klientem a proxy m��e prob�hat SSL spojen�, vlastn� server se tak m��e v�novat vy�izov�n� skute�n�ch po�adavk�), rozlo�en� z�t�e na v�ce server�, zv��en� bezpe�nost (klienti se p�ipojuj� k proxy, ne k samotn�mu serveru).

Reverzn� proxy server n�kdy tak� slou�� k �ifrov�n�/de�ifrov�n� spojen�. Nedoch�z� t�m k degradaci pot�ebn�ho v�po�etn�ho v�konu server�. Zaji�t�no je �ifrov�n� sm�rem ke klientovi, spojen� mezi serverem a proxy �ifrovan� nen�, ale tato oblast se pova�uje za bezpe�nou (sou��st nap�. DMZ).

Klasick� proxy

Klasick� proxy se pou��v� zejm�na pro protokoly Telnet, FTP, HTTP a HTTPS. Nap��klad p�i pou�it� Telnetu se u�ivatel nejd��ve p�ipoj� na proxy, kde zad� p��kaz connect, ve kter�m ur�� n�zev nebo IP adresu skute�n�ho serveru. Klientsk� ��st proxy nav�e spojen� s c�lov�m serverem a za�ne p�ed�vat mezi klientem a t�mto serverem data. Klientovi se pak jev�, jako by mezi n�m a c�lov�m serverem ��dn� proxy nebyla.

Generick� proxy

N�kte�� klienti nemohou nebo necht�j� v�st �vodn� dialog s proxy, aby j� sd�lili c�lov� server. Generick� proxy je program, kter� m��e spou�t�t a konfigurovat spr�vce s�t� podle moment�ln�ch po�adavk�. Dok�e pracovat s TCP i UDP.

Serverov� ��st proxy je spu�t�n� na konkr�tn�m portu, kter� ur�il spr�vce, a je p�ipravena p�ij�mat po�adavky od klient� ve vnit�n� s�ti. Klientsk� ��st proxy je pevn� nastavena na jeden c�lov� server.

Jedna spu�t�n� generick� proxy dok�e obslou�it jeden c�lov� server. Nar�z j�ch pochopiteln� m��e b�t spu�t�n�ch v�ce. Generick� proxy se pou��vaj� hlavn� pro protokoly POP3, IMAP4, SSH, LDAP, SMTP a NNTP.

Transparentn� proxy

Klient nav�e spojen� s transparentn� proxy a m� pocit, �e nav�zal spojen� se skute�n�m serverem. Klientsk� ��st transparentn� proxy hned navazuje spojen� s c�lov�m serverem. Transparentn� proxy nemus� v�st s klientem ��dn� dialog.

P�edpoklady pro pr�ci transparentn� proxy jsou:

        Klient ve vnit�n� s�ti m� mo�nost p�elo�it jm�no c�lov�ho serveru nebo po��ta�e v Internetu na IP adresu. C�lov� adresa IP datagramu je adresa c�lov�ho serveru.

        IP datagram odeslan� do Internetu mus� proj�t p�es transparentn� proxy.

        IP datagramy jednoho spojen� mus� proch�zet p�es jednu transparentn� proxy. M��e existovat v�ce transparentn�ch proxy najednou.

Pou��v� se p�edev��m pro protokoly HTTP, HTTPS, FTP, NNTP, IMAP, POP3 a Telnet.

Reverzn� proxy

Reverzn� proxy vyu��vaj� jinou technologii proxy server�. M��eme je vyu��t vn� firewallu, kde reprezentuj� bezpe�n� obsahov� server ur�en� pro vn�j�� klienty a zabra�uj� p��m�mu, nesledovan�mu p��stupu k dat�m na vnit�n�ch serverech z vn�j�� s�t�. Reverzn� proxy tak� urychluj� �innost s�t�, proto�e p�ed siln� vyt�en� server m��eme um�stit i n�kolik proxy server� a z�t� mezi nimi vyrovn�vat. Dop�ednou a reverzn� aplikaci m��e zaji��ovat stejn� proxy server.

Je patrn�, �e slo�it� obvod s�t� s r�zn�mi proxy servery, tunely a paketov�mi filtry, kter� pracuj� v obou sm�rech, se m��e velmi rychle zkomplikovat a znep�ehlednit. V diagramech propojen� s�t� je proto vhodn� zav�st si jednoduchou konvenci a ka�d� z typ� server� ozna�it nap�. n�sledovn�:

        C Client (Klient) � syst�m, kter� vy�aduje ur�itou slu�bu

        S Server � syst�m s po�adovanou internetovou slu�bou

        L Listener (Poslucha�) � vnit�n� strana proxy serveru, kter� o�ek�v� spojen� od klient�

        I Inici�tor � vn�j�� strana proxy serveru, kter� navazuje spojen� s vlastn�m serverem

SOCKS

SOCKS je souprava proxy n�stroj�, kter� umo��uje zprost�edkovanou proxy komunikaci aplikac� bez nutnosti vytv��en� zvl�tn�ch proxy modul�. Hostitel na jedn� stran� serveru SOCKS m��e p�istupovat k hostitel�m na druh� stran� serveru bez pot�eby p��m� konektivity IP. Server SOCKS p�esm�ruje spojen� i po�adavky slu�eb mezi hostiteli; zaji��uje p�itom autentizaci a autorizaci po�adavk�, zav�d� zprost�edkovan� proxy spojen� a p�epos�l� data mezi ob�ma propojen�mi hostiteli.

Program SOCKS m� dva samostatn� konfigura�n� soubory. Prvn� definuje povolen� typy p��stupu a druh� sm�ruje po�adavky slu�eb na odpov�daj�c� proxy server. D�le je zde mo�n� identifikovat IP adresy a u�ivatele pro filtrov�n�.

Aplikace, kter� maj� s proxy serverem SOCKS spolupracovat, mus� b�t zvl᚝ upraven�. Pro ka�dou z podporovan�ch slu�eb jsou pot�eba hned dv� aplikace � nap��klad dva r�zn� programy Telnet, z nich� jeden zaji��uje p��mou komunikaci a druh� komunikaci p�es proxy server SOCKS. Instrukce pro nezbytn� �pravy najdeme p��mo u serveru SOCKS. Ur�it� �pravy jsou pot�ebn� v ka�d� aplikaci; klientsk� software pak komunikuje p�es server SOCKS. Cel� SOCKS se skl�d� ze dvou sou��st�, a sice ze serveru SOCKS a klienta SOCKS. Server SOCKS je implementov�n na aplika�n� �rovni, zat�mco klient SOCKS pracuje mezi aplika�n� a transportn� vrstvou.

Cache pro obsah (WWW)

N�kter� typy aplika�n�ch proxy server� (nap�. HTTP proxy) mohou disponovat cache pam�t�, ve kter� se ur�it� �as uchov�vaj� odpov�di vzd�len�ch server� a obsah t�to pam�ti je k dispozici pro dal�� po�adavky. Jestli�e proxy server najde po�adovanou odpov�� v cache pam�ti, m��e odpov�d�t klientovi rychleji, ne� kdyby musel odpov�� znovu z�skat. To je v�hodn� zejm�na v p��pad�, �e p�ipojen� na Internet nen� velmi rychl�, zat�mco p�enosov� rychlost lok�ln�ch s�t� dnes b�n� dosahuje 100 Mbit/s i v�ce.

Mohlo by se zd�t, �e hlavn� v�hodou je tedy krat�� �as odezvy na po�adavky klienta, co� je i pravda, ale pouze v p��pad�, �e se hledan� odpov�� nach�z� v cache pam�ti proxy serveru. Jej� velikost je toti� v�dy omezen� (krom� fyzick� pam�ti se pou��v� i pevn� disk). Aby se do cache mohly ukl�dat st�le nov� �daje, mus� se z n� n�co odstranit. Na to existuje n�kolik algoritm�, nap�. odstran� se nejm�n� pou��van� �daje. Nejrychlej�� odezvy na klientsk� po�adavek lze dos�hnout pomoc� proxy serveru tehdy, jestli�e bude v p��pad� HTTP proxy p�istupov�no na nej�ast�ji vyu��van� str�nky.

V�hoda pou�it� proxy serveru je tedy, krom� ji� zm�n�n� bezpe�nosti, zmen�en� �asu odezvy (subjektivn� �rychlej�� na��t�n�) pro nej�ast�j�� po�adavky nach�zej�c� se v cache pam�ti. Nev�hody lze zm�nit dv�. Prvn� spo��v� v omezen� velikosti cache pam�ti a druh� v limitu na minim�ln� a maxim�ln� velikost cachovan�ho objektu. M��e se st�t, �e str�nky, kter� je pot�eba uchov�vat v pam�ti, nevyhov� zm�n�n�m limitn�m po�adavk�m, a bude tedy nutnost� je v�dy z�skat z webov�ho serveru. Pro lep�� p�edstavu, jak funguje cachuj�c� proxy server pro WWW str�nky, vyzdvihnu n�sleduj�c� orienta�n� model. Po�adavkem je URL adresa, kterou klient po�aduje od HTTP proxy.

Nach�z� se webov� str�nka v cache pam�ti?

Ø ANO � Je odpov�� st�le je�t� platn�? (Pozn. zji��uje se nap��klad �as posledn� modifikace str�nky)

        Ano � Proxy server vr�t� str�nku ze svoj� cache pam�ti.

        Ne � Proxy server aktualizuje kopii str�nky v cache pam�ti a vr�t� j� klientovi.

Ø NE � Proxy server se pokus� st�hnout webovou str�nku z c�lov�ho serveru. Poda�ilo se str�nku z�skat?

        Ano � Vyhovuje str�nka krit�ri�m pro ulo�en� (velikost, typ, direktivy pro proxy server, apod.)?

o   Ano � Proxy server ulo�� str�nku do cache pam�ti a vr�t� j� klientovi.

o   Ne � Proxy server vr�t� str�nku klientovi bez ulo�en� v cache pam�ti.

        Ne � Proxy server vr�t� klientovi hl�en� o chyb�.

Proxy servery s cache pam�t� se pou��vaj� t�m�� v�hradn� na uchov�v�n� obsahu WWW str�nek.

 

 

 

 

 

 

 

 

Linuxov� proxy firewall

Platforma Linux

Pro� Linux?

Linux od po��tku pat�il mezi �asto nasazovan� opera�n� syst�my na servery. Toto �e�en� v sob� p�in�elo (krom� jin�ho) spolehlivost, stabilitu, bezpe�nost, konfigurovatelnost, efektivnost a ve v�t�in� p��pad� m��e b�t i zdarma. Pro n� proxy server spolu s firewallem je opera�n� syst�m GNU/Linux ide�ln�m v�chodiskem. Ve�ker� aplikace, kter� zde budou pozd�ji uv�d�ny a kter� budou vhodn� zvoleny pro projekt (s ohledem na dostupnost, bezpe�nost �e�en�, konfigurovatelnost, apod.), budou tzv. open source.

Open source nebo tak� open-source software (OSS) je po��ta�ov� software s otev�en�m zdrojov�m k�dem. Otev�enost zde znamen� jak technickou dostupnost k�du, tak leg�ln� dostupnost � licenci software, kter� umo��uje, p�i dodr�en� jist�ch podm�nek, u�ivatel�m zdrojov� k�d vyu��vat, nap��klad prohl�et a upravovat. V u���m smyslu se OSS m�n� software s licenc� vyhovuj�c� definici prosazovan� Open Source Initiative (OSI). Pro odli�en� se n�kdy open source software vyhovuj�c� po�adavk�m OSI ozna�uje Open Source.

V nep�esn�m, ale pom�rn� b�n�m vyjad�ov�n� se ozna�en� open source pou��v� i pro mnoho vlastnost�, kter� s otev�enost� zdrojov�ho k�du nesouvis�, ale vyskytuj� se u mnoha open source program�. Nap��klad m��e j�t o bezplatnou dostupnost software, v�voj zaji��ovan� �pln� nebo z podstatn� ��sti dobrovolnickou komunitou nebo �nekomer�nost�.

Bezpe�nost open source

Z hlediska bezpe�nostn�ch d�r v software je otev�enost k�du dvojse�n� zbra�. Chyby v programech m��e hledat mnohem �ir�� skupina lid� (nebo i automatick�ch pom�cek) a je proto nad�je, �e se sn�ze oprav�. Na druhou stranu zranitelnosti mohou sn�ze naj�t i �to�n�ci. V sou�asn�m paradigmatu informa�n� bezpe�nosti full disclosure se ov�em pova�uje za obecn� v�hodn�j��, kdy� jsou informace dostupn� v�em, i za tu cenu, �e jsou dostupn� �to�n�k�m. Alespo� u popul�rn�ch program� s velkou z�kladnou u�ivatel� a v�voj��� lze p�edpokl�dat, �e �u�ivatelsk� strana m� v�razn� v�t�� prost�edky (p�edev��m v�ce �asu kvalifikovan�ch lid�) ne� potenci�ln� �to�n�k.

Nespornou v�hodou otev�en�ho zdrojov�ho k�du je ohromn� zt�en� mo�nosti propa�ov�n� zadn�ch vr�tek a trojsk�ch kon�.

Kterou distribuci Linuxu zvolit?

Proto�e praktick�m c�lem t�to diplomov� pr�ce je navrhnout, nakonfigurovat a zprovoznit funk�n� proxy firewall na platform� GNU/Linux, je t�eba p��slu�nou konkr�tn� distribuci tohoto OS zvolit. S ohledem na bezpe�nost, stabilitu a spolehlivost (v neposledn� �ad� tak� dlouhodobou prov��enost administr�tory server�) byla zvolena distribuce s pln�m ozna�en�m Debian GNU/Linux verze 4.0r5 (pozd�ji upgradov�no na stabiln� verzi 5.0, �ili z Etch na Lenny), kter� je schopna plnohodnotn�ho serverov�ho nasazen�, a kter� velice dob�e spl�uje po�adavky serverov�ho �e�en� proxy firewallu.

Debian GNU/Linux

Na �vod stru�n� charakterizuji vybranou distribuci opera�n�ho syst�mu Linux, kter� je v tomto p��pad� Debian (s verz� j�dra 2.6.26).

Co je Debian?

Debian je svobodn� opera�n� syst�m ur�en� k provozu na mnoha r�zn�ch typech po��ta��. Opera�n� syst�m se skl�d� ze z�kladn�ho programov�ho vybaven� a dal��ch n�stroj�, kter�ch je k provozu po��ta�e t�eba. Vlastn�m z�kladem syst�mu je j�dro. Jeliko� Debian pou��v� j�dro Linux a v�t�ina z�kladn�ch syst�mov�ch program� byla vytvo�ena v r�mci projektu GNU, nese syst�m pln� ozna�en� GNU/Linux.

Debian nez�vis� na konkr�tn�m j�d�e. Moment�ln� pou��v� j�dro Linux, kter� je svobodn�m softwarem, jeho� v�voj byl zah�jen Linusem Torvaldsem a je nyn� podporov�no v�ce ne� tis�ci program�tory z cel�ho sv�ta (dobrovoln�ky i profesion�ly). Pracuje se na �prav� Debianu i pro jin� j�dra, obzvl�t� Hurd. Hurd je kolekce server� b��c�ch nad mikroj�drem (nap�. Mach nebo L4).

Tato distribuce je zn�ma p�edev��m svou konzervativnost�. P�esto je to jedna z nejroz���en�j��ch linuxov�ch distribuc� na sv�t�. Oproti klasick�m �komer�n�m distribuc�m�, jako jsou Red Hat nebo SUSE, nepou��v� bal��kovac� syst�m postaven� na RPM (RPM Package Manager, d��ve Red Hat Package Manager), ale m� vlastn� bal��kovac� syst�m tzv. deb-bal��k�, kter� je velmi propracovan� a umo��uje velmi jednodu�e prov�d�t spr�vu bal��k� z r�zn�ch zdroj�. Naz�v� se Advanced Packaging Tool (APT).

Debian GNU/Linux 4.0 je zat�m posledn� stabiln� verz� distribuce. Tato verze vy�la v dubnu roku 2007 a obsahuje zhruba 18040 bal�k� (p�edkompilovan�ho softwaru zabalen�ho do form�tu umo��uj�c�ho snadnou instalaci na ka�d�m po��ta�i) svobodn�ho softwaru. Tento software je k dispozici pro v�echny podporovan� architektury.

Debian se ve sv� spole�ensk� smlouv� zav�zal, �e bude zalo�en na svobodn�m softwaru a s�m v�dy svobodn�m softwarem z�stane. To je velmi podstatn� rys t�to distribuce. Znamen� to v�znamnou z�ruku pro jej� u�ivatele � mohou se pro Debian rozhodnout a za��t na n�m stav�t s jistotou, �e z�kladn� komponenta bude v�dy u�ivateli poskytovat jeho svobody.

Debian a serverov� nasazen�

Pozn�mka:

U� p�i samotn� instalaci Debianu se instala�n� proces zab�val informacemi t�kaj�c�mi se zad�n�m proxy ve standardn�m tvaru Pozn�mka: http://[[u�ivatel][:heslo]@]po��ta�[:port]/ (Pokud pro p��stup k okoln�mu sv�tu pou��v�te HTTP proxy, zadejte zde pot�ebn� informace. V opa�n�m p��pad� nic nevypl�ujte.).

Konfigurace s�t�

Jak je uvedeno v tabulce 1, nastaven� s�t� se u distribuce Debian prov�d� zpravidla v souborech /etc/hostname a /etc/network/interfaces, n�pomocen je i soubor options v adres��i /etc/network.

Jm�no hostitele se nastavuje v souboru /etc/hostname. Jm�no v tomto souboru by m�lo b�t pln� kvalifikovan�, proto�e jeho hodnota se pou��v� i v jin�ch kontextech. Standardn� instalace Debianu zde zanech�v� nekvalifikovan� jm�no. Adresa IP, s�ov� maska a implicitn� br�na se nastavuj� v souboru /etc/network/interfaces.

 

 

Nap��klad:

iface lo inet loopback

iface eth0 inet static

address 192.168.1.100

netmask 255.255.255.0

gateway 192.168.1.1

P��kazy ifup a ifdown �tou tento soubor a zap�naj� nebo vyp�naj� rozhran� vol�n�m n�zko�rov�ov�ch p��kaz�, jako je nap�. p��kaz ifconfig, se spr�vn�mi parametry. Z�kladn� form�t souboru interfaces obsahuje ��dek za��naj�c� slovem iface pro ka�d� rozhran�, a pak n�sleduj� odsazen� ��dky specifikuj�c� dal�� parametry.

Kl��ov� slovo inet na ��dku iface je rodina adres. Kl��ov�m slovem static se naz�v� metoda, kter� ud�v�, �e pro rozhran� eth0 bude adresa IP a s�ov� maska p�i�azena p��mo. ��dky address a netmask jsou pro statick� konfigurace povinn�; star�� verze Linuxu vy�adovaly i zad�n� s�ov� adresy (dnes u� b�n� prob�h� v�po�et s�ov� adresy z adresy IP a s�ov� masky). ��dek gateway ud�v� adresu implicitn� br�ny a pou��v� se pro ur�en� v�choz�ho sm�ru.

Soubor options dovoluje nastaven� n�kter�ch s�ov�ch prom�nn�ch v dob� spu�t�n� syst�mu. Debian nastavuje defaultn� p�ed�v�n� adres na vypnuto, ochranu p�ed p�edst�r�n�m ciz� identity na zapnuto a syn cookies na vypnuto.

DHCP server

Protokol DHCP (Dynamic Host Configuration Protocol) se pou��v� ke konfiguraci kl��ov�ch s�ov�ch parametr� jednotliv�ch klient�. DHCP protokol umo��uje prost�ednictv�m jedin�ho DHCP serveru nastavit v�em stanic�m sadu parametr� nutn�ch pro komunikaci v s�t�ch pou��vaj�c�ch rodinu protokol� TCP/IP v�etn� parametr� dopl�uj�c�ch a u�ivatelsky definovan�ch.

V�znamn�m zp�sobem tak zjednodu�uje a centralizuje spr�vu po��ta�ov� s�t� (nap��klad p�i p�id�v�n� nov�ch stanic, hromadn� zm�n� parametr� nebo pro skryt� technick�ch detail� p�ed u�ivateli). DHCP servery mohou b�t sdru�eny do skupin, aby bylo p�id�lov�n� adres odoln� v��i v�padk�m. Pokud klient n�kter�m parametr�m nerozum�, ignoruje je.

Proto�e se DHCP vyu��v� hojn� i v jin�ch syst�mech, pokus�m se nakonfigurovat takov� server pro spolupr�ci s okol�m. Klient p�ihl�en� do s�t� tak automaticky z�sk� pot�ebn� parametry, jako je nap�. IP adresa za��zen�, maska s�t�, br�na (p��padn� DNS servery), z linuxov�ho DHCP serveru stroje Debianu. Oproti �pevn�mu� manu�ln�mu p�id�lov�n� adres nab�z� DHCP server n�kolik v�hod spo��vaj�c�ch ve v�razn� ni��� n�ro�nosti administrace (v�e sta�� nastavit pouze na serveru, nen� t�eba konfigurovat jednotliv� stanice) a eliminace mnoha potenci�ln�ch chyb (nap�. p�id�len� t�e IP adresy dv�ma r�zn�m stanic�m, chybn� nastaven� v�choz� br�ny na n�kter� stanici apod.).

Princip �innosti

Klienti ��daj� DHCP server o IP adresu. DHCP server eviduje u ka�d�ho klienta p�j�enou IP adresu a �as, do kdy ji klient sm� pou��vat (doba zap�j�en�, ang. lease time). Pot� co vypr��, sm� server adresu p�id�lovat jin�m klient�m. Klient komunikuje na UDP portu 68, server naslouch� na UDP portu 67.

Po p�ipojen� do s�t� klient vy�le broadcastem (v�esm�rov�) DHCPDISCOVER paket. Na ten odpov� DHCP server paketem DHCPOFFER s nab�dkou IP adresy. Klient si z (teoreticky n�kolika) nab�dek vybere jednu IP adresu a o tu po��d� paketem DHCPREQUEST. Server mu ji vz�p�t� potvrd� odpov�d� DHCPACK. Jakmile klient obdr�� DHCPACK, m��e ji� IP adresu a zbyl� nastaven� pou��vat.

Klient mus� p�ed uplynut�m doby zap�j�en� z DHCPACK obnovit svou IP adresu. Pokud lh�ta uplyne, ani� by dostal nov� potvrzen�, mus� klient IP adresu p�estat pou��vat.

Server

Nastaven� konfigura�n�ho souboru /etc/dhcp3/dhcpd.conf:

subnet 192.168.2.0 netmask 255.255.255.0 {

range 192.168.2.1 192.168.2.50; //definuje rozsah p�id�liteln�ch adres

default-lease-time 3600; //implicitn� doba platnosti IP [s]

max-lease-time 7200; //max. doba platnosti IP, 86400s = 24h

option subnet-mask 255.255.255.0; //definuje masku pods�t�

option broadcast-address 192.168.2.255; //v�esm�rov� adresa

option routers 192.168.2.100; //adresa sm�rova�e (eth1 rozhran�)

option domain-name-servers 212.24.128.8, 82.113.57.2; //DNS servery }

Uk�zka konfigurace DHCP na Linuxu. M�me nastaven� rozsah IP adres 192.168.2.1 a� 192.168.2.50, kde bude n� DHCP server operovat. Mezi hlavn� nastaven� m��eme p�idat jm�no �asov�ho serveru, jm�no DNS serveru �i WINS serveru, atp.

Podrobn�j�� informace o serverem DHCP p�id�len�ch IP adres�ch klient� lze zjistit v souboru /var/lib/dhcpd3/dhcpd.leases.

 

Klient

Instalace DHCP klient� je na ka�d�m syst�mu odli�n�. V Linuxu sta�� nainstalovat p��slu�n� bal��ek DHCP Client Daemon a nakonfigurovat s� na DHCP. V opera�n�m syst�mu Windows je t�eba otev��t okno S�ov� p�ipojen� a v Konfigurace s�t� (�Protokol s�t� Internet - TCP/IP�) takt� nastavit z�sk�v�n� IP adresy z DHCP serveru automaticky. Po dal��m restartu u� bude s� aktivn�.

DNS

DHCP klient m��e (ale nemus� - tak se chov� implicitn� i dhcpcd) se svou zpr�vou zaslat svoje jm�no a dom�nu. DHCP si tuto informaci ulo�� do dhcpd.leases. Tohoto se vyu��v� ve spojen� s DNS serverem. Nen� toti� probl�m z�skat z dhcpd.leases tyto informace a poslat DNS serveru zpr�vu, aby si upravil svoje tabulky. Pokud se tak bude d�t pravideln� (nap��klad z cronu), ka�d� po��ta�, jeho� DHCP klient po�le serveru svoje jm�no, dostane relevantn� DNS z�znam (v�etn� reverzn�ho).

Startovac� skripty

Do startovac�ch skript� se v r�mci praktick� ��sti pr�ce um�st� skript firewall-iptables.sh, co� zajist� automatickou aplikaci pravidel navr�en�ho firewallu p�i (re)startu syst�mu. Proto se zde kr�tce zm�n�m o informac�ch t�kaj�c�ch se startovn�ch skript� Debianu (spu�t�n� daemon� a s�ov�ch slu�eb).

V ka�d� �rovni b�hu init spou�t� skript /etc/init.d/rc, a jako argument p�ed�v� novou �rove�. Ka�d� skript odpov�d� za nalezen� sv�ch vlastn�ch konfigura�n�ch informac�, kter� mohou b�t ve form� jin�ch soubor� v adres��i /etc, v podadres��i uvnit� adres��e /etc nebo n�kde ve skriptu samotn�m.

Kdy� hled�me n�zev hostitele, je ulo�en v souboru /etc/hostname, kter� je na��t�n do skriptu /etc/init.d/hostname.sh. S�ov� rozhran� a parametry implicitn� br�ny jsou ulo�eny v souboru /etc/network/interfaces, kter� �te p��kaz ifup volan� ze skriptu /etc/init.d/networking. N�kter� nastaven� s�t� mohou b�t ulo�ena i v souboru /etc/network/options.

Webov� prohl�e� a pou��van� programy (aplikace, slu�by) Debianu

Jeliko� se v pr�ci �asto pracuje s webov�m prohl�e�em (nap�. v souvislosti s omezov�n�m p��stupu na vymezen� internetov� str�nky � regulace zdroj� Internetu, nebo virov� kontrola webov�ho provozu tzv. �on-fly�), stru�n� p�edstav�m implicitn� prohl�e� Debianu, kter�m je IceWeasel. Tento prohl�e� je odno�� webov�ho prohl�e�e Mozilla Firefox. Je sou��st� stabiln� verze Debianu od verze 4.0 a snahou je synchronizace k�du s Firefoxem. Ve�ker� testov�n�, lad�n� a zkou�en� proxy serveru na stroji s Debianem prob�halo pr�v� v tomto svobodn�m prohl�e�i.

O HTTP proxy Squid bude detailn� pojedn�v�no v dal��ch kapitol�ch pr�ce. Obr�zky zachycuj�c� pr�ci s webov�m rozhran�m Webmin jsou sou��st� p��lohy CD diplomov� pr�ce. Vstup do tohoto rozhran� je umo�n�n prost�ednictv�m internetov�ho prohl�e�e zad�n�m adresy https://stroj-s-proxy:10000/.

Opera�n� syst�m jako firewall

Linux a Iptables

D�le�it�m dopl�kem j�dra opera�n�ho syst�mu Linux je funkce filtrov�n� paket� a p�ekl�d�n� adres (NAT) v samotn�m opera�n�m syst�mu. Tato funkce se p�vodn� naz�vala IP Masquerade kv�li sv� schopnosti p�ekl�d�n� adres. Nyn� se ozna�uje jako Ipchains nebo Iptables (v z�vislosti na pou�it� verzi), proto�e umo��uje spr�vci vytvo�it �et�zce nebo tabulky pravidel, kter� mus� spl�ovat paket doru�en� do syst�mu Linux, sm�rovan� v r�mci po��ta�e na jin� adapt�r nebo odes�lan� z po��ta�e do jin� s�t� . Dnes se ji� v distribuc�ch Linuxu setk�v�me v�hradn� s Iptables.

Slu�ba Iptables zaji��uje p�ekl�d�n� adres (NAT) a filtrov�n� paket�. Inspekci protokolu mus� poskytovat slu�ba na vy��� vrstv�. Squid je vynikaj�c�m bal��kem serveru proxy (protokolu HTTP), kter� velmi dob�e spolupracuje se slu�bou Iptables syst�mu Linux.

Hlavn� funkce

Linux se slu�bou (resp. n�strojem) Iptables poskytuje n�sleduj�c� hlavn� funkce:

        Pro ka�d� p��choz� paket, paket proch�zej�c� z�sobn�kem sm�rov�n� syst�mu Linux a odchoz� paket jsou pou�ita pravidla filtrov�n�. Slu�ba Ipchains je bezstavov�, zat�mco slu�ba Iptables je stavov�. Jedn� se o hlavn� funk�n� rozd�l mezi nimi.

        Lze vytvo�it servery proxy pomoc� filtr� obsahu specifick�ch pro ur�it� protokoly, kter� jsou poskytov�ny slu�bami na vy���ch vrstv�ch, jako nap�. Squid.

        Dynamick� nebo statick� p�ekl�d�n� adres (NAT) zpracov�v� pakety proch�zej�c� z�sobn�kem sm�rov�n� do skryt�ch intern�ch s�t�.

        Z�ny DMZ lze vytvo�it filtrov�n�m obsahu do extern� viditeln� chr�n�n� pods�t�, nebo p�esm�rov�n�m virtu�ln�ch ve�ejn�ch adres na chr�n�n� hostitele s p�elo�en�mi adresami.

        Mo�nosti p�ipojen� v s�ti VPN z firewallu na firewall a z firewallu na vzd�len�ho klienta jsou k dispozici jako dal�� komponenty syst�mu Linux, kter� lze bezplatn� z�skat z Internetu.

        P�esm�rov�n� port� je nativn� poskytov�no slu�bou Iptables. � Promy�len�m pou�it�m slu�by Iptables spolu s linuxov�m bal��kem Squid m��eme z�skat transparentn� servery proxy, co� je v�hodn� p�edev��m z hlediska velk�ho po�tu stanic v s�ti. � Linux s bal��kem FWTK tak� snadno zaji��uje slu�by reverzn�ch server� proxy.

        Dal�� bal��ky upravuj� b�n� syst�m protokolov�n� syslog v syst�mu Linux, aby mohl ukl�dat informace protokolov�n� do datab�z� a poskytoval varov�n� nap�. e-mailem.

Dopl�kov� funkce

Linux se slu�bou (resp. n�strojem) Iptables poskytuje n�sleduj�c� dopl�kov� funkce:

        Filtrov�n� paket� firewallem v syst�mu Linux je rychl�, proto�e b�n� po��ta�ov� procesory jsou mnohem rychlej��, ne� procesory pou��van� ve v�t�in� vyhrazen�ch firewall�. Dal��m d�vodem je, �e syst�m Linux nem� zdaleka takovou re�ii s�t�, jako b�n�j�� opera�n� syst�my pro v�eobecn� pou�it�. D�ky integraci do z�sobn�ku protokolu IP syst�mu Linux nen� filtr paket� zat�en re�i� jin�ch firewall�, kter� jsou implementov�ny jako programy na u�ivatelsk� �rovni. Toto �e�en� dok�e snadno zvl�dat zat�en� p�ipojen� s�t� LAN k Internetu, i kdy� je povolena mo�nost p�ekl�d�n� adres (NAT).

        Konfigurace pomoc� p��kazov�ho ��dku vy�aduje v�ce zku�enost� se spr�vou, ale umo��uje ukl�dat z�sady do textov�ch soubor� a pou��t n�stroje skriptov�n� p�i dynamick� spr�v� z�sad.

        Vzd�len� spr�va (nap�. protokolem SSH) umo��uje spravovat firewall z jin�ch po��ta�� v s�ti LAN.

        D�ky pravidl�m filtrov�n� paket� lze pou��t p�ekl�d�n� adres (NAT) a p�esm�rov�n� soket�, abychom p�esm�rovali provoz ur�en� jist�m slu�b�m (jako nap�. HTTP) na chr�n�n� intern� servery.

Zabezpe�en�

Syst�m Linux filtruje pakety p�ed jejich doru�en�m do z�sobn�ku protokolu IP ke zpracov�n�, co� umo��uje chr�nit po��ta� p�ed chybn� form�tovan�mi pakety a dal��mi �toky na �rovni protokolu IP.

Proto�e syst�m Linux neanalyzuje datov� ��sti zpracov�van�ch paket�, je nutn� pomoc� serveru proxy zajistit, �e provoz proch�zej�c� ur�it�m portem odpov�d� p��slu�n�mu protokolu (nap��klad, �e portem 80, proch�z� pouze po�adavky a odpov�di protokolu HTTP).

Rozhran�

Filtrov�n� paket� syst�mu Linux lze spravovat p��kazem iptables. Jako argumenty slou�� pravidla filtru paket�, kter� chceme vytvo�it nebo upravit. Uk�zkov� p��klad syntaxe p��kazu iptables pro p��kazov� ��dek je uveden n�e:

iptables -P INPUT DROP
iptables -A INPUT -i eth0 -s 192.168.0.1 -j ACCEPT

Uveden� dva p��kazy zajist�, aby v�echny pakety, kter� p�ijdou na s�ov� rozhran� eth0 z jin� zdrojov� IP adresy ne� 192.168.0.1, byly zahozeny. Obdobn� se sestavuje cel� bezpe�nostn� politika firewallu.

Linux jako server v s�ti

S�ov� server

V�t�inu opera�n�ch syst�m� (a Linux v tomto ohledu nen� v�jimkou) lze pou��t mnoha r�zn�mi zp�soby. Linux jako�to univerz�ln� opera�n� syst�m lze pou��t na pracovn� stanici, jako firewall a proxy server, jako router a mnoha dal��mi zp�soby. Linuxov� syst�my dnes pat�� mezi nejroz���en�j�� serverov� �e�en�. Nab�z� �irokou �k�lu vyu�it�, a to jak pro vnit�n� s� (Intranet), tak i pro vn�j�� s� (Internet).

Linux v roli serveru

Jako server je Linux ji� tradi�n� velmi siln� - �ada firem na Linux pln� spol�h� p�i zpracov�n� elektronick� po�ty, sd�len� soubor� a tisk�ren, p�i�azov�n� IP adres a spousty dal��ch �innostech. Pro ka�d� ze zm�n�n�ch �kol� (a nejen pro n�) Linux nab�z� nep�ebern� mno�stv� open-source program�. Ne� se ale rozhodneme Linux v �loze serveru nasadit, m�li bychom m�t jasno v jeho v�hod�ch, nev�hod�ch, hardwarov�ch a softwarov�ch n�roc�ch.

Vlastnosti Linuxu jako serveru

Linux lze jako server nasadit v mnoha rozli�n�ch konfigurac�ch. Hod� se v�born� jako firewall, WWW server nebo t� datab�zov� server. V�hody Linuxu jako serveru v s�ti jsou n�sleduj�c� - spolehlivost, cena, licencov�n�, bezpe�nost, pom�rn� rozs�hl� nab�dka softwaru, spr�va prost�edk�, u�ivatelsk� �pravy a n�roky na hardware. V�t�ina zm�n�n�ch v�hod se vztahuje na v�echny opera�n� syst�my typu UNIX, tedy nap�. i na Solaris nebo FreeBSD. Ve srovn�n� s t�mito syst�my je nejv�t�� v�hodou Linuxu hardwarov� p�izp�sobivost, open source licence a n�zk� n�klady (existuj� ov�em i dal�� levn� open source unixov� syst�my). Linux m� p�irozen� i sv� nev�hody, v �loze serveru jde na�t�st� pouze o nev�hody drobn�ho r�zu - vy��� n�roky na spr�vu a potenci�ln� bezpe�nostn� probl�my (Linux je sice imunn� v��i b�n�m �erv�m a vir�m napadaj�c�m Windows, m� v�ak sv� vlastn� bezpe�nostn� rizika. Do linuxov�ch server� se �asto sna�� dostat �to�n�ci a �sp�nost jejich pr�nik� nen� nulov�. �ist� teoreticky by m�lo b�t prolomen� ochrany dob�e zabezpe�en�ho syst�mu obt�n�, n�kdy ale sta�� zapomenout na aktualizaci jednoho bal�ku a syst�m m��e b�t najednou zraniteln�).

Se�teno a podtr�eno v�hody Linuxu zna�n� p�eva�uj� jeho nev�hody. Vysok� stabilita a spolehlivost syst�mu, mno�stv� dostupn�ch program�, kter� jsou pro roli serveru k dispozici a n�zk� po�izovac� n�klady jsou obrovsk� plus. Na druhou stranu lze konstatovat, �e nen� v mnoha ohledech schopen kvalitativn� nahradit n�kter� funkce a vlastnosti ostatn�ch produkt�. Alespo� prozat�m ne.

Bezpe�nost serveru v s�ti

Pro� n�s zaj�m� bezpe�nost?

Je�t� ne� za�neme, mus�me si uv�domit jednu v�c. Od okam�iku, kdy p�ipoj�me po��ta� do s�t�, je tento po��ta� vystaven eventu�ln�m �tok�m zven��. Pon�vad� po��ta� m��e b�t nejen br�nou do na�� s�t�, ale i br�nou do na�eho soukrom�, jist� budeme souhlasit s t�m, �e �tok�m v�eobecn� na po��ta�e je t�eba p�edch�zet a jestli�e je to mo�n�, tak jim �pln� zabr�nit.

Bohu�el, ��inn� stoprocentn� ochrana proti �to�n�k�m neexistuje. Jeliko� nechceme server �pln� odpojit od Internetu, mus�me se spokojit s re�ln�j��mi metodami ochrany. Tyto metody si kladou za c�l co pokud mo�no nejv�ce minimalizovat riziko �toku na server, jeho rychlou detekci v p��pad�, �e byl �sp�n� a zejm�na rychl� a bezpe�n� zotaven� se z jeho n�sledk�.

Kl��ov� slovo t�to kapitoly je bezpe�nost. Bezpe�nost jako takov� se stanov� a ��d� pomoc� bezpe�nostn� politiky (�secure policy�).

Bezpe�nostn� politika

Bezpe�nostn� politika je soubor pravidel, jejich� dodr�ov�n� m� zaru�it po��ta�ovou bezpe�nost. Pon�vad� bezpe�nost je p��li� d�le�it� na to, aby byla dobrovoln�, mus� b�t vynucov�na (�enforced�) opera�n�m syst�mem nebo speci�ln�mi aplikacemi a za��zen�mi, kter� mus� b�t navrhnut� tak, aby se nedali obej�t (proxy servery, firewally, atd.).

K tomuto si dovol�m poznamenat n�kolik v�c�. Ka�d� informa�n� syst�m by m�l m�t stanovenu jasnou a kompletn� bezpe�nostn� politiku, kter� ur�uje, kdo m� jak� pr�va. Po��ta�e na Internetu (obecn� v jak�koliv jin�/ciz� s�ti) jsou t� informa�n�mi syst�my, jejich� p��nosn� u�itkov� hodnota je r�znorod�. V p��pad� p�ipojen� na Internet je vypracov�n� vhodn� bezpe�nostn� politiky t�m�� nutnost�, nedojde k mo�n�mu ohro�en� priv�tn�ch dat a citliv�ch informac�.

Z�kladn� pou�ky pro tvorbu bezpe�nostn� politiky:

1. To, co nen� explicitn� povolen�, mus� b�t zak�zan�. Z�kladn� pou�ky pro tvorbu bezpe�nostn� politiky

2. Ned�vat u�ivatel�m a aplikac�m vy��� pr�va, ne� je nezbytn� nutn� pro jejich �innost.

3. Nikdy se nespol�hat na jedin� ochrann� prost�edek. Nap��klad na omezen� p��stupu pou��vat nejen TCP wrapper, ale zkombinovat ho i s firewallem.

4. Pravideln� aktualizovat software a z�lohovat data.

P�i tvorb� bezpe�nostn� politiky nezapomenout zohlednit i to, �e nemal� v�t�ina �tok� poch�z� z vnit�n� s�t�, tedy ze s�t�, kterou oby�ejn� chr�n�me proti �tok�m zvenku. Jestli�e je prevence zalo�en� pouze na ochran� �hranice� mezi s�t�mi, kterou oby�ejn� zabezpe�uje firewall, ve skute�nosti jsou servery stejn� zraniteln� - z vnit�n� strany lok�ln� s�t�.

Pravd�podobn� ka�d�ho napadlo nejjednodu��� �e�en� vypnout v�echny slu�by z venkovn� i vnit�n� s�t�, s v�jimkou DNS, WWW a elektronick� po�ty a zak�zat �i p�im��en� omezit jednotliv�m u�ivatel�m prov�d�t nepovolen� operace. P�esto nast�v� probl�m s potenci�ln�mi �toky na tyto b��c� slu�by (�toky na DNS, p�esm�rov�n� WWW) p�i nedodr�en� dal��ch bezpe�nostn�ch opat�en�. Nav�c, proti n�kter�m �tok�m se br�n� velice obt�n� pr�v� proto, �e jde o slu�by, kter� maj� b�t (mus�) p��stupn� v�em, nap�. u� zm�n�n� WWW, DNS a elektronick� po�ta.

Z�kladn� princip, kter� v administraci server� vyzn�v� ur�it� nemal� procento spr�vc� je takov�, �e se sna��me omezit destruktivn� potenci�l u�ivatel� bez sou�asn�ho drastick�ho omezen� mo�nost� vyu��v�n� slu�eb. Pokus�me se omezit to, co je (resp. eventu�ln� m��e b�t) opravdu nebezpe�n�. Proto�e se nikdy ned� dos�hnout stoprocentn� bezpe�nosti, p�i zabezpe�en� syst�mu se sna��me o to, abychom p��padn�mu �to�n�kovi co nejv�ce znesnadnili pr�ci.

Bezpe�nostn� slabiny

Rozli�ujeme n�sleduj�c� pojmy:

        zraniteln� m�sto (�vulnerability�): slabina v bezpe�nostn�m syst�mu (aplikaci, opera�n�m syst�mu, apod.), kter� m��e b�t vyu�it�

        hrozba (�threat�): okolnost, kter� m� potenci�l zp�sobit ztr�tu nebo �kodu

        �tok (�attack�): aktivita, kter� vyu��v� zraniteln� m�sto na pr�nik do syst�mu

        ochrana (�protection�): ochrann� opat�en�, jeho� �lohou je redukce slabin

Bezpe�nost opera�n�ho syst�mu

Do t�to kategorie bezpe�nosti m��eme zahrnout ochranu na �rovni j�dra opera�n�ho syst�mu a kontrolu s pou�it�m syst�mov�ch aplikac�.

Na za��tek je t�eba si uv�domit, �e Linux, jako ka�d� jin� opera�n� syst�m, obsahuje chyby, kter� se d��ve nebo pozd�ji objev�. Linux se vyv�j� velmi rychl�m tempem, tak�e t�m�� z�rove� se zve�ejn�n�m chyby je ji� k dispozici i pot�ebn� bezpe�nostn� z�plata.

Ka�d� chyba v j�d�e m��e m�t katastrof�ln� n�sledky. J�dro toti� b�� v privilegovan�m re�imu a nic na po��ta�i nem� tak neomezen� pr�va, jako pr�v� j�dro. V p��pad� kritick� chyby se lok�ln� (a n�kdy i vzd�len�) u�ivatel m��e st�t rootem (superu�ivatelem). Na�t�st�, tyto z bezpe�nostn�ho hlediska nebezpe�n� chyby se u� dnes nevyskytuj� tak �asto.

Kl��ov� ot�zky:

        Je sledov�n v�voj verz� j�dra a jeho aktualizace v p��pad�, �e byla odhalena z�va�n� chyba? Kl��ov� ot�zky: Ø

        Je pou��v�n mechanismus zabezpe�uj�c� vy��� ochranu na �rovni j�dra opera�n�ho syst�mu (v�t�inou z�platy/�patche� do j�dra, nap�. Grsecurity, Medusa NG)?

Bezpe�nost lok�ln� s�t�

V p��pad�, �e server funguje jako firewall/br�na mezi Internetem a m�stn� LAN s�t�, nebo v p��pad� pl�nu nasadit samostatn� po��ta� jako firewall (doporu�ovan�), rozr�st� se bezpe�nostn� politika o dal�� rozm�r � neochra�ujeme pouze jeden po��ta�, ale ur�itou skupinu po��ta�� (nach�zej�c�ch se v t�to s�ti) s r�zn�mi opera�n�mi syst�my. Na�� �lohou je zaru�it relevantn� bezpe�nost pro lok�ln� s�.

Kl��ov� ot�zky:

        Omezen� p��stupu � je kontrolov�n p��stup dovnit� s�t�? Je pou��v�n firewall? Ide�ln� je vyu��t samostatn� segment s�t� pro ve�ejn� p��stupn� slu�by, tzv. Demilitarizovan� z�na (DMZ). Kl��ov� ot�zky: Ø

        Je pou��v�no �ifrov�n� pro p�enos d�le�it�ch a citliv�ch �daj� a hesel po s�ti? (TLS/SSL, �ifrov�n� protokol�, kter� p�en�ej� p�ihla�ovac� jm�no a heslo, nap�. POP3 a IMAP). Ø

        Jak�m zp�sobem p�istupuj� u�ivatel� z vnit�n� s�t� k Internetu? Je aplikov�n proxy server? Ø

        Je lok�ln� s� chr�n�na p�ed viry, spyware, spamem, apod. Je pou��v�n syst�m IDS?

Firewall

Paketov� filtry na Linuxu

Paketov� filtr je sou��st� Linuxu ji� od verze j�dra 1.1 (1994). V t�chto nejstar��ch verz�ch byl zalo�en na ipfw p�evzat�m ze syst�mu BSD. Ve verzi 2.0 p�ibyl u�ivatelsk� n�stroj ipfwadm pro nastaven� filtrovac�ch pravidel. Ve verzi 2.2 byl roz���en n�strojem ipchains. V dal��ch verz�ch j�dra byl k�d firewallu zcela p�eps�n a proto se ve verz�ch j�dra 2.4 a nov�j��ch (v�etn� aktu�ln� �ady 2.6.X) pro nastaven� filtrovac�ch pravidel pou��v� n�stroj iptables, kter� je v �ad� dal��m roz���en�m ipfwadm a ipchains. V sou�asn� dob� jsou zn�ma prvn� fakta o firewallu nftables, jako�to n�stupci iptables.

Netfilter

Z�kladem nov� implementace pro j�dra 2.4 a nov�j�� je firewallov� subsyst�m netfilter. Je sou��st� j�dra (mo�no i v modulech). Jedn� se o firewall, kter� krom� z�kladn�ho paketov�ho filtru podporuje tak� stavov� filtrov�n� a NAT. �ili s jeho pomoc� m��eme prov�d�t paketovou a stavovou inspekci, p�eklad adres, vyu��t jej k implementaci transparentn�ho proxy, TOS, aj. Pro jeho provoz pot�ebujeme m�t v konfiguraci j�dra zapnuto alespo� (v origin�ln�ch j�drech distribuc� toto ji� zapnuto je):

        CONFIG_PACKET

        CONFIG_NETFILTER

        CONFIG_IP_NF_IPTABLES

        CONFIG_IP_NF_FILTER

Pro vyu�it� v�ech mo�nost� netfilteru je nutn� zapnout i dal�� volby v Networking Options -> IP: Netfilter Configuration. Za zm�nku stoj� tak� p��davn� moduly, nap�. pro FTP → ip_conntrack_ftp a ip_nat_ftp, kter� �e�� probl�m pasivn�ho spojen� zaji�t�n�m tzv. port forwardingu pro ka�dou relaci.

D�le�it� je povolit volbu IP Forward, kter� umo��uje sm�rovat pakety, kter� nejsou ur�eny pro m�stn� procesy (�ili mezi dv�ma s�ov�mi rozhran�mi). Nastavuje se pomoc� parametru j�dra (viz d�le).

K vytvo�en� linuxov�ho firewallu typu netfilter v opera�n�m syst�mu Linux je pot�eba:

1.      Podpora routov�n� v j�d�e: Networking options -> TCP/IP networking -> IP: advanced router

2.      P�i startu syst�mu je t�eba routov�n� paket� povolit p��kazem: echo "1" > /proc/sys/net/ipv4/ip_forward

3.      Podpora firewallu v j�d�e: Networking options -> IP: Netfilter Configuration -> vybrat v�echny pot�ebn� mo�nosti, z�kladem jsou: �

        Connection tracking (po�adov�no pro masq/NAT) �

        IP tables support (po�adov�no pro filtering/masq/NAT) �

        Connection state match support �

        Packet filtering � REJECT target support �

        Full NAT (v p��pad�, �e chceme p�ekl�dat adresy) �

        MASQUERADE target support (jestli�e chceme p�eklad adres pomoc� MASQUERADE - pro servery s pevnou IP adresou posta�� NAT) �

        REDIRECT target support (jestli�e chceme p�esm�rov�n� slu�eb, nap�. pro ��ely transparentn�ho proxy serveru) �

        LOG target support

4.      N�stroj "iptables" (vytv��� rozhran� pro pr�ci s firewallem)

5.      �as na n�vrh, implementaci a otestov�n� firewallu. To souvis� s vytvo�en�m bezpe�nostn� politiky.

Pokud si p�i kompilaci j�dra nejsme jist�, co budeme pot�ebovat, nemus�me zbyte�n� kompilovat v�e (v�etn� experiment�ln�ch modul�), typicky posta�� b�n� j�dro. Pokud budeme pot�ebovat n�co nav�c, tak vyu�ijeme moduly, nebo p�ikompilujeme to, co n�m prozat�m chyb�. Jestli�e vytv���me modul�rn� j�dro a komponenty netfilteru zkompilujeme jako moduly, zavedou se do pam�ti, jen kdy� to bude pot�ebn�. V p��pad� monolitick�ho j�dra se jeho velikost m�rn� zv�t��.

�et�zce

Netfilter m� 5 z�kladn�ch �et�zc� pro filtrov�n� a p��padnou dal�� �pravu paket� (NAT). Lze nadefinovat i dal�� vlastn� a do nich p�esm�rovat pakety (vhodn� pro p�ehlednost a jednoduchost pravidel, resp. zp�ehledn�n� funkce firewallu). Z�kladn� �et�zce nen� mo�n� smazat.

5 z�kladn�ch �et�zc�:

        PREROUTING

        INPUT

        FORWARD

        OUTPUT

        POSTROUTING

Syst�m netfilteru se skl�d� z n�kolika tabulek (�tables�) obsahuj�c�ch tyto �et�zce pravidel (�chains�).

Tabulky a �et�zce

        filter - pou��v� se na filtrov�n� v�eobecn�, tedy na akce typu ACCEPT, REJECT, DROP apod. V t�to tabulce by nem�lo doch�zet k �prav� paket�, prov�d� se zde pouze filtrov�n� paket� v �et�zc�ch.

o   INPUT (pakety ur�en� pro lok�ln� aplikace), �

o   FORWARD (pakety negenerovan� lok�ln� a neur�en� pro localhost), �

o   OUTPUT (lok�ln� vygenerovan� paketu).

        nat - v t�to tabulce se prov�d� p�ekl�d�n� adres (NAT); proch�z� j� pouze prvn� paket ka�d�ho spojen�, ve kter�m se prov�d� p�eklad adres. V�sledek pr�chodu paketu tabulkou je potom aplikov�n na v�echny ostatn� pakety spojen�. NAT (Network Address Translation) lze rozd�lit na Source NAT (p�eklad zdrojov�ch adres) a Destination NAT (p�eklad c�lov�ch adres); ma�kar�da (masquerading) je speci�ln� p��pad SNAT; p�ekl�d�n� port� (port forwarding) a transparentn� proxy jsou speci�ln� p��pady DNAT. NAT se prov�d� v �et�zc�ch:

o   PREROUTING (pakety p�ich�zej�c� ze za��zen�),

o   POSTROUTING (pakety odch�zej�c� na za��zen�).

        mangle - tabulka op�t pro �pravu paket� - zm�ny v hlavi�k�ch (TTL, TOS a dal��), ale nikoliv NAT a �ma�kar�dov�n�. Tyk� se zejm�na �et�zc� PREROUTING a OUTPUT.

 

Iptables

Jak funguje firewall Iptables

��zen� toku paket� prob�h� na s�ov� vrstv� na �rovni j�dra. V j�dru jsou ulo�en� tabulky filter, nat, mangle a raw. Ka�d� tabulka obsahuje �et�zce pravidel, kter� jsou bu� p�eddefinovan�, anebo u�ivatelsky definovan�. P�eddefinovan� �et�zce m� ka�d� tabulka svoje. Krom� nich si m��e u�ivatel definovat svoje vlastn� �et�zce pravidel, kter� m��e volat z p�eddefinovan�ch, podobn� jako subrutinu v programu. Ka�d� �et�zec obsahuje seznam pravidel, kter� ur�uj�, jak� akce budou s pakety prov�d�ny.

Konfigurace Iptables

Netfilter/Iptables nemaj� ��dn� konfigura�n� soubor v tradi�n�m smyslu. Na konfiguraci slou�� program iptables, pomoc� kter�ho se manipuluje s pravidly jednotliv�ch tabulek. Firewall je tedy ovl�d�n prost�ednictv�m programu iptables. P�i pou��v�n� programu iptables se jako parametr uv�d� tabulka a �et�zec pravidel, se kter�mi chceme pracovat, typ operace a specifikace pravidla.

Posledn�, ale velmi d�le�itou ��st� pravidla je ur�en� c�lov�ho kroku, kter� n�sleduje po kone�n�m rozhodnut�. Tento krok je ur�en ji� zm�n�n�m parametrem -j a m��e b�t vybr�n nap��klad z n�sleduj�c�ch mo�nost�:

o   DROP � paket je ti�e zahozen �

o   REJECT � paket je zahozen a jeho odesilatel je o tom informov�n chybov�m hl�en�m �

o   ACCEPT � paket voln� proch�z�/pokra�uje p�es iptables �

o   LOG � existence paketu je zaznamen�na daemonem syslogd, toto pravidlo nen� definitivn� a paket pokra�uje v cest� �et�zcem

Akc� je samoz�ejm� v�ce, tyto jsou v�ak zdaleka nejpou��van�j�� (podobn� plat� i u v��e uveden�ch tabulek). V�ce informac� - viz manu�lov� str�nky Iptables.

Stavov� filtrov�n�

Jak ji� bylo �e�eno, p�i filtrov�n� dok�e netfilter zohled�ovat tak� stavov� informace. Rozli�ujeme tyto stavy spojen� (nutno informace udr�ovat):

o   ESTABLISHED - paket je sou��st� ji� existuj�c�ho spojen� (ve kter�m prob�hly pakety ob�ma sm�ry)

o   NEW - jde o paket, kter� otv�r� nov� spojen� (nebo je sou��st� dosud jednostrann�ho spojen�)

o   RELATED - paket, kter� se vztahuje k n�jak�mu existuj�c�mu spojen�, ale nen� p��mo jeho sou��st� (nap�. ICMP chybov� zpr�va)

o   INVALID - paket kter� nelze p�i�adit ��dn�mu existuj�c�mu spojen� (neplatn� spojen�)

Konfigurace firewallu

Logov�n�

Logov�n� se prov�d� prost�ednictv�m daemona syslogd do souboru /var/log/messages (v n�kter�ch p��padech je d�le�it� tak� hlavn� syst�mov� log /var/log/syslog).

Roz���en� iptables

Target Extensions - roz���en� c�le

pomoc� p�ep�na�e -j

o   LOG

o   DNAT, SNAT

o   REDIRECT

o   TTL

Match Extensions - rozli�en� paket� jinak, ne� dle IP
- pomoc� p�ep�na�e -m

        state

        iprange, multiport

        mac, physdev

        limit

        time, account

Z�plavov�m DoS zpr�v�m se lze v�t�inou br�nit na firewallu, v kombinaci se syncookies.
Ochrana firewallem //pozn. DoS (Denial of Service) = odm�tnut�, odep�en� s�ov�ch slu�eb

iptables -N syn flood

iptables -A INPUT -i eth0 -p tcp --syn -j syn flood

iptables -A syn flood -m limit --limit 1/s --limit-burst 5 -j RETURN

iptables -A syn flood -m limit --limit 1/s --limit-burst 5 -j LOG --log-prefix=�SYN flood�

iptables -A syn flood -j DROP

Anal�za a statistika z�znamov�ch soubor� s�ov�ho firewallu Iptables

Existuj� tucty r�zn�ch �e�en� s�ov�ch firewall� a pro ka�d� �e�en� existuje unik�tn� form�t z�znamov�ch soubor�. N�kter� takov� za��zen� zaznamen�vaj� pouze m�lo informac� o p�enosech - p�ibli�n� ty sam� informace jako v�t�ina sm�rova��. Jin� firewally jsou schopn� zaznamenat i spoustu detail� o p�enosech, kter� monitoruj�. Hloubka na�� anal�zy incident� a podez�el� aktivity bude velice z�le�et na rozmanitosti v mno�stv� zaznamenan�ch informac�.

Iptables zaznamen�v� ud�losti mnohem komplexn�ji, ne� v�t�ina ostatn�ch typ� firewall�.

Dec 1 14:04:12 debian kernel: [6111.337472] INPUT drop: IN=eth1 OUT= MAC= SRC=192.168.2.100 DST=224.0.0.251 LEN=260 TOS=0x00 PREC=0x00 TTL=255 ID=0
DF PROTO=UDP SPT=5353 DPT=5353 LEN=240

Zde je stru�n� vysv�tlen�, jak� v�znam maj� jednotliv� pol��ka t�to polo�ky z�znamov�ho souboru: datum, �as, jm�no hostitele firewallu Iptables, �rove� syslog, p��choz� a odchoz� rozhran�, MAC adresy, zdrojov� IP adresa, c�lov� IP adresa, d�lka paketu (LEN), typ slu�by (TOS), priorita typu slu�by (PREC), doba �ivota (time-to-live, TTL), IP identifika�n� ��slo (ID), IP protokol, zdrojov� port, c�lov� port a d�lka u�ite�n�ho obsahu. P��znak DF (Don�t fragment) zna�� z�kaz fragmentace (DF = 1 nebo 0).

Iptables zaznamen�v� tak� n�kolik dal��ch informac�, kter� jsou u�ite�n� p�i prov�d�n� anal�zy z�znamov�ch soubor�. Tyto informace mohou b�t hodnotn� v p��padech, kdy� ur�ujeme povahu �toku stejn� tak jako vlastnosti a z�m�ry potenci�ln�ho �to�n�ka (ov�em v p��pad� velmi dobr�ho obezn�men� s detekc� s�ov�ho vniknut�).

Wflogs je n�stroj k anal�ze log� firewall�. M��e b�t pou�it k tvorb� souhrnn�ch report�, a to v otev�en�m textu, HTML a XML, nebo k monitorov�n� firewall-log� v re�ln�m �ase. Tento n�stroj je sou��st� tzv. WallFire projektu, ale m��e b�t vyu��v�n nez�visle. WallFire je ur�en� k pr�ci na re�ln�ch syst�mech jako jsou Unix, Linux a *BSD, od toho se samoz�ejm� odv�j� podporovan� syst�my. Sou�asn�mi vstupn�mi moduly wflogs jsou netfilter, ipchains, ipfilter, cisco_pix, cisco_ios a snort. P��klad pou�it�, kdy se p�ekonvertuje pat�i�n� logovac� soubor netfilteru do HTML v�stupu, je d�le.

# wflogs -i netfilter -o html netfilter.log > /var/www/wflogs/logs.html

Automatick� aplikace pravidel firewallu iptables

Jestli�e si manu�ln� anebo n�jak�m skriptem nastav�me pot�ebn� pravidla firewallu, je t�eba zabezpe�it automatick� spu�t�n� firewallu p�i startu/restartu opera�n�ho syst�mu a p��mo tak vynutit aplikaci pravidel filtrov�n�. Na Debianu je podporovan� n�sleduj�c� zp�sob [12], [27].

Jako prvn� provedeme linuxov� skript spustiteln�m (vlastn�k m��e soubor spou�t�t, zapisovat a ��st): #chmod 700 firewall-iptables.sh Pozn. Pro takzvan� �Debian-based� distribuce (distribuce zalo�en� na Debianu) plat�: skript firewallu je vhodn� pou�t�t ihned po spu�t�n� s�. rozhran� - p�i startu syst�mu pou��v�me vlastn� skript - zkop�rujeme jej tedy do adres��e /etc/init.d/ - spust�me n�sleduj�c� p��kaz #update-rc.d firewall-iptables.sh defaults 19 nebo v libovoln�m souborov�m mana�eru (mc) vytvo��me symlink (symbolick� odkaz) na skript

Adding system startup for /etc/init.d/firewall-iptables.sh ...

        /etc/rc0.d/K19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

        /etc/rc1.d/K19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

        /etc/rc6.d/K19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

        /etc/rc2.d/S19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

        /etc/rc3.d/S19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

        /etc/rc4.d/S19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

        /etc/rc5.d/S19firewall-iptables.sh -> ../init.d/firewall-iptables.sh

T�mto p��kazem jsme u�inili skript firewall-iptables.sh startovac�m skriptem (tj. je zaji�t�no jeho automatick� spu�t�n�). Kontrolu nastaven�ch pravidel v jednotliv�ch �et�zc�ch v�choz�ch tabulek filter, nat a mangle provedeme v konzole p��kazov�ho ��dku n�sledovn� -viz obr�zky (tato aplikovan� pravidla je nutn� vyzkou�et a otestovat tak� v praxi, aby se ov��ilo, zda v�e funguje, jak m�!):

Z v��e uveden�ho je z�ejm�, �e tabulky nez�staly pr�zdn� ani po restartu OS. Jsou napln�ny p��slu�n�mi pravidly definovan�mi p�i tvorb� skriptu pro automatick� spou�t�n�. Ru�n� spu�t�n� skriptu, tzn. manu�ln� uplatn�n� pravidel firewallu je mo�n� p��kazem #sh /etc/init.d/firewalliptables.sh. Skript neb�� jako daemon → nelze restartovat, �prava za b�hu je mo�n� pomoc� p��kaz�.

TCP Wrappers - omezen� p��stupu k s�ov�m slu�b�m

Nejjednodu��� zp�sob zabezpe�en� po��ta�e je nespou�t�t na n�m ��dn� slu�by, kter� by reagovaly na s�ov� provoz. To v�ak nen� u serveru mo�n�, proto�e pot�ebujeme obsluhovat nejr�zn�j�� slu�by. Kompromisn�m �e�en�m je omezit spolupr�ci serveru ke komunikaci s klienty na nejni��� mo�nou m�ru. Z�ejm� nejsnadn�j�� metoda omezen� p��jmu s�ov�ch spojen� je TCP wrapper (bal��ek tcp_wrappers). Je to knihovna, kterou lze snadno p�ilinkovat k prakticky jak�mukoliv programu. Jej� funkce spo��v� v tom, �e ve�ker� p��choz� TCP spojen� jsou nejprve podrobena kontrole a teprve pak p�ed�na k obslou�en� samotn�mu programu. Kontroly, kter� povol� nebo odm�tnou p��choz� spojen�, jsou pro v�echny programy, kter� TCP wrapper pou��vaj�, soust�ed�ny ve dvou souborech: /etc/hosts.allow a /etc/hosts.deny. Kup��kladu lze zak�zat p��stup v�em stroj�m, jejich� jm�no neodpov�d� jejich IP adrese (tzv. paranoidn� m�d). V sou�asn� dob� jsou s touto knihovnou slinkov�ny t�m�� v�echny programy, kter� p�ij�maj� TCP spojen� (dokonce i NFS d�moni pracuj�c� s UDP). P�esto existuj� v�jimky - nap�. WWW server Apache, u n�ho� omezen� p��stupu nastavujeme v jeho vlastn�m konfigura�n�m souboru.

Tcp_wrapper pracuje se dv�ma konfigura�n�mi soubory:
/etc/hosts.deny � zak�zan� p��stup (obsahuje seznamy stroj�, kter� k dan�m slu�b�m p��stup nemaj�) /etc/hosts.allow � povolen� p��stup (definuje seznamy stroj�, ze kter�ch je p��stup k uveden�m slu�b�m povolen)

Firewall spolupr�c� s TCP Wrappers umo��uje vhodnou obranu nap�. proti �tok�m hrubou silou, kdy se �to�n�k sna�� z�skat p��stup do syst�mu (prolomit heslo) generov�n�m n�hodn�ch sekvenc� - slov, slovn�ch spojen�, ��seln�ch kombinac�, atp., a vznik� p�itom velk� mno�stv� ne�sp�n�ch spojen� sm�rovan�ch na ur�itou slu�bu dan�ho syst�mu. Tato podez�el� s�ov� aktivita je firewallem detekov�na (postup st�le opakujeme, jen zkou��me jin� hesla => n�hl� zv��en� z�t�e, alokace prost�edk� syst�mu; ov�em po�adavky p�ich�zej� z jedn� IP adresy stroje, pop��pad� n�kolika m�lo IP adres, pokud se jedn� o distribuovan� �tok). Firewall dynamicky uprav� soubor /etc/hosts.deny p�id�n�m zdrojov� IP adresy potenci�ln�ho �to�n�ka (zji�t�n� z hromadn� p�ich�zej�c�ch paket�) a n�sledn� �odst�ihne� vzd�len�ho u�ivatele, kter� se ji� nikdy nep�ipoj�. Stanoven�m vhodn�ho limitu po�tu spojen� za sekundu (pop�. minutu, hodinu) se lze takov�mu �toku efektivn� br�nit, ov�em tak, aby nedo�lo k omezen� pr�voplatn�ch u�ivatel� odep�en�m slu�by (v p��pad� nedosta�uj�c�ch limitn�ch hodnot). V linuxov�m prost�ed� je osv�d�ena spolupr�ce firewallu Iptables s TCP Wrappers

Port m��e b�t otev�en�, co� znamen�, �e na n�m b�� n�jak� slu�ba, nebo zav�en�, pokud na n�m nic neb��. Je mo�no rozpoznat je�t� jeden stav, a to je filtrovan�, kdy je port chr�n�n firewallem. P�i pokusu o p�ipojen� na port TCP je zp�t odesl�n paket s p��znaky RST a ACK. V p��pad�, �e se jedn� o UDP porty, je zp�t posl�n ICMP paket (zpr�va) typu 3, z �eho� vypl�v�, �e port je nedosa�iteln�. ICMP zpr�vy jsou vkl�d�ny do datov� ��sti IP paket� (za 20B hlavi�ku), ��slo protokolu vy��� vrstvy je 1.

Proxy server

Squid HTTP Proxy 3.0

D��ve jmenovan� t�i mo�nosti vyu�it� proxy serveru si p�edstav�me na kvalitn�m open-source proxy serveru pro cachov�n� obsahu WWW str�nek. Jeho jm�no je Squid a pro sv� mo�nosti vyu�it� je velmi dob�e zn�m nemal� linuxov� komunit�.

Squid umo��uje klient�m pracovat s protokoly HTTP, HTTPS, FTP a podporuje i n�kolik dal��ch, m�n� pou��van�ch aplika�n�ch protokol�.

P�ed instalac� Squidu je t�eba si uv�domit, �e p�ev�n� ��st �innosti proxy serveru spo��v� v uchov�v�n� objekt� v pam�ti a na disku. ��m v�ce budeme m�t pam�ti (doporu�eno nejm�n� 128 - 256 MB), t�m rychlej�� bude proxy server. Jestli�e se �daje budou uchov�vat na pevn�m disku, jeho rychlost rapidn� ovlivn� v�kon samotn�ho proxy serveru. Z toho plyne pou�it� velmi rychl�ch disk� se sb�rnic� SAS (serverov�), p��padn� SATA disk� nejl�pe zapojen�ch do tzv. RAID pole 0 (stripping).

 

Kompilace a instalace Squidu

Pro kompilaci ze zdrojov�ch soubor� vysta��me s:

./configure --enable-linux-netfilter

make all

make install

Kompilace Squidu s parametrem �--enable-linux-netfilter� => kernel je kompilov�n s podporou transparentn�ho proxy.

Instalace adres��ov� struktury cache

Po nainstalov�n� Squidu je t�eba vytvo�it adres��ovou strukturu, ve kter� bude uchov�vat obsah svoj� cache pam�ti (cachovan� soubory). N�kter� linuxov� distribuce vytvo�� tuto strukturu p�i instalaci nebo prvn�m spu�t�n�. V n�kter�ch p��padech se mus� tato struktura vytvo�it ru�n� (nap�. p�i kompilaci Squidu ze zdrojov�ch soubor�):

/usr/sbin/squid3 -z

V�sledkem je vytvo�en� adres��ov� struktury v adres��i uveden�m v konfigura�n�m souboru "/etc/squid3/squid.conf", standardn� je to "/var/spool/squid3".

Spou�t�n� a zastavov�n� Squidu

Program Squid se spou�t� automaticky p�i startu syst�mu v runleveli 3 a 5, proto�e nem� v�znam jej pou�t�t manu�ln�. Co v�ak v�znam ur�it� m�, je jeho ovl�d�n� z p��kazov�ho ��dku v p��pad� �dr�by, upgrade, zm�ny konfigurace a podobn�.

V p��pad� pou�it� �init� skript� jsou v�echny operace velmi jednoduch�:

        Spu�t�n� Squidu: /etc/init.d/squid3 start

        Zastaven� Squidu: /etc/init.d/squid3 stop

        Restartov�n� Squidu: /etc/init.d/squid3 restart

        Op�tovn� na�ten� konfigura�n�ch soubor�: /etc/init.d/squid3 reload

Pozn�mka: �init� skripty jsou jen rozhran�m k ovl�d�n� Squidu pomoc� p��kazov�ho ��dku konzole.

debian:/home/zdenek# /etc/init.d/squid3 restart
Restarting Squid HTTP Proxy 3.0: squid3 Waiting.....................done

Jestli�e �init� skripty pou�ity nejsou, operace jsou ��ste�n� odli�n� (cesta z�vis� na instalaci Squidu):

        Spu�t�n� Squidu: /usr/sbin/squid3 �

        Zastaven� Squidu: /usr/sbin/squid3 -k shutdown �

        Op�tovn� na�ten� konfigura�n�ch soubor�: /usr/sbin/squid3 -k reconfigure

Konfigura�n� soubor "/etc/squid3/squid.conf"

Konfigura�n� soubor obsahuje direktivy pro proxy server Squid. Ka�d� ��dek m� tvar:

direktiva hodnota1 [hodnota2 hodnota3 � hodnotaN]

Mnoho direktiv m� nastaven� implicitn� hodnoty, tak�e je nen� nutno ani odkomentovat (o tom v�dy informuje koment�� v p��slu�n� ��sti konfigura�n�ho souboru "squid.conf").

Soubor je velmi dob�e komentovan�, v�t�ina parametr� je u� defaultn� nastavena spr�vn�, krom� parametr� t�kaj�c�ch se zabezpe�en�, nastaven� vlastnost� cache �i vlastn� adresy s�t�. Implicitn� nastaven� proxy server zabra�uje p�ipojen� u�ivatel�m z jak�koliv s�ov� adresy krom� 127.0.0.1.

Nastaven� s�t� (sekce NETWORK OPTIONS)

N�sleduj�c� nastaven� umo��uje ur�it porty, na kter�ch Squid �naslouch�. ��m m�n� port� je otev�en�ch, t�m ni��� je riziko jejich zneu�it�. N�kter� z t�chto port� ne v�dy pot�ebujeme, tak�e je m��eme zak�zat.

        http_port 3128: port, na kter�m Squid defaultn� p�ij�m� po�adavky klient�. Tento port je nevyhnuteln� pro �innost Squidu. �

        icp_port 3130: port, pomoc� kter�ho Squid spolupracuje s rovnocenn�mi proxy servery. V p��pad� nevyu�it� je mo�n� tuto funkci zablokovat hodnotou ��sla portu �0�. �

        htcp_port 4827: port, pomoc� kter�ho Squid spolupracuje s rovnocenn�mi proxy servery. V p��pad� nevyu�it� je mo�n� tuto funkci zablokovat hodnotou ��sla portu �0�.

Nastaven� cache (sekce OPTIONS WHICH AFFECT THE CACHE SIZE)

Pomoc� t�chto nastaven� m��eme ovlivnit velikost diskov� cache pam�ti, objekty, kter� se nemaj� uchov�vat v cache pam�ti a algoritmus odstra�ov�n� objekt� z cache pam�ti v p��pad�, �e doch�z� pot�ebn� pam�ov� prostor a je t�eba ulo�it objekty nov�.

        cache_mem 8 MB: velikost pam�ti pou��van� na nejv�ce u��van� objekty. Hodnotu zv�t��me dle na�ich mo�nost� a n�rok�. Pozor, nejde o pam�, kterou bude Squid zab�rat. Ve skute�nosti bude proces �squid� zab�rat v pam�ti v�ce! �

        maximum_object_size 4096 KB: maxim�ln� velikost objektu uchov�van�ho v cache pam�ti. V�t�� objekty se uchov�vat nebudou.

        minimum_object_size 0 KB: minim�ln� velikost objektu uchov�van�ho v cache pam�ti. Men�� objekty se uchov�vat nebudou. Hodnota �0� znamen� ignoraci tohoto po�adavku.

        maximum_object_size_in_memory 8 KB: maxim�ln� velikost objektu, kter� m� b�t uchov�van� ve fyzick� pam�ti.

        cache_replacement_policy lru: algoritmus odstra�ov�n� objekt� z cache pam�ti (ur�uje, kter� objekty budou odstran�ny a kter� z�stanou v pam�ti). V�choz�m nastaven�m je �lru� (least recently used � nahrad� nejd�le nevyu��vanou str�nku). Pomoc� tohoto parametru lze radik�ln� ovlivnit v�kon proxy serveru, pravd�podobn� to v�ak vy�aduje rekompilaci k�du (tzv. bal��kov� verze nepodporuj� v�echny algoritmy). N�kter� z dal��ch u��van�ch algoritm� jsou �lfu� (least frequently used � nahrad� nejm�n� vyu��vanou str�nku), �nfu� (not frequently used � str�nka nepou��van� �asto), d�le pak aging (st�rnut�), apod.

        memory_replacement_policy lru: algoritmus odstra�ov�n� objekt� z fyzick� pam�ti (stejn� princip jako u parametru �cache_replacement_policy�).

Cesty k �log� soubor�m a cache (sekce LOGFILE PATHNAMES AND CACHE DIRECTORIES)

       cache_dir ufs /var/spool/squid3 100 16 256: nastaven� adres��e s cachovan�mi objekty. Prvn� parametr (�ufs�) ur�uje zp�sob uchov�v�n� soubor�. Druh� parametr (�/var/spool/squid3�) ur�uje adres��, ve kter�m se uchov�vaj� objekty. T�et� parametr (�100�) ur�uje velikost cache pam�ti na disku (v jednotk�ch MB). Posledn� dva parametry ur�uj� po�et vytvo�en�ch adres��� ni��� �rovn� v adres��i s cache. P�i defaultn�m nastaven� se vytvo�� 16 podadres���, ka�d� z nich m� dal��ch 256 podadres���, v kter�ch se uchov�vaj� objekty. Tyto adres��e se vytv��ej� pro zrychlen� p��stupu k objekt�m � nem�lo by do nich b�t zasahov�no. Je nutn� pamatovat tak� na to, �e po zm�n� hodnoty t�to direktivy je t�eba znovu vytvo�it/upravit adres��ovou strukturu cache pam�ti (pozn. spustit Squid s parametrem �-z�).

       cache_access_log /var/log/squid3/access.log: logovac� soubor se z�znamy ka�d�ho po�adavku.

       cache_log /var/log/squid3/cache.log: logovac� soubor se v�eobecn�mi informacemi o spr�v� cache pam�ti. M��eme ho sledovat nap��klad po spu�t�n� proxy serveru a dozv�d�t se, zda je v�e v po��dku.

       cache_store_log none: logovac� soubor obsahuj�c� z�znamy o objektech, �ase vlo�en� do cache pam�ti, �ase odstran�n� z cache pam�ti a podobn�. V konfigura�n�m souboru je p��mo zm�nka o neexistenci seri�zn� utility pro anal�zu tohoto souboru, tak�e ho m��eme zak�zat (hodnota �none�).

       emulate_httpd_log off: umo��uje zapnout a vypnout emulaci form�tu HTTP serveru (Apache) v logu �cache_access_log�. Emulovan� form�t lze jednodu�eji ��st (spr�vcem), ale pro p�irozen� form�t existuj� speci�ln� n�stroje na anal�zu p��stup� a podobn�.

Vylad�n� cache pam�ti (sekce OPTIONS FOR TUNING THE CACHE)

       request_body_max_size 1 MB: maxim�ln� velikost HTTP po�adavku.

       reply_body_max_size 0: maxim�ln� velikost HTTP odpov�di. Umo��uje zablokovat stahov�n� objemn�ch soubor� (MP3, AVI, apod.) p�es proxy server. V�choz� nastaven� nelimituje p��choz� odpov��.

��zen� p��stupu pomoc� ACL (Access Control Lists)

Ke kontrole p��stupu slou�� v nastaven� Squidu p��stupov� z�znamy (ACL � Access Control Lists).

Ka�d� ACL se skl�d� nejm�n� ze �ty� ��st�:

acl jm�no typ hodnota . . .

acl jm�no typ "soubor" . . .

1.      direktiva acl

2.      jm�no ACL (bude se na n�ho odvol�vat p�i samotn�m ��zen� p��stupu)

3.      typ ACL (ur�uje, co se bude kontrolovat, nap�. zdrojov� adresa, c�lov� adresa, atd.)

4.      hodnota, p��padn� v�cero hodnot (hodnota je uveden� jako �et�zec, pop��pad� je mo�n� uv�st jm�no souboru v uvozovk�ch � soubor mus� b�t textov�, ve kter�m ka�d� ��dek znamen� jednu hodnotu)

N�sleduje z�znam nejpou��van�j��ch typ� ACL s uveden�m jejich syntaxe a kr�tk�m popisem. V�echny jsou uveden� v konfigura�n�m souboru "/etc/squid3/squid.conf". P�ipom�n�m, �e c�lov� adresa znamen� adresu (HTTP) serveru, zdrojov� adresa je adresa klientsk�ho po��ta�e, kter� si ��d� od proxy serveru zp��stupn�n� www str�nky na dan� c�lov� adrese.

       acl aclname src 10.0.0.0/255.255.255.0 ...: definuje ACL zalo�en� na zdrojov� IP adrese a masce �

       acl aclname src 10.0.0.1-10.0.63/255.255.255.255 ...: definuje ACL pro zadan� rozsah zdrojov�ch IP adres �

       acl aclname dst 192.168.0.0/255.255.255.0 ...: definuje ACL pro zadanou c�lovou IP adresu s maskou �

       acl aclname srcdomain .foo.com ...: definuje ACL pro zadanou ��st dom�ny ve zdrojov� adrese (vykon� se reverzn� p�eklad zdrojov� adresy) �

       acl aclname dstdomain .foo.com ...: definuje ACL pro zadanou ��st dom�ny v c�lov� adrese (z URL adresy) �

       acl aclname srcdom_regex [-i] xxx ...: definuje ACL pro zdrojovou adresu (adresu klienta), kter� vyhovuje regul�rn�mu v�razu. Parametr "-i" znamen�, �e se nebude br�t v �vahu velikost p�smen. �

       acl aclname dstdom_regex [-i] xxx ...: definuje ACL pro c�lovou adresu (adresu serveru), kter� vyhovuje regul�rn�mu v�razu. Parametr "-i" znamen�, �e se nebude br�t v �vahu velikost p�smen. �

       acl aclname time [day] [h1:m1-h2:m2]: definuje ACL pro ur�itou �asovou relaci � jsme schopni ur�it konkr�tn� dny (S - Sunday, M - Monday, T - Tuesday, W - Wednesday, H - Thursday, F - Friday, A - Saturday) a �asy (h1:m1 mus� b�t m�n� jako h2:m2). �

       acl aclname url_regex [-i] ^http://www.foo.com ...: definuje ACL pro URL, kter� vyhovuje regul�rn�mu v�razu. V tomto p��pad� mus� URL za��nat textem http://www.foo.com. �

       acl aclname urlpath_regex [-i] \.gif$ ...: definuje ACL pro ��st URL adresy (cesty), kter� vyhovuje regul�rn�mu v�razu. V tomto p��pad� mus� cesta kon�it �et�zcem ".gif". �

       acl aclname port 80 70 21 ...: definuje ACL pro c�lov� port nebo v�ce c�lov�ch port� �

       acl aclname port 0-1024 ...: definuje ACL pro rozsah c�lov�ch port� �

       acl aclname proto HTTP FTP ...: definuje ACL pro typ protokolu �

       acl aclname method GET POST ...: definuje ACL pro metodu protokolu HTTP �

       acl aclname browser [-i] regexp: definuje ACL pro hlavi�ku "User-Agent" v protokolu HTTP (umo��uje detekovat typ prohl�e�e), kter� vyhovuje regul�rn�mu v�razu

Dal�� d�le�it� nastaven�

Tyto direktivy nastavuj� rozli�n� administrativn� parametry:

       cache_mgr root: e-mailov� adresa spr�vce cache.

       cache_effective_user squid: u�ivatel, s jeho� pr�vy b�� procesy Squidu, jestli�e byl spu�t�n� pod tzv. rootem. Doporu�uje se vytvo�it speci�ln�ho u�ivatele (nap�. �squid�).

       cache_effective_group squid: skupina, s jej�mi� pr�vy b�� procesy Squidu, jestli�e byl spu�t�n� pod tzv. rootem. Doporu�uje se vytvo�it speci�ln� skupinu (nap�. �squid�).

       memory_pools on: zapnut� t�to volby zp�sob�, �e si Squid udr�uje alokovanou (i kdy� nevyu�itou) pam� pro dal�� pou�it�. V p��pad� nedostate�n�ho mno�stv� pam�ti lze volbu zak�zat pomoc� hodnoty �off�.

       memory_pools_limit 50 MB: velikost pam�ti, kterou si Squid udr�uje alokov�nu, jestli�e pou��v�me �memory_pools�.

       error_directory /usr/share/squid3/errors/Czech: adres�� s chybov�mi hl�en�mi � defaultn� anglick� jazyk. Zde uveden� direktiva zabezpe�� zobrazov�n� �esk�ch chybov�ch hl�en�. Chybov� hl�en� jsou ulo�en� jako samostatn� HTML soubory, kter� jsme schopni libovoln� modifikovat a vhodn� dopl�ovat.

       snmp_port 0: v p��pad� nevyu�it� SNMP slu�by (resp. protokolu), m��eme zak�zat dal�� port pomoc� hodnoty �0�.

       chroot /chroot_jail: umo�n� uzav��t program Squid ve vyhrazen�m adres��i (syst�mov� vol�n� chroot ()). V�echny cesty, kter� Squid pou��v�, se stanou relativn�mi cestami od tohoto adres��e, tedy nap�. "/var/spool/squid3" znamen� "/chroot_jail/var/spool/squid3". Ve v�choz�m nastaven� je volba vypnuta.

       logfile_rotate: po�et udr�ovan�ch logovac�ch soubor� p�i pou��v�n� "squid -k rotate" (p��pony p�edch�zej�c�ch log. soubor� budou ��sla). Tento p��kaz se vol� automaticky pomoc� programu �logrotate�. Jestli�e je hodnota parametru "logfile_rotate" rovna �0�, nastaven� ��d� program �logrotate�.

       append_domain: dom�na, kter� se p�id� za nekompletn� adresy v URL.

Redirector

Jakmile Squid u nov�ho po�adavku zkontroluje p��stupov� pr�va (ACLs), m��e p�edat URL ke zpracov�n� extern�mu redirectoru a pokra�ovat a� se zpracovanou URL. Redirector je jednoduch� filtr, co na standardn�m vstupu p�e�te URL, zpracuje ji a na standardn� v�stup vyp�e novou verzi. K zapnut� redirectoru slou�� klauzule redirect_program, kam se zad� cesta k programu. Pomoc� ACL oper�toru redirector_access m��eme nastavit, pro kter� po�adavky bude redirector uplatn�n. Sou��st� Squidu ��dn� redirector nen�, je tedy t�eba vyu��t software t�et� strany nebo vytvo�it vlastn�.

Refresh algorithm

Pokud nen� cachov�n� �pln� zak�z�no direktivami HTTP jako Pragma: no-cache nebo Cache-control: {Private,No-Cache,No-Store}, m��e b�t objekt p�i pr�chodu proxy serverem ulo�en do pam�ti cache. Refresh algorithm je algoritmus, podle kter�ho Squid ur�uje, jestli objekt m��e je�t� klientovi vr�tit z cache (objekt je FRESH), nebo zda u� je p��li� zastaral� a neaktu�ln� (STALE) a mus� se tud� obnovit z p�vodn�ho serveru a n�sledn� pot� p�edat klientovi, kter� o n�j ��dal.

Hierarchick� cachov�n� (pro komunikaci vyvinut speci�ln� protokol ICP)

Pokud Squid pot�ebuje pro klienta z�skat n�jak� dokument, obrac� se p��mo na vzd�len� server. Mnohem efektivn�j�� by ale bylo, kdyby se obr�til nejd��ve na n�jakou jinou cache pobl�, kde latence spojen� bude mnohem men��. Vztahy mezi cache jsou dvou druh�: "parent" (rodi�) a "sibling" (sourozenec). Sibling oproti parent serveru nebude nikdy obstar�vat objekt mimo svou cache.

Konfigurace Squidu

Transparentn� re�im Squidu

Nastaven� transparentn�ho re�imu Squidu v p�edchoz�ch verz�ch:

       httpd_accel_host virtual

       httpd_accel_uses_host_header on

       httpd_accel_port 80

       httpd_accel_with_proxy on

Od verze 2.6 sta�� v konfigura�n�m souboru squid.conf nastavit pouze:

       http_port 3128 transparent

       always_direct allow all

Plus samoz�ejm� zapnout p�esm�rov�n� ve firewallu Iptables:

# Proto�e pou��v�me proxy server Squid jako transparentn� proxy, je nutn� nastavit firewall Iptables tak, aby ve�ker� provoz sm��uj�c� na port 80 (WWW) byl automaticky p�epos�l�n tomuto proxy serveru. iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

# Jestli�e se jedn� o stejn� syst�m, pak plat� n�sleduj�c�. iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

V na�em p��pad� - $LAN_IN: eth1 [192.168.2.100/24], $INTERNET: eth0 [192.168.1.100/24],
                                    $SQUID_SERVER: 192.168.1.100, $SQUID_PORT: 3128

 

Vyjmut� X-Forwarded-For hlavi�ky z HTTP po�adavk�

Tento �kon se prov�d� z d�vodu anonymity klientsk�ch PC. Nedojde tak k necht�n�mu prozrazen� IP adres po��ta�� v intern� s�ti �schovan�ch� za proxy firewallem. V�sledek je zobrazen na 2 p��kladech.

v forwarded_for off [mo�nosti prom�nn� jsou: �on� � zapnuto, �off� � vypnuto]

Krom� toho se pomoc� hlavi�ky zji��uje unik�tnost n�v�t�vn�ka, nap�. p�i hlasov�n� v anket� apod. Hlavi�ku lze snadno podvrhnout, proto na n� nelze spol�hat. Squid disponuje dal��mi mo�nostmi anonymizace klienta prost�ednictv�m konfigura�n�ch direktiv anonymize_headers a fake_user_agent.

Zde bylo pouk�z�no pouze na n�kter� z obrovsk�ch mo�nost� konfigurace Squidu. Dal�� prov�d�n� nastaven� - viz P��loha diplomov� pr�ce, komentovan� konfigura�n� soubor /etc/squid3/squid.conf.

 

 

 

Konfigurace klientsk�ch webov�ch prohl�e��

Testov�n� s�t� & proxy serveru

 

Popis p�edchoz�ho obr�zku :

       eth0 - extern� s�ov� rozhran� [WAN]; ned�v�ryhodn� nebo nezn�m� s� (nap�. Internet)

       eth1 - intern� s�ov� rozhran� [LAN]; d�v�ryhodn� m�stn� s� (nap�. Intranet)

       lo - lok�ln� loopback, m�stn� smy�ka (IP adresa: 127.0.0.1, maska: 255.0.0.0); pro ��ely testov�n�

Vn�j��m rozhran�m eth0 byla data p�ij�m�na z Internetu a vnit�n�m rozhran�m eth1 poskytov�na m�stn�m hostitelsk�m stanic�m. Z obr�zku je patrn�, �e mod�e vyhrani�en� pole zna�� u s�ov�ho rozhran� eth0 download (RX bytes) a u s�ov�ho rozhran� eth1 upload (TX bytes). Hodnoty uveden� v t�chto pol�ch (v jednotk�ch megabajt�) n�zorn� dokazuj� funk�nost a efektivnost vyu�it� proxy serveru. V na�em p��pad� proxy serveru Squid.

Zobrazen� hodnoty mno�stv� dat je nutno br�t pouze v orienta�n�m m���tku, jeliko� byly v dom�c�ch omezen�ch podm�nk�ch testov�n� k dispozici pouze t�i dostupn� osobn� po��ta�e a jeden notebook, v�ichni p�ipojen� k proxy serveru p�es 100 Mbit/s switch (p�ep�na�), neprojevila se zdaleka tolik efektivnost vyu�it� proxy cache, jako nap��klad v p��pad� men�� �i st�edn� firmy o n�kolika des�tk�ch �i dokonce stovk�ch zam�stnanc�.

P�i takov�m po�tu p�ipojen�ch po��ta�� se �asto opakuj�c� se po�adavky na��taj� ��sporn� vzhledem k p�enosov� lince pouze z lok�ln� cache proxy (za p�edpokladu spln�n� ur�it�ch krit�ri�) a �et�� tak potenci�l (v�kon, n�kdy i cenu) s�ov�ch prost�edk� komunika�n� linky.

Vznikl� rozd�l mezi p�ijat�mi daty rozhran�m eth0 a odeslan�mi daty rozhran�m eth1 tvo�� pr�v� nacachovan� objekty v proxy, kter� byly rozhran�m eth1 odesl�ny klientsk�m stanic�m jako odpov�di na po�adavky, ani� by proxy server s t�mito hostitelsk�mi ��dostmi kontaktoval vzd�len� server na Internetu a vy��dal si novou/nenacachovanou, p��padn� aktualizovanou str�nku (tzn., po�adavky od klient� v�bec nepro�ly vn�j��m s�ov�m rozhran�m eth0). Diference mezi RX (pakety p�ijat�mi eth0) a TX (pakety odeslan�mi eth1) m��e b�t ovlivn�na tak� lok�ln�mi broadcast pakety (tj. lok�ln� ob�n�k).

δ = TX byteseth1 - RX byteseth0 = 7,4 MB - 5,7 MB = 1,7 MB - rozd�lov� hodnota zna��c� velikost objekt� ulo�en�ch v cache proxy (lok�ln� k dispozici klientsk�m stanic�m); [TX byteseth1 ≥ RX byteseth0]

Otestov�n� konektivity a zji�t�n� dostupnosti obou rozhran� linuxov�ho proxy zobrazuje obr�zek 35. Program ping testuje funk�nost cesty ke zvolen�mu c�li paketem ICMP a poskytuje statistiku zpo�d�n�. Ze zobrazen�ch v�sledk� (v�sledn�ch �as�) lze soudit, �e s�ov� komunikace je v po��dku

       IP adresa 192.168.2.100 - vnit�n� rozhran� [eth1].

       IP adresa 192.168.1.100 - vn�j�� rozhran� [eth0].

       Testov�no z po��ta�e uvnit� s�t� (PC1), IP adresa 192.168.2.1.

       Po��ta� m� p�es proxy server zaji�t�nou konektivitu do Internetu.

Zad�n�m p��kazu netstat -n zobraz�me aktivn� p�ipojen� TCP a provedeme kontrolu otev�en�ch s�ov�ch port�. Program netstat pod�v� informace o funkci cel�ho komunika�n�ho syst�mu a jeho jednotliv�ch komponent

Popis p�edchoz�ho obr�zku

Proxy server Squid b�� na s�ov� IP adrese 192.168.1.100 a naslouch� p��choz�m po�adavk�m klient� na portu 3128. Hostitelsk� po��ta� (klient) navazuj�c� spojen� m� IP adresu 192.168.2.1, priv�tn�/dynamick� port 5213X (porty 49152 - 65535 jsou pou��v�ny pro komunikaci klienta se serverem). Z obr�zku lze d�le vy��st, �e pro komunikaci byl pou�it spojov� orientovan� transportn� protokol TCP a tak�, �e se jedn� o nav�zan� stav. IP adresa 127.0.0.1 (localhost) je rezervov�na pro tzv. Popis p�edchoz�ho obr�zku 36: loopback, logickou smy�ku umo��uj�c� pos�lat pakety s�m sob�.

Sou�asn� stav sm�rovac� tabulky m��eme z�skat p��kazem route (bez parametr�) na stroji Debianu. Zkontrolujeme v n� obsa�en� �daje. P��kazem route konfigurujeme statickou sm�rovac� tabulku (nastaven� routov�n� a v�choz� br�ny).

IP 192.168.2.0 je adresa vnit�n� s�t� (dostupn� p�es rozhran� eth1), IP 192.168.1.0 je adresa vn�j�� s�t� (dostupn� p�es rozhran� eth0). U obou maska t��dy C (prefix /24). Defaultn� adres�t s IP 192.168.1.1 je br�na (gateway) s maskou s�t� 0.0.0.0 pro v�choz� trasu. Uveden� p��znaky znamenaj�: U (up) je funk�n� sm�rov�n� a G (gateway) je ozna�en� m�sta, kde se paket� uj�m� sm�rova�. Rozhran� je ozna�en� s�ov�ho adapt�ru.