Firewall na dial-upu

26. 3. 2002
Doba čtení: 3 minuty

Sdílet

Ilustrační obrázek
Autor: Depositphotos – stori
Ilustrační obrázek
Tento článek volně navazuje na sérii "Stavíme firewall", který vyšel na ROOTu před časem. Dozvíme se v něm, jak a jestli vůbec konfigurovat pakety na osobním počítači, který je k Intenetu připojen příležitostně skrze vytáčenou telefonní linku. Podíváme se také na způsoby, jakými lze filrovací pravidla zavádět.

Základní otázkou je, zda má vůbec smysl zabezpečovat počítač, který není k Internetu připojen stabilně a kde je tedy riziko napadení menší. Jakmile se ale nad tímto problémem zamyslíme hlouběji, zjistíme, že ono riziko je sice menší, ale jenom přesně o tolik, o kolik je připojení k síti kratší. V dnešní době, kdy se namísto cílených útoků na počítače stále více rozmáhají metody, kdy útočník testuje víceméně náhodné rozsahy IP adres na známé chyby, jistě má smysl zabývat se i zabezpečením vašeho osobního počítače.

Na místě je i otázka, nakolik je nezbytné k takovému zabezpečení použít paketový firewall. Přísně vzato, při použití dostatečně důsledných bezpečnostních zásad – tj. budeme sledovat a okamžitě zahlazovat známé bezpečnostní problémy, budeme mít aktivované pouze nezbytně nutné služby, které navíc budou poslouchat jen na potřebných rozhraních atd. – bychom mohli zajistit solidní míru bezpečnosti i bez firewallu. Protože však nikdo z nás, tím méně žádný z našich programů, není stoprocentní a může se stát, že nám něco unikne, je velmi vhodné tyto bezpečnostní zásady doplnit ještě vlastním firewallem. Už proto, že jeho konfigurace není díky iptables nijak zvlášť obtížná a ani nepředstavuje pro náš počítač žádnou zvláštní zátěž.

Co tedy filtrovat na dial-upu?

Odpověď je prostá – všechno. Na dial-upu obvykle neběží žádné služby, které by bylo třeba zpřístupňovat do Internetu. To nám velice usnadní práci, neboť náš firewall nemusí nijak bránit spoofování, syn-floofingu ani dalším technikám, neboť prostě blokujeme (skoro) všechno, co k nám z Internetu přichází:

iptables -A INPUT -P DENY
iptables -A FORWARD -P DENY

Teď aktivujeme stavový firewall a propustíme příchozí pakety, které patří k
námi navázaným spojením:

iptables -A INPUT -m --state ESTABLISHED,RELATED -j ACCEPT

Naopak nemá valného významu omezovat datagramy v řetězci OUTPUT (mají svůj
původ v našem počítači a nejsou tedy potencionálně nebezpečné).

iptables -A OUTPUT -P ACCEPT

Naše omezení se netýkají lokálního loopbacku, který je pro fungování
počítače důležitý, ani rozhraní eth0, jímž se příležitostně připojujeme do
podnikové sítě:

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

Na místě je i otázka, zda filtrovat ICMP pakety. Maximálně paranoidní uživatelé
budou v pokušení filtrovat i je, my ostatní budeme propouštět minimálně
echo-request/reply, destination unreachable a time exceeded, čistě z úcty
k RFC standardům:

iptables -A INPUT -p ICMP -i eth0 --icmp-type 0 -j ACCEPT
iptables -A INPUT -p ICMP -i eth0 --icmp-type 3 -j ACCEPT
iptables -A INPUT -p ICMP -i eth0 --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP -i eth0 --icmp-type 11 -j ACCEPT

Kromě toho je pravděpodobné, že budeme chtít používat pasivní FTP přenosy,
proto musíme zajistit, aby se zavedl modul ip_conntrack_ftp (více o problematice
FTP se dočtete tady):

modprobe ip_conntrack_ftp

Kompletní skript, vhodný k instalaci, si můžete stáhnout
odsud

Zavádění filtrovacích pravidel v distribucích Red Hat

Distribuce RH obsahují rc skript iptables, který dokáže uložit a ve vhodném okamžiku znovu zavést firewallovací pravidla. Používá se snadno. Nejprve zajistíme, aby došlo k vyprázdnění všech řetězců:

service iptables stop

Pak ručně zavedeme filrovací pravidla a uložíme je do souboru /etc/sysconfig/iptables:

./dialupfw.sh
service iptables save

Poté zajistíme, aby se skript iptables vykonal při každém zapnutí počítače:

chkconfig iptables on

Pokud vám iptables zobrazí při spouštění nějaká chybová hlášení, ale samotný
skript se zdá být v pořádku, je možné, že nemáte dostatečně aktuální verzi
balíčku iptables, neboť v některých distribucích byla chyba, která se
projevovala právě takto. Nezapomeňme také, že tímto způsobem zajistíme pouze
nastavení filtrovacích pravidel, ale nikoliv již další kroky, které eventuálně
ve firewallovém skriptu můžeme provádět. Mám tím na mysli zejména zavádění
jaderných modulů nebo třeba modifikování parametrů přes /proc/sys.

školení AI

Mně se osvědčilo zavádět ipt moduly přímo ve skriptu /etc/rc.d/init.d/iptables. Parametry jádra je vhodné nastavovat pomocí souboru /etc/sysctl.conf, kam stačí jen uvést klíč a hodnotu. Startovací skripty se samy při startu postarají o jejich nastavení.

Tolik tedy k filtrování paketů na dial-upu.

Autor článku



Nejnovější články