180 likes | 283 Views
Firewall na Linuxu. Vypracoval: Petr Toman. Druhy firewallů. Aplikační proxy servery – pracuje na aplikační vrstvě pro konkrétní aplikační protokol.
E N D
Firewall na Linuxu Vypracoval: Petr Toman
Druhy firewallů • Aplikační proxy servery – pracuje na aplikační vrstvě pro konkrétní aplikační protokol. • Firewally filtrující pakety – výběrově přijímají nebo odmítají pakety podle stanovených pravidel. Obvykle nerozumí vyšším protokolům, takže nekontrolují jejich obsah.
Co potřebujeme v linuxu: • dvě nebo tři síťová rozhraní, • iptables (mechanismus netfilter), • jádro podporující filtrování paketů, • nastaveno IP přeposílání (echo 1 > /proc/sys/net/ipv4/ip_forward), • znalost protokolu TCP/IP, • znalost hackerských technik.
Podle čeho filtrujeme: • podle IP adres, • podle protokolů (tcp, udp, icmp), • podle čísel portů, • podle příznaků.
Základní syntaxe iptables iptables příkaz specifikace pravidel rozšíření Příkazy: -A třída Přidává na konec jedno nebo více pravidel. -D třída Vymaže ze třídy jedno nebo více pravidel odpovídající specifikaci. -L [třída] Vypíše pravidla dané třídy. -F[třída] Vymaže pravidla dané třídy. -P třída politika Nastavuje politiku dané třídy.
Specifikace pravidel -p [!]protokol Udává protokol, který pravidlu vyhovuje (tcp, udp, icmp). -s[!] adresa [/maska] Udává zdrojovou adresu datagramu. -d[!] adresa [/maska]Udává cílovou adresu datagramu. -j cílDefinuje akci, která se má provést (ACCEPT, DROP QUEUE, RETURN). --sport [!] Definuje zdrojový port datagramu. --dport [!] Definuje cílový port datagramu.
-i [!] název_rozhraníDefinuje rozhraní, na něž je datagram přijat. -o [!] název_rozhraníDefinuje rozhraní, na něž je datagram poslán. --icmp-type [!] typUdává typ icmp zprávy, které budou pravidla vyhovovat. -N třída Vytvoří uživatelem definovanou třídu. -L Vypíše definovaná pravidla. -v Výřečný režim výpisu.
Firewally tvoříme na základě pravidla: „Co není výslovně povoleno mělo by být zakázáno.“ Firewall povolující určité služby iptables -A INPUT -i eth0 -j DROP iptables -F FORWARD iptables -P FORWARD DROP iptables -A FORWARD -i eth0 -d tux.penguin.net \-p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -d tux.penguin.net \-p tcp --dport ftp-j ACCEPT iptables -A FORWARD -i eth0 -s root.linux.net \ -d tux.penguin.net--dport ssh -j ACCEPT
Zabránění ICMP záplavám Zabránění pingu smrti (ping of death) iptables -A INPUT-s 0/0 -p icmp --icmp-type echo-request \ -j DROP Nebo iptables -A INPUT -s 0/0 -p icmp --icmp-type echo-request \ -m limit --limit 1/s --limit-burst 5 -j ACCEPT
Zabránění SYN záplavám iptables -N syn_flood (vytvoření nové třídy) iptables -A INPUT -i eth0 -p tcp --syn -j syn_flood iptables -A syn_flood -m limit --limit 1/s --limit-burst 5 \ -j RETURN iptables -A syn_flood -j DROP
Zabránění falšování IP adres(IP SPOOFING) iptables -N spoofing iptables -A spoofing -s 192.168.0.0/16 -j DROP iptables -A spoofing -s 172.16.0.0/12 -j DROP iptables -A spoofing -s 127.0.0.0/8 -j DROP iptables -A spoofing -s 10.0.0.0/8 -j DROP iptables –A spoofing -s “naše síť“ -j DROP iptables -A INPUT -i eth0 -j spoofing iptables -A FORWARD -i eth0 -j spoofing http://www.iana.com/assignments/ipv4-address-space
iptables -t nat -P POSTROUTING DROP iptables -t nat -A POSTROUTING -o ppp0 –j MASQUERADE