Firewally a iptables Přednáška číslo 12
Firewall síťové zařízení, které slouží k řízení a zabezpečování síťového provozu mezi sítěmi s různou úrovní důvěryhodnosti a/nebo zabezpečení.
Druhy firewallu Podle konstrukce Softwarové Hardwarové Podle činnosti Paketové filtry Aplikační brány Stavové paketové filtry Stavové paketové filtry s kontrolou paketů a IDS (Intrusion Detection Systems systémy pro detekci útoků)
Paketové filtry Nejjednodušší a nejstarší forma firewallování, která spočívá v tom, že pravidla přesně uvádějí, z jaké adresy a portu na jakou adresu a port může být doručen procházející paket, (kontrola se provádí na třetí a čtvrté vrstvě modelu OSI) Výhody vysoká rychlost zpracování Nevýhody nízká úroveň kontroly procházejících spojení Starší varianty firewallu v linuxovém jádře (ipchains).
Aplikační brány Též Proxy firewally. Veškerá komunikace přes aplikační bránu probíhá formou dvou spojení klient (iniciátor spojení) se připojí na aplikační bránu (proxy), ta příchozí spojení zpracuje a na základě požadavku klienta otevře nové spojení k serveru, kde klientem je aplikační brána. Data, která aplikační brána dostane od serveru pak zase v původním spojení předá klientovi. Kontrola se provádí na sedmé (aplikační) vrstvě síťového modelu OSI (proto se těmto firewallům říká aplikační brány).
Aplikační brány Server nevidí zdrojovou adresu klienta, který je původcem požadavku, ale jako zdroj požadavku je uvedena vnější adresa aplikační brány. Aplikační brány díky tomu automaticky působí jako nástroje pro překlad adres (NAT), nicméně tuto funkcionalitu má i většina paketových filtrů. Výhoda poměrně vysoké zabezpečení známých protokolů. Nevýhoda vysoká náročnost na použitý HW
Stavové paketové filtry Stavové paketové filtry provádějí kontrolu stejně jako jednoduché paketové filtry, navíc si však ukládají informace o povolených spojeních, které pak mohou využít při rozhodování, zda procházející pakety patří do již povoleného spojení a mohou být propuštěny, nebo zda musí znovu projít rozhodovacím procesem.
Stavové paketové filtry Výhody rychlost vysoká úroveň zabezpečení snazší konfigurace nízká pravděpodobnost chybného nastavení Nevýhoda obecně nižší bezpečnost, než poskytují aplikační brány. Např. iptables v Linuxu
Stavové paketové filtry s kontrolou protokolů a IDS Tyto firewally jsou schopny kontrolovat procházející spojení až na úroveň korektnosti procházejících dat známých protokolů i aplikací. Mohou tak například zakázat průchod http spojení, v němž objeví indikátory, že se nejedná o požadavek na WWW server, ale tunelování jiného protokolu, což často využívají klienti P2P sítí (ICQ, gnutella, napster, apod.), nebo když data v hlavičce e-mailu nesplňují požadavky RFC apod.
Stavové paketové filtry s kontrolou protokolů a IDS IDS (Intrusion Detection Systems systémy pro detekci útoků). Tyto systémy pracují podobně jako antiviry a pomocí databáze signatur a heuristické analýzy jsou schopny odhalit vzorce útoků i ve zdánlivě nesouvisejících pokusech o spojení, např. skenování adresního rozsahu, rozsahu portů, známé signatury útoků uvnitř povolených spojení apod.
Stavové paketové filtry s kontrolou protokolů a IDS Výhody vysoká úroveň bezpečnosti kontroly procházejících protokolů při zachování relativně snadné konfigurace poměrně vysoká rychlost kontroly ve srovnání s aplikačními branami Nevýhody Složitost může se vyskytnout chyba Pomalejší V Linuxu iptables, ale nutné přidat moduly (patche) do jádra
Demilitarizovaná zóna Demilitarizovaná zóna (DMZ) leží mezi hraniční sítí a interní sítí a je oddělena firewally na obou stranách.
Iptables Linuxový nebo UNIXový nástroj pro práci se síťovou komunikací Musí být podporován v jádře Umožňuje stavět firewally Kontrola paketů adresy, protokoly Paket který vyhoví jedné podmínce už není dále kontrolován
Ukázka firewallu Napsaného pomocí iptables Tento skript je uložen v /etc/init.d a je nastaveno jeho automatické spuštění při startu Soubor blacklist.txt seznam IP adres ze kterých je zakázán jakýkoliv přístup Soubor whitelist.txt seznam adres ze kterých je povoleno vše
Ukázka firewallu #!/bin/sh # Firewall WHITELIST=/etc/firewall/whitelist.txt BLACKLIST=/etc/firewall/blacklist.txt ALLOWED="22 80" #Odstranění stávajících pravidel iptables -F iptables -t nat -F
Ukázka firewallu #Povoleni vseho z /etc/firewall/whitelist.txt for x in `grep -v ^# $WHITELIST awk '{print $1}'`; do echo "Povoluji $x..." iptables -A INPUT -t filter -s $x -j ACCEPT done #Zakazat /etc/firewall/blacklist.txt for x in `grep -v ^# $BLACKLIST awk '{print $1}'`; do echo "Blokuji $x..." iptables -A INPUT -t filter -s $x -j DROP done
Ukázka firewallu #Ktere porty se povoli tem co nejsou v blacklistu for port in $ALLOWED; do echo "Povoluji port $port..." iptables -A INPUT -t filter -p tcp --dport $port -j ACCEPT done #A vse ostatni zahodit iptables -A INPUT -p tcp --syn -j DROP
Další možnosti iptables # Vytbvoreni retezu syn-flood pro detekci utoku s odeprenim sluzeb iptables -t nat -N syn-flood # Omezeni 12 novych spojeni za sekundu (po zjisteni narazu 24 za sek.) iptables -t nat -A syn-flood -m limit --limit 12/s --limit-burst 24 -j RETURN iptables -t nat -A syn-flood -j DROP
Další možnosti iptables # Kontrola utoku DoS s odeprenim sluzeb iptables -t nat -A PREROUTING -i eth0 -d 160.217.96.179 -p tcp --syn -j syn-flood iptables -t nat -A PREROUTING -i eth0 -d 160.217.96.178 -p tcp --syn -j syn-flood #Zahazovani paketu TCP "Vanocni stromecek" iptables -t nat -A PREROUTING -p tcp --tcp-flags ALL ALL -j DROP iptables -t nat -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP
Konec Děkuji za pozornost