(Grafické) front-endy pro nastavení firewallu v linuxu

Srovnání několika (druhů) grafických konfiguračních utilit linuxového firewallu.

9.3.2004 18:00 | Ondřej Čečák | přečteno 14883×

Co to firewall je jste se zde už mohli dočíst. Firewall je přímo v linuxovém jádře (netfilter) a obvykle se konfiguruje pomocí balíků iptables, které pomocí přehledných příkazů řeknou firewallu (= jádru), jak se má k síťovému provozu chovat.

Výhodou iptables je přehlednost a možnost jednoduché vzdálené konfigurace (není nutné si spouštět třeba kvůli malé úpravě XServer a v programu si doklikat vše potřebné). Někomu se ale ne moc uživatelsky přívětivé iptables líbit nemusí - pokud je zvyklý na grafické konfigurační utility, rozhodně se nemusí strohé konzole bát, pravidla si může v pohodě naklikat a to dokonce několika různými způsoby.

Grafických udělátek pro konfiguraci firewallu je obrovské množství, snažil jsem se vybrat několik typických a velmi použitelných zástupců.

Jak jsem zjistil, grafických utilit je několik druhů. Obvykle používají iptables, ale rozdíly jsou ve vlastním provedení - buď používají knihovny KDE nebo GNOME, pak to jsou různé (textové) skripty (bash, perl atp.), konzolové, ale grafické programy (obvykle využívají knihovny ncurses podobně jako třeba menuconfig linuxového jádra) a nebo jsou to utility ve formě PHP skriptů, které si pohodlně spustíte ve webovém prohlížeči.

Nyní ale přejdeme rovnou k popisům jednotlivých frontendů.

Knetfilter

Jako první jsem zkusil Knetfilter, K v názvu značí, že využívá knihoven KDE. Zkusil jsem poslední verzi 3.1.4 pro KDE 3, ale program jde stáhnout i pro starší verze KDE (1 i 2), ovšem je nutné počítat s tím, že samotný program nebude aktuální.

Knetfilter jsem instaloval ze zdrojových kódů, i když třeba v Debianu je starší verze i ve stabilní větvi. Měl bych zmínit, že Knetfilter není pouze frontendem pro iptables, ale také pro nmap a tcpdump.

Program bych moc nedoporučil pro začátečníky, protože je nutné mít o firewallech v linuxu (resp. o ovládání iptables) trochu přehled, program má veliké množství konfiguračních voleb a je třeba vědět, co děláte.

Přidávání obyčejných pravidel je zpracováno opravdu dobře, ale to hlavní teprve přijde. Velice podrobné možnosti nastavení NAT vám dovolí nastavit téměř vše na co si vzpomenete. Když ještě dodám, že program umožňuje nastavení QoS přes CBQ, iptables už nebudete vůbec potřebovat.

Jednotlivá pravidla můžete podle libosti ukládat a načítat, program používá formát iptable-save.

Hlavní okno programu Frontend pro nmap Konfigurace CBQ

Shrnutí

Komplexní možnosti nastavení včetně NAT a QoS dělá z programu Knetfilter velice dobrou klikací náhradu iptables. Jako bonus je frontendem pro tcpdump a nmap.

Funguje s jádry: 2.4.x a novějšími
Domovská stránka: http://expansa.sns.it/knetfilter

Firestarter

Abych vyrovnal převahu KDE, jako další program jsem zvolil Firestarter, který pro změnu využívá knihovny GNOME. Tento program je podobně jako předchozí v několika verzích podle verze GNOME, konkrétně pro verze 1.x a 2.x. Já jsem zkoušel verzi pro GNOME 2.x, konkrétně tu, co je v distribuci Debian Unstable (verze 0.9.2).

Hned po spuštění programu se objevil velice pěkně zpracovaný průvodce, který umožní začátečníkovi vytvořit velice jednoduchou a přitom účinnou konfiguraci. Standardně nastaví stavový firewall s explicitním povolením služeb, které si uživatel vybere (ať už protokol TCP nebo ICMP). Také je možné zapnout nastavování flagů ToS pro lepší směrování v rámci infrastruktury. Firestarter také automaticky nastavuje pár věcí, které se rozhodně hodí - ochrana před ICMP a TCP floodem.

Po dokončení průvodce je vygenerován bashový skript, který docela přehledně nastavuje firewall pomocí iptables. Takže pokud máte zájem si drobnosti ručně doladit, není to problém. Pravidla jsou poměrně složitá, protože i s pár pravidly bude výsledná konfigurace veliká, Firestarter totiž přidává docela dost věcí automaticky a ani definice skupin mu není cizí. Díky složitosti chvilku trvá, než firewall naběhne, v této době je všechen provoz (včetně lokálního!) zakázán. To samé platí, pokud přidáváte nové pravidlo, změna se sice okamžitě projeví, ale než se pravidla zavedou, není možné cokoliv dělat.

Sympatické je, že program je lokalizován do 25 jazyků, čeština ale bohužel chybí.

Výhodou Firestarteru je realtime sledování síťového provozu. V klidu si zkonfigurujete firewall a potom sledujete, jak pakety proplouvají vaším sítem. Rovnou při sledování můžete blokovat nebo naopak oprávnit různé hosty k různým portům nebo rovnou k plnému přístupu. Pokud se vám provoz nebude líbit, pomocí dvou klepnutí můžete síťový provoz kdykoliv zastavit a obnovit ho až po patřičném nastavení pravidel firewallu.

Nastavování jednotlivých pravidel je poměrně jednoduché - nastavit se dá blokování nebo naopak otevírání jednotlivých portů, to samé platí pro různé hostitele a pak také blokování portů jen pro určité hostitele. K pokročilejším věcem patří třeba NAT.

Průvodce Jednoduché nastavení pravidel

Shrnutí

Jednoduchý firewall se skvělým průvodcem, který bych vřele doporučil i začátečníkům. Navíc sledování provozu je určitě dobrá vlastnost. Vytknout se dá programu přílišná jednoduchost, se složitými konstrukcemi vám Firestarter nepomůže.

Funguje s jádry: 2.2.x a výše
Domovská stránka: http://firestarter.sourceforge.net

Jay's Iptables Firewall

Následující firewall je z úplně jiné skupiny než předcházející dva. Jedná se o několik skriptů v perlu, které vás provedou konfigurací v prostředí vzhledem připomínající ncurses konfiguraci jádra.

Po spuštění programu (budu rozebírat pouze spouštění v interaktivním režimu) je nutné nejprve nastavit pár věcí ohledně chování (jestli chránit před SYN floodem, jestli odpovídat na ping, jestli používat NAT, jak logovat apod.) a hlavně jak je vaše síť nastavena (domain name, jestli se používá DHCP atp.).

Jakmile je povinná konfigurace hotová, můžete směle přejít k nastavení portů na vašem počítači nebo forwardování (pozor, všechno nepovolené je implicitně zakázáno). To ale není vše, to hlavní se skrývá pod volbou Features. Zde si můžete nastavit svoje vlastní pravidla, ochranu před spyware (díky připojenému seznamu IP adres, které spyware používá), nastavení transparentní proxy, flagů ToS a nebo třeba VPN. Také umožňuje realtime sledování provozu přes ZorbIPTraffic.

Hlavní okno programu Vlastnosti

Shrnutí

Jay's Iptables Firewall byl sice původně napsán pro ochranu LAN, ale jeho použití je opravdu všestranné. Díky tomu, že se spouští v konzoli není problém spravovat firewall vzdáleně třeba přes ssh. Docela se mi líbí také připojený blacklist na spyware.

Funguje s jádry: 2.4.x a vyššími
Domovská stránka: http://firewall-jay.sourceforge.net/

Easy Firewall Generator for IPTables

Tento program (nebo spíš skript) funguje ještě jinak, než všechny předcházející. Jedná se o php skript, kterému zadáte vše potřebné a on vám vygeneruje docela přehledný a bohatě okomentovaný skript pro inicializaci firewallu pomocí iptables.

Program není třeba instalovat, stačí ho rovnou spustit z domovské stránky. V úvodu je malý tutoriál, popisující, k čemu firewall je a jak se v linuxu konfiguruje. Nechybí ani odkazy na ostatní podrobné návody, howto a podobně.

Konfigurace tedy probíhá přes webový prohlížeč, kde si zadáte, jak má firewall fungovat. Voleb moc není, jedná se opravdu o zcela základní věci jako je například konfigurace portů, které budou otevřeny. U každé otázky je popsáno, k čemu nastavení slouží, takže i když si moc pečlivě nepřečtete úvodní tutoriálek, rozhodně se v nastavení neztratíte.

Jak jsem už napsal, po klepnutní na tlačítko "Generate Firewall!" dojde k vygenerování skriptu, který můžete případně doladit podle svého, spustit a je hotovo.

Konfigurace přes webový prohlížeč

Shrnutí

Easy Firewall Generator for IPTables je zajímavě zpracovaný, ale také docela jednoduchý způsob, jak snadno a lehce zabezpečit počítač nebo dokonce celou síť.

Funguje s jádry: 2.4.x a novějšími
Domovská stránka: http://morizot.net/firewall/

Závěrečné shrnutí

V tomto článku jsem vám ukázal několik možností, jak si pohodlně zkonfigurovat firewall a přitom se vyhnout přímému použití iptables. Jednotlivé programy jsou určené uživatelům na různých úrovních - od opravdového grafického frontendu pro iptables přes pohodlnou možnost konfigurace až po jednoduchý php skript. Cílem tohoto článku nebylo zhodnotit všechny možné grafické utility pro nastavení firewallu, ale pouze představit typy těchto programů s uvedením klasických zástupců.

Ačkoliv jsou programy opravdu různorodé, pár věcí mají společných. Většinou očekávají, že uživatel alespoň trošku ví, co dělá. I ten nejjednodušší průvodce se ptá třeba na různé porty nebo DHCP a uživatel, který si chce jenom trochu zabezpečit domácí desktop se může ztrácet. Pak už jen záleží na konkrétním firewalu, jaká je implicitní politika, ale ve většině případů to je zákaz veškerého příchozího provozu nenavázaných spojení zevnitř.

U žádného programu jsem si nevšimnul, že by pravidla analyzoval a pak se je snažil nějak systematicky roztřídit tak, aby výsledné zpracování paketu jádrem bylo co nejrychlejší. Ale na druhou stranu u žádného z testovaných firewallů se mi nestalo, že při restartu firewallu po přidání nějakého pravidla nebyl povolený plný síťový provoz, obvyklé bylo, že vše bylo naopak zakázané.

Pokud jsem zapomněl na program, který podle vás stojí za představení, budu rád, pokud mi napíšete email na adresu uvedenou v profilu a já se k několika dalším programům (včetně toho vašeho ;-) vrátím v případném příštím kole.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=67