firewall-obrnte-sve-pocitace
Software Článek Firewall - obrňte své počítače...

Firewall - obrňte své počítače... | Kapitola 4

Kuchař Martin

Kuchař Martin

2. 2. 2005 00:00 86

Seznam kapitol

1. Co je to Firewall 2. Typy firewallů 3. Firewall a Windows 4. Firewall a Linux 5. Kerio Personal Firewall 6. Hlavní zásady zabezpečení PC

V době, kdy počítačové pirátství a napadání PC je stále častější záležitostí, by bylo dobré objasnit si jednu se základních možností zabezpečení vašeho počítače. Je pravděpodobné, že se většina běžných uživatelů s pojmem firewall dříve setkala, čás z nich už jej dokonce používá, ale stále je mezi námi mnoho těch, kteří na bezpečnost příliš nedbají. V tomto článku si tedy problematiku firewallu trochu přiblížíme a ukážeme si základní postupy, jak si svůj počítač zabezpečit před šíťovými útoky.

Reklama

V dnešní době je systém Linux již natolik rozšířen v serverech a nebo již i na běžných pracovních stanicích, že by bylo vhodné se zmínit i o něm. V každém novém jádře je o něco propracovanější a nabízí více možností nastavení.

Firewall - obrňte své počítače...
i Zdroj: PCTuning.cz


Tux - vlastně logo Linuxu.

Jak packet prochází skrz linuxové jádro (kernel), dostává se na různá záchytná místa na kterých jsou různě definovaná filtrovací pravidla. Každé z pravidel je tvořeno popisem atributů akcí, které se mají vykonat, jestliže jim packet odpovídá. Pokud se packet postupně dostane přes všechny tyto pravidla, tak se vykoná implicitní akce. Avšak mimo základní rozhodnutí pustit nebo zahodit existují i další možnosti co s packetem udělat.

Firewall - obrňte své počítače...
i Zdroj: PCTuning.cz


Schéma filters tabulky - možné rozhodnutí co s packetem udělat...

Starší jádra Linuxu 1.0 (dnes se již nepoužívají) měly implementovány BSD ipfw a tak to bylo až do jader 2.0 v nichž však úroveň ipfw byla podstatně vyšší a umožňovala o něco více možností nastavení. V té době bylo základem jádra ipwadm, jež bylo později vyměněno za ipchain (přesněji od verze 2.2) jež byl již poměrně schopným a silným prostředkem pro budování ochrany PC. Oproti ipwadm přinášel nespočet nových pravidel jež dokázaly podstatně zvýšit celý výkon firewallu. Časem však vývojáři zjistili, že by bylo vhodné celé řetězce zjednodušit, zajistit jejich lepší funkci a zvýšit jejich rychlost. Vznikl tedy netfilter, jež je velice schopný a silný. Integruje v sobě NAT (Network Address Resolution) a MAQUARADE (maškráda). Netfilter byl plně integrován pomocí nástroje pro správu pod názvem iptables, jež byl přímo implementován od jádra 2.4. Je tedy doporučeno přejít na toto novější jádro a přitom se uživatelé nemusí bát, že by jejich nastavení nebylo funkční, neboť jádra jsou zpětně plně kompatibilní.

Firewall - obrňte své počítače...
i Zdroj: PCTuning.cz


Schéma prostupu packetu jádrem a postupného vyhodnocování.

Pokud porozumíte linuxovému systému a naučíte se s ním pracovat, pak můžete s jeho pomocí vytvářet firewall s neskutečnými možnostmi. Nejpodstatnější je provést nastavení důkladně a hlavně správně. K tomu můžete použít buď příkazového řádku a nebo některý z mnoha grafických programů, jež se Vám snaží práci usnadnit. Je jen na Vás, který z nástrojů si vyberete, ale vždy záleží na výsledku, ne na postupu a použitých aplikacích, kterými jej bylo dosaženo.

#!/bin/sh

#politika retezce forward je bez varovani zahazuje - defakto zakaz forwardovani
ipfwadm -F -p deny
#nastav default policy pro retezce input a output tak aby poustely pakety dal
ipfwadm -I -p accept
ipfwadm -O -p accept

#vyprazdnime vsechny retezce (-f = flush)(-I = input, -O = output, -A = accounting)
ipfwadm -F -f
ipfwadm -I -f
ipfwadm -O -f
ipfwadm -A -f

#vytvorime novy retezec
ipchains -N icmp_all
ipchains -F icmp_all

#do retezce putuje cele icmp z input chainu
ipchains -A input -p ICMP -j icmp_all
#poustime icmp jine nez type 5
ipchains -A icmp_all -p icmp --icmp-type ! 5 -j ACCEPT
#zakazeme(-j DENY) fragmentovane ICMP (-f) - ping of death
ipchains -A icmp_all -f -l -j DENY

#v retezci forward (-F) povolime (-a accept) pakety protokolu TCP/IP (-P TCP)
#jdouci ze zdrojove adresy 1.2.3.* a ze zdrojoveho portu v rozmezi
#1024 az 65535 (-S 1.2.3.0/24 1024:65535) na cilovou adresu 192.1.12.10 a
#a cilovy port 25
ipfwadm -F -a accept -b -P tcp -S 1.2.3.0/24 1024:65535 -D 192.1.2.10 25

#pocitame pakety/bajty (-A ) prenesene pres rozhrani eth1 (-W eth1)
#jdouci prez adresu 192.168.37.1 (-S ... a -D ... ) a port www
ipfwadm -A in -a -W eth1 -P tcp -D 192.168.37.1 www
ipfwadm -A out -a -W eth1 -P tcp -S 192.168.37.1 www

#presmerovani prichoziho www na lokalni www proxy port (-r 8080)
ipfwadm -I -a accept -r 8080 -P tcp -S 0.0.0.0/0 -D any/0 www
 

Malá ukázka jak vypadalo vytváření firewallu v ipwadm. Dodávám, že tato ukázka je prakticky nefunkční.
Nyní už je asi jasné, že práce v tomto systému není nic pro začátečníky.

Avšak je třeba připomenout, že zkušený uživatel by měl vše zvládat nastavovat pomocí příkazového řádku. Když totiž problematice dostatečně rozumí a je schopen firewall vytvořit, pak by pro něj neměl být žádný problém udělat to vše právě pomocí příkazového řádku.

Z hlediska možností můžete využívat nespočet funkcí a nastavení, jež jsou Vám k dispozici. Můžete nastavovat IP maškarádu, přesně kontrolovat a zaznamenávat veškerá průchozí data, přesně určovat co se má s danými packety provádět, zda se mají přeposlat, přijmout, odmítnout a nebo zahodit. Dále můžete například velice detailně nastavovat jednotlivé IP adresy, přiřazovat jim cílové a zdrojové porty a nastavovat protokoly. Velice užitečnou funkcí je také to, že je možné zaznamenávat veškeré připojení a vést o nich podrobné protokoly. Tím máte k dispozici velice přehledný a detailní monitoring sítě.

#!/bin/sh

#

# ip_chains_script

# V. 1.0_pogo December 29, 2000

# FLUSH AND ZERO

ipchains -v -F input

ipchains -v -F output

ipchains -v -Z input

ipchains -v -Z output

# SET POLICY

ipchains -v -P input DENY

ipchains -v -P output ACCEPT

# ALLOW INCOMING FTP REQUEST FROM INTERNAL NETWORK

ipchains -v -A input -d 172.22.1.2 21 -s 172.22.1.0:244 -p tcp -j ALLOW

# DENY OUTGOING TELNET REQUESTS

ipchains -v -A output -s 172.22.1.2 23 -s 0/0 -p tcp -j DENY

echo "end of firewall script"

#end of file

ipchain již je pro práci poněkud pohodlnější - malá ukázka

Detailní přehled veškerých funkcí firewallu na systémech Linux je ale mimo rozsah tohoto článku. Vše se také liší podle použité distribuce a dané verze samotného jádra.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama