Srovnání několika (druhů) grafických konfiguračních utilit linuxového firewallu.
9.3.2004 18:00 | Ondřej Čečák | read 15358×
DISCUSSION
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.
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.
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.
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.
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.