Autor: Kub@z | 11.7.2004 |
Pred zhruba dvoma rokmi nastal v cechach a na slovensku boom firewallov. Ftedy k
nam dorazila (asi s dvojrocnym oneskorenim) sialena modna vlna Internetu z
Ameriky. (poznamka bokom - to dvojrocne oneskorenie trendov na ceskom a
slovenskom internete oproti USA je vlastne take male pravidlo, ktore som si
viackrat overil v praxi. Tuto teoriu som nazval PPPP (tm) : Pajkovo Pravidlo
Postupneho Prielomu. Funguje to tak ze sa staci pozriet na to co sa deje
momentalne v USA na Inete a pripocitat dva roky - a mozete fascinovat ludi na
vecierkoch presnymi predpovedami diania na slovenskom a ceskom internete. fakt
to funguje :)
Nie ze by si vramci toho inetovskeho boomu ludia uvedomovali potrebu bezpecnosti
pocitacovych sieti. To vobec nie. Za rozsirenie firewallov v nasich podnikoch
mozeme dakovat skupinam ludi ktori este doftedy montovali PCka, predavali
kancelarsky software a tonery do tlaciarni, a ktori zacali (pod nalepkou
"data security firma" alebo nieco podobne, zvycajne trapne anglicky
znejuce :) predavat aj firewally a strasit manazerov vidinou nejakych
imaginarnych skupin sfanatizovanych "hackerov", ktori 24 hodin denne
pod vlpyvom heroinu utocia na uctovnicku databazu vaseho podniku. Takychto
firmiciek je ako hub po dazdi a nedivme sa, firewall totiz stoji v priemere
okolo sto tisic korun. Nikto ale vlastne nevie kolko by presne taky firewall *mal*
stat, takze nie je problem nadhodit si na cenu slusnu proviziu. Naviac sa na
Slovensku a v Cechach vacsina firewallovych produktov predava prostrednictvom
exkluzivnych dealerov, ktori maju v moci urcit cenu pre cele slovensko a obcas
strielaju od pasa astronomicke sumy. Bezpecnost je mozno jedna z mala oblasti
Internetu kde su momentalne slusne prachy. Mozno je lepsie pri kupe firewallu
pobrowsovat si po Webe a najst si v USA alebo v Zapadnej Europe firmu ktora
takyto software ponuka, ale ktora nema exkluzivne zastupenie na Slovensku a kupit software priamo od vyrobcu.
Nesnazim sa kritizovat fakt ze pouzivanie firewallov je natolko rozsirene.
Kritizujem fakt ze firewally su take drahe, aj ked sa nejedna o zlozite
programy. Tiez si myslim ze firewally su pouzivane tam, kde to nie je
opodstatnene (napriklad akademicka sfera) a castokrat firewally zbytocne
limituju legitimnych uzivatelov. Problem je tiez, ze z terminu "firewall"
sa vyvinulo magicke slovo, za ktorym si ludia predstavuju genialny nastroj na
*dokonale* zabezpecenie siete. Admin nainstaluje firewall a mysli si ze to ma v
suchu. Tento clanok sa pokusi vyvratit tieto tvrdenia a tiez naznacit moznosti
ako moze legitimny uzivatel ofajcit limitacie firewallov.
V sucastnosti uz azda kazda firma s pevnou linkou na inet ma aj nejaky ten
software na filtrovanie alebo blokovanie trafficu. Konfiguracie firewallov sa
daju zhruba rozdelit do tychto styroch kategorii :
1. Zakazanie "nebezpecnych" portov.
Blbost, vyslovena blbost. Z historickych dovodov sa kategorizuju niektore porty
ako "nebezpecne". jedna sa napriklad o rexec, rlogin alebo rsh. v
dnesnej dobe vsak nie je problem modifikovat tieto sluzby tak, aby sa odstranili
tie vlastnosti, ktore niekto moze pokladat za bezpecnostny nedostatok. konkretne
ide napriklad o pouzivanie trust vztahov (.rhosts a podobne). Na priklad na
Linuxe ktory pouziva PAM Security sa daju tieto sluzby upravit v pam.conf tak,
aby vzdy vyzadovali autentifikaciu cez heslo.
Firewall v takomto pripade neplni ziadne uzitocne funkcie. pokial su zablokovane
niektore vybrane sluzby, akurat to obmedzuje uzivatelov. Potencialny utocnik si
takyto firewall sotva vsimne. Uvediem jeden priklad : robil sa testovaci utok na
jeden stroj v edit.cz domene. Po dosiahnuti root prav sa nadviazala komunikacia
so strojom cez 80 port pomocou backdooroveho cgi scriptu ktory interpretoval
prikazy zadavane cez web browser(backdoory z cgi scriptov mam rad, niet nad to
pochlipkavat espresso v inet kaviarni a zadavat priamo prikazy na unix server
cez Netscape). cely cas sa absolutne nedalo netusit ze na danej sieti sa
nachadza firewall. zistilo sa to az pri pokuse telnetnut sa na port 5002 (inetd
backdoor), ktory bol zakazany.
pokial ste zamestnanec takehoto podniku, mozete vychutnat jedinu pozitivnu
stranku tekejto konfiguracie - mozete veselo a neobmedzene surfovat po inete,
spravit si trebars na svojom desktope FTP server, a pod..
2. Zakazanie vsetkych portov okrem vybranych portov
Vacsina konfiguracii podnikovych firewallov spada do tejto kategorie.
Administrator vacsinou zablokuje vsetky porty okrem par vybranych sluzieb,
trebars 25 (smtp posta), 110 (pop posta) a 80 (http web). server ktory poskytuje
spomenute sluzby umiestni za firewall a umozni na neho obojsmerny traffic.
Pokial ste utocnik vonku za firewallom, alebo obmedzeny uzivatel vo vnutornej
sieti, staci ak pouzijete na komunikaciu jeden z otvorenych kanalov. napriklad
pokial chcete nabehnut telnet server na stroji za firewallom, staci ak zmenite
defaultny telnet port z 23 na 80. Alebo pokial chcete, staci na server vo vnutri
siete nahodit takyto cgi script:
#!/bin/sh
/bin/echo -n "Content-type: text/htm\n\n"
/bin/echo "<pre>\n"
$*
a potom mozete zadavat unix prikazy na server zvonku cez hocijaky browser ako
parameter cgi scriptu, napriklad :
http://www.server.sk/cgi-bin/script.cgi?ls+-la+/tmp
To vam spusti a vypise prikaz "ls -la /tmp".
Pokial chcete pouzit zakazanu sluzbu z vnutornej siete, musite ju presmerovat
cez otvoreny port, napriklad cez spominany port 80. Toto docielite pomocou tzv.
redirektorov. ak pouzijete trebars program redir-0.7, ktoreho linux a sun verzie
su na arxive (http://hysteria.sk/arxiv/), treba ho nabehnut niekde vonku za
firewallom tak, aby pocuval na povolenom porte 80 a spojenie presmeroval na vami
pozadovany stroj a port.
Tu je konkretny priklad: vas firewall napriklad povoluje obojsmerny traffic na
porte 80, ale zakazuje spojenie na irc servery, port 6667. Nehorazna nuda v
praci a silna zavislost na IRC vas prinuti uvazovat nad sposobom, ktory by vam
umoznil si z prace spustit irc klient a zabit cas bezduchym tliachanim na
nejakom kanali. Staci ak vonku za firewallom na masine server.vonku.sk nabehnete
redir s tymito parametrami :
./redir 80 irc.felk.cvut.cz 6667 &
Potom vam staci nastavit si na vasom klientovi irc server na server.vonku.sk:80.
Vase spojenie pojde cez povoleny port 80 a dostane sa na vonkajsi redirektor,
ktory vsetky data bude posielat dalej na irc.felk.cvut.cz 6667, co je priklad
irc servera.
3. Firewall nepovoluje akekolvek spojenia ktore idu zvonku do vnutornej siete a
zvnutra povoluje spojenia do internetu iba na niektore povolene porty
Toto je vysoky stupen bezpecnosti. Pokial sa napriklad banky alebo vladne urady
pripajaju na internet, volia zvycajne tuto moznost. Pokial pracujete na lokalnej
sieti ktora je takto zabezpecena a xcete si trebars nabehnut zvonka x-term,
alebo pouzit irc - nezufajte. mozete opat pouzit spomenuty redirektor a
presmerovat spojenie cez port, ktory je povoleny.
Druha moznost je pouzit TCP tunel. Pri tejto metode bezi jeden program na vasej
masine, alebo na nejakej masine vnutri na lokalnej sieti, a druhy program bezi
na stroji vonku na internete. Program vnutri za firewallom sa vola tunel, ten sa
spoji s programom ktory je vonku, ten sa vola portal. Ked sa tieto dva programy
spoja, vytvoria tunel na TCP komunikaciu.
Nazorny priklad :
Goof: tvoja masinka.
Foo : nejaka ina masinka vo vnutri firewallu, alebo ta ista ako "Goof",
na nej bezi "tunel"
Bar : stroj na opacnej strane firewallu, bezi "portal"
Boof: masina na ktoru sa chcete finalne pripojit
FIREWALL
tunel ^ portal
#########
^
#########
# Foo #======================# Bar #
#########
^
#########
| ^ |
| ^ |
| ^ |
#########
^
#########
# Goof #
^
# Boof #
#########
^
#########
FIREWALL
sedite na masine Goof a chcete si nabehnut X-kovy program z masiny Boof, takze
si na Boof-e nastavite display premennu na svoj stroj Goof, a nabehnete X-kovy
program, trebars xterm, ale vobec sa k vam nedostane, lebo sa zastavi na
firewalle.
Takze nabehnes tunel na masine Foo a nastavis ho tak, aby sa pripojil na masinu
Bar, napriklad na povolenom porte 7000 (tam bezi portal). Zaroven nastavis tunel
tak aby ti posielal vsetky TCP spojenia ktore idu naspat z portalu na tvoju
masinu Goof na port 6000 (X-Windows). Nabehnes portal na masine Bar a nastavis
ho aby pocuval tunel na porte 7000. Ked je tunel pripojeny, portal pocuva na
porte 6001 na prichadzajuce X spojenia. Vzdy ked sa nejaka X-aplikacia pripoji
na portal, spojenie sa presmeruje cez tunel, ktory spojenie nasmeruje na masinu
Goof, na port 6000.
Na zaver musis nastavit display premennu na masine Boof na Bar:1 (v tcsh shelli
napis 'setenv DISPLAY bar:1, v bash shelli 'export DISPLAY=bar:1'), co prikaze
aplikacii aby pouzila port 6001 (nemozeme pouzit port 6000 ak bezi na tej masine
X-server, ktory uz blokuje port 6000). Nabehni Xeyes a zazmurkaju ti na
obrazovke.
Na tento popisany sposob dokonca nepotrebujete mat nikde ani root prava. Obidva
spomenut programy, tunel a portal, si mozete stiahnut z arxivu (http://hysteria.sk/arxiv/)
(musim to furt opakovat ? :) tunel a portal maju okrem ineho aj vyhodu ze sa
daju skompajlovat na solarise, irixe, freebsd, hpux a linuxe. Redir 0.7 funguje
iba na solarise a linuxe.
4. Firewall nepovoluje ziadne spojenia zvonku ani zvnutra, povolene sluzby su
pristupne iba cez proxy server
Toto je maximalne zabezpecenie. Zakazat uplne vsetko a Web, FTP a trebars Gopher
povolit iba cez proxy server. V takomto pripade ste fakticky odkazani iba na
tieto sluzby, nepomoze vam ziaden redirektor ani tunel. Web je vsak plny sluzieb,
ktore vam mozno umoznia cez browser uskutocnit to, co Vam firewall zakazuje. Mam
na mysli verejne sluzby ktore umoznia cez WWW citat postu z lubovolneho POP
servera, IRC -> WWW interfasy a podobne.
Zaver
Neocakavajte na zaver sebavedome vyhlasenie typu "vidite ? firewally su
nanic !". Nebola by to vobec pravda. Dobre nakonfigurovany firewall dokaze
rozumne ochranit podnikovu siet pred utokom zvonka. Zaroven vsak casto obmedzuje
a limituje uzivatelov. Pri troske sikovnosti a casu vsak nie je problem oblafnut
firewall vyssie popisanymi metodami, predpokladom je vsak vzdy ze mate fyzicky
pristup na masiny na lokalnej sieti za firewallom.
pajka, pajka@hysteria.sk