Hlavní navigace

IPCop - strážce vaší sítě (2)

24. 10. 2002
Doba čtení: 7 minut

Sdílet

Po delší době se opět vrátíme k této zajímavé distribuci. Minule jsme ji nainstalovali, nyní je čas se s ní podrobněji seznámit. Ukážeme si, jak nastavit vytáčené připojení a webovou proxy, omrkneme systém aktualizací. Podíváme se, co a jak pro nás systém loguje, a na závěr si doinstalujeme filtrování reklam.

Vytáčená linka

Ze všeho nejdůležitější je zprovoznit připojení k Internetu. Veškeré nastavení provedeme pomocí webové administrace. Kliknutím na odkaz Dialup z hlavního menu se dostaneme k nastavení point-to-point protokolu.

Nastavení se ukládá do profilů, máme tak možnost nastavit si připojení až k pěti poskytovatelům (ISP). Většina voleb je jasná, zmíním proto jen některé.

V tabulce Telephony doporučuju nastavit Idle timeout na nějakou rozumnou hodnotu. Snadno by se totiž mohlo stát, že některý z uživatelů zapomene síť odpojit (vypnutí jeho počítače nic neřeší) a takovou radost monopolistovi nedopřejeme ;-). Zaškrtnutím volby persistent connection lze nastavit, aby bylo spadlé spojení znovu nahozeno.

Trochu matoucí jsou volby Dial on Demand a Dial on Demand for DNS. Je-li nastavena první z nich, tlačítkem Connect z hlavního menu ji pokaždé musíme aktivovat. Pokud ovšem chceme plnohodnotné vytáčení na přání, použijeme druhou volbu, která již funguje zcela automaticky, a implusem pro připojení je i dotaz na DNS. Chceme-li se například připojit po zadání adresy do browseru, druhá volba to vyřeší. Já mám tyto volby vypnuté, protože defacto dávají právo vytáčet všem programům v síti.

Takhle to vypadá, aktivujete-li funkci Dial on demand
Takhle to vypadá, aktivujete-li funkci Dial on demand

Po vyplnění tabulek Authentication a DNS už máme téměř vše hotovo. Pravděpodobně ještě budete muset změnit inicializační příkaz pro modem, aby nečekal na tón a rovnou vytáčel. S úspěchem jsem použil řetězec doporučovaný ve FAQ:

ATX3S6=4

Rád bych se ještě zmínil o drobném nedostatku, kterým podle mě vytáčení pomocí webového rozhraní zbytečně ztrácí na funkčnosti. Ačkoliv jsou totiž k dispozici profily pro několik ISP, jdou vybírat jen v sekci dialup, do které nemá (a ani by neměl mít) přístup uživatel dialup. Pokoušel jsem se přidat do úvodní stránky, odkud se vytáčí, možnost výběru profilu, ale nebyl jsem zcela úspěšný. Pokud se na to cítíte, napište mi a proberem detaily.

Aktualizace

Z bezpečnostního hlediska je velmi důležité sledovat dění kolem používaného softwaru. Na nově objevenou chybu většinou vyjde patch velmi brzy, je nám ale na nic, pokud jej na svůj stroj nenainstalujeme. Instalace oprav většinou vyžaduje nový překlad opravovaného balíku, který může být problematický i pro zkušenějšího uživatele. Navíc IPCop neobsahuje překladače, které na firewall nepatří. Řešením jsou balíky aktualizací, připravované speciálně pro IPCopa.

IPCop si udržuje seznamy dostupných a již nainstalovaných aktualizací. Informace o nových aktualizacích si vždy po připojení sám stáhne z domovských stránek projektu, samotnou instalaci balíků ale nechává na nás. Postup je jednoduchý: nejprve balík stáhneme ze stránek projektu, potom jej uploadneme pomocí webového rozhraní v sekci Updates.

Úryvek ze stránky s aktualizacemi
Úryvek ze stránky s aktualizacemi

Paradoxní ovšem je, že instalování aktualizace vzápětí po jejím vydání může občas způsobit problém. To se mi stalo při šestém, zatím posledním balíku, v kterém byla chyba. Naštěstí nic vážného, způsobila nefunkčnost webového rozhraní do příštího restartu. Po pár dnech byla oprava chyb opravena ;-). Přesto doporučuji hned po prvním připojení všechny aktualizace nainstalovat.

Webová proxy

Kešovanou webovou proxy pro IPCopa obstarává osvědčený Squid. Díky tomu můžeme výrazně zrychlit načítání stránek, na které jsme se již z naší sítě dívali. Proxy je třeba nastavit na serveru a také ve všech webových prohlížečích, které musíme o existenci proxy informovat.

Nejprve v sekci Services klikneme na odkaz Web proxy. Projděme si opět jednotlivá nastavení.

Cache size určuje počet MB, které lze použít pro ukládání stránek. Není důvodu nepřidělit pro tento účel většinu disku, neboť IPCop jej jinak k ničemu nevyužije. Nějaké volné místo ale přeci jen systém potřebuje, proto zvolte tuto hodnotu uvážlivě.

Pole Remote proxy sice můžeme nechat nevyplněné, ale jejím použitím můžeme rychlost brouzdání ještě krapet zlepšit. Lze použít třeba proxy vašeho ISP, a to ve formátu hostname:port.

Pomocí Max object size a Min object size můžeme omezit kešování jen na objekty (stránky, obrázky i jiné soubory) patřičné velikosti. Necháme-li pole nastavené na nulu, omezení je vypnuto.

Volby Max outgoing size a Max incoming size slouží k filtrování příliš velkých souborů pro upload resp. download. Pokud však nebude proxy transparentí (viz dále), dá se toto omezení snadno obejít – stačí si v prohlížeči vypnout použití proxy.

Nyní se musíme rozhodnout, použijeme-li transparentní proxy. Ta má samozřejmě svá pro i proti. Zbaví nás nutnosti nastavit prohlížeče na všech počítačích sítě a umožní nám omezit velikost stahovaných souborů. Někteří uživatelé vám ji ale otlučou o hlavu.

Posledním krokem je (případné) nastavení prohlížečů, kde pro http, https a ftp zadáme

ipcop:800

Informace o provozu a logy

Provozovat firewall a nesledovat přitom jeho logy je moudré asi jako zvuková signalizace požáru u hluchého. Proto si něco takového dovolí jen ti nejlenivější z nás ;-). Autoři ale zjevně lenivci nejsou, tudíž nám umožnili procházet nejrůznější logy přes web.

Které služby běží a které nikoli, zjistíte kliknutím na Information. Může vás zarazit, že ačkoli máte IDS zapnutý, zde se bude hlásit jako zastavený. To proto, že IDS se zapíná vždy jen tehdy, když se připojíte. Dále zde najdete informace o vytížení procesoru, paměti a disku, o síťových rozhraních a jádru.

Zajímavé jsou také grafy zatížení jednotlivých rozhraní pod odkazem traffic graphs a info o maškarádě pod odkazem connections.

Formulář pro výběr jednotlivých logů
Formulář pro výběr jednotlivých logů

Všechny logy jsou překvapivě v sekci Logs. Veškeré výpisy se dělají pro jednotlivé dny, trochu zamrzí, že si nemůžeme nechat vypsat celý týden či měsíc. Pro pochopení většiny informací z logů je nutné mít patřičné znalosti, naopak třeba z logu webové proxy i začátečník zjistí, kdo a kdy stahoval nahotinky :-).

Ještě se sluší upozornit, že IDS či firewall nás takto informují o nezdařených pokusech o vniknutí. Ty úspěšné se poznávají daleko hůř, neboť útočníci po sobě zametají stopy. Pokud neznáte Linux jako své boty, nemusíte si zdařilého útoku vůbec všimnout.

Filtrování reklam

Reklamní bannery zbytečně otravují a především zahlcují linku – stahování desítek kilobajtů přebytečné grafiky je na modemovém připojení znát. IPCop po standardní instalaci bohužel žádné prostředky pro filtrování reklam nenabízí. Nic nám ovšem nebrání si něco takového doinstalovat vlastnoručně.

Možností je několik, liší se především komplexností. Jednoduchým řešením je blokování vybraných serverů pomocí /etc/hosts:

127.0.0.1          localhost
192.168.0.1        ipcop

# seznam serverů, které chceme blokovat
0.0.0.0            www.otravnereklamy.cz
0.0.0.0            microsoft.com

Na internetu lze najít seznamy, které lze pro tento účel použít. Jeden takový najdete na adrese ssmedia.com/u­tilities/hosts/. Cenou za jednoduchost je fakt, že tento způsob neumožňuje dostatečně přesně odlišit reklamu od jiného obsahu, protože obojí se může nacházet na stejném stroji. Znepřístupníte si tak i další služby – ping by vás upozornil, že žádný Micro$oft nezná :-).

Naopak velmi komplexním řešením je DansGuardian, který umožňuje filtrování webového obsahu na základě černých listin, klíčových slov a dalších metod. Jeho instalací na IPCopa se zabývá IPCopDGHowto. Já jsem se ale rozhodl pro jakousi střední cestu a vyzkoušel jednoúčelovou záležitost Bannerfilter.

Bannerfilter je jakýmsi doplňkem pro Squid, který funguje následovně: dostane-li Squid požadavek na určitou URL, prožene tuto adresu skrze Bannerfilter a teprve pak požadavek zpracuje. Samotný filtr porovnává URL se svým černým seznamem. Obsahuje-li URL řetězec z tohoto seznamu, je adresa zaměněna za odkaz na prázdný obrázek.

Instalace není nijak zvlášť náročná, je potřeba postupovat podle návodu, který je součástí balíku. Plus pamatovat na pár drobností týkajících se IPCopa. Například je potřeba doinstalovat wget (případně něco obdobného), který se používá pro stahování aktuálních seznamů (viz dále). Pro vaše pohodlí jsem připravil balík obsahující vše potřebné. Stačí jej rozbalit v kořenovém adresáři:

# nejprve balík zkopírujeme na IPCopa
kuty@Timothy$ scp -P 222 ./bannerfilter.tar.gz ipcop:/root/

# pak se přihlásíme jako root a balík rozbalíme
kuty@Timothy$ ssh -p 222 root@ipcop
root@ipcop~$ tar xzf ~/bannerfilter.tar.gz -C /

Ještě musíme restartovat Squid pomocí webového rozhraní, a filtrování reklam je v provozu (pozor, je potřeba to udělat přes web a nikoli z shellu – kdo přijde na to, proč, vyhrává bonbón ;-).

Jednou za čas je vhodné spustit /usr/bin/bfupdate, který aktualizuje seznam reklamních adres z domovské stránky projektu. Seznam můžete (a asi budete muset) doplnit o některé české reklamní servery. Stačí upravit soubor /usr/local/bannerfilter/banners.local.data a poté jej nechat znovu načíst:

killall -HUP redirector.pl

root_podpora

Logování Bannerfilteru jsem nastavil do /var/log/squid/bannerfilter.log. Bylo by moc hezké dodělat pro Bannerfilter webové ovládání včetně výpisu tohoto logu a editace černé listiny. Pro generování dynamických stránek používá IPCop Perl, takže by to snad neměl být problém.

Závěrem

Tím naše povídání o tomto tučňákovi končí. Uvidíme, jak si povede v budoucnu – nová verze má být kompletně přepsaná. Měla by běžet na jádře řady 2.4, a tak se můžeme těšit na uživatelsky přítulný firewall založený na IPTables.

Byl pro vás článek přínosný?

Autor článku