Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Unix a Internet 5. Firewall

Podobné prezentace


Prezentace na téma: "Unix a Internet 5. Firewall"— Transkript prezentace:

1 Unix a Internet 5. Firewall
Obsah: stavový, nestavový iptables v Linuxu NAT, maškaráda QoS © Milan Keršláger

2 Firewall „ohnivá stěna“ cílem filtrovat nežádoucí provoz
na linkové vrstvě (MAC adresy) nepraktické, ale používá se třeba na ARP spoofing na síťové vrstvě klasické nasazení, zvlášť pro IPv4 a IPv6 filtruji provoz: směrem dovnitř, směrem ven, forwardovaný provoz (router)

3 Implementace firewallu
podle sledování stavu spojení: nestavový firewall stavový firewall podle realizace součást TCP/IP stacku v Linuxu, ale i ve Windows NT aplikační (speciální program) typicky doplňující komerční aplikace FireWall-1 od Checkpointu (Windows, Linux, Solaris) Kaspersky, Lavasoft, Norton, ZoneAlarm, WinGate, ...

4 Nestavový firewall nemá vnitřní stavy nic si nepamatuje
každý datagram posuzován zvlášť jednoduchá implementace nevhodné pro spojovou službu (TCP) nedokáže odfiltrovat datagramy, které do proudu nepatří

5 Stavový firewall pracuje s vnitřními stavy
pamatuje si svoji předchozí činnost datagramy posuzovány v kontextu složitější implementace vhodné pro TCP u spojení rozpoznáme otevření, přenost dat a uzavření používá se i pro UDP u DNS je stavem otázka → odpověď obtížně se dělá analýza přenášených dat na to je potřeba proxy (aplikační brána) antivirová kontrola, detekce malware, únik dat

6 Firewall v Linuxu ipfwadm do jádra 2.0 ipchains do jádra 2.2
netfilter, nástroj iptables 1998 (Rusty Russell) oficiálně do jádra 2.3 v roce 2000 sada hooků (záchytných bodů) kontrola klíčových uzlů pro cesty datagramů v jádře nftables – ve vývoji

7 Komponenty

8 Jak to funguje iptable(s) speciální tabulka(-y) v jádře
obsahují řetězec pravidel uživatel může pravidla přidat, mazat výsledkem pravidla může být: ACCEPT – datagram je přijat REJECT – datagram je odmítnut DROP – datagram je zahozen datagram je předán do jiné tabulky LOG – záznam o průchodu datagramu předání (existujícímu) procesu

9 Základní tabulky INPUT datagram vstupuje do počítače a končí v něm
tj. příchozí data (např. do Firefoxu apod.) OUTPUT datagram vznikne v počítači a opouští ho např. navázání spojení (SYN), tj. první datagram vždy se týká jen odchozích datagramů FORWARD datagram je přijat a bude předán k odeslání dále tj. bude uplatněna směrovací tabulka

10 Cesta datagramu proces INPUT OUTPUT FORWARD Rozhodnutí o směrování
vstup Rozhodnutí o směrování FORWARD výstup INPUT proces OUTPUT

11 Zdroj: http://www.billauer.co.il/ipmasq-html.html

12 http://www. linuxhomenetworking. com/wiki/index

13 Implicitní pravidlo platí jen pro základní tabulky
ve výchozím stavu je tabulka prázdná ve výchozím stavu je implicitní pravidlo „ACCEPT“ ostatní tabulky implicitní pravidlo NEMAJÍ dosáhne-li se konce tabulky, je datagram přijat můžeme využít akce RETURN návrat do předcházející tabulky zde se pokračuje následujícím pravidlem v podstatě si tak vytvoříme tabulku jako „proceduru“

14 Konstrukce firewallu nejdříve všechno zakázat
tj. nastavit implicitní pravidlo na DROP pak selektivně povolujeme máme (?) jistotu, že nepovolíme víc, než je nutné a průběžně kontrolujeme, zda je vše funkční Tipy: obvykle se dělá jen INPUT FORWARD má smysl jen na routerech OUTPUT je bonus :-)

15 iptables – 1 -L [TABULKA] výpis pravidel (jméno tabulky volitelně)
-n --line-numbers numericky, s čísly pravidel -P TABULKA akce nastavení implicitního pravidla -A TABULKA … přidání pravidla do tabulky

16 iptables – 2 -D TABULKA číslo smazání pravidla číslo -F TABULKA
odstranění všech pravidel v tabulce -I TABULKA číslo ... vložení pravidla před pravidlo číslo

17 Příklad (nestavový firewall)
# implicitní pravidlo (vše zakážeme) iptables -P INPUT DROP # povolíme ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # povolíme SSH (port 22) iptables -A INPUT -p tcp –-dport ssh -j ACCEPT

18 Stavový firewall je nevhodné povolit všechny datagramy na port
mohly byt to být i vadné datagramy potřebujeme zachytit otevírání spojení tj. datagram s příznakem SYN využijeme modul state tj. conntrack (connection tracking)

19 Příklad # implicitní pravidlo (vše zakážeme) iptables -P INPUT DROP
# povolíme ping iptables -A INPUT -p icmp --icmp-type 8 # povolíme první datagram pro SSH (port 22) iptables -A INPUT -m state –state NEW -p tcp –-dport ssh -j ACCEPT # povolíme všechny datagramy již schválených spojení iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

20 SMB sdílení v sítích Microsoft mnoho portů :-(
vše pomocí „-m state --state NEW“: -p udp --dport netbios-ns -j ACCEPT # UDP/137 -p udp --dport netbios-dgm -j ACCEPT # UDP/138 -p tcp --dport netbios-ssn -j ACCEPT # TCP/139 -p tcp --dport microsoft-ds -j ACCEPT # TCP/445 -p udp --dport microsoft-ds -j ACCEPT # UDP/445

21 Upřesnění pravidel -p tcp -p udp -s 1.2.3.0/24 --sport číslo
--dport číslo

22 NAT Network Address Translation překlad adres, tj. NAT mění:
cílovou IP adresu, cílový port zdrojovou IP adresu, zdrojový port používá se v případě: server má privátní IP, router ji mění na veřejnou příchozí datagram je předán počítači s privátní IP

23 Maškaráda dynamicky vytvářená SNAT pravidla
pro přístup počítačů s privátní IP do Internetu počítače v LAN se vydávají za router router má jako jediný veřejnou IP adresu router pak vypadá jako hyperaktivní zdroj IP provozu z vnitřku se lze spojit s libovolnou veřejnou IP první datagram zavádí nové pravidlo do maškarády z vnějšku nelze zahájit provoz k vnitřnímu počítači pozor na „hole punching“ – potřebuje prostředníka Skype umí navázat spojení na počítač ukrytý za NAT maškarádu lze opakovat

24 QoS


Stáhnout ppt "Unix a Internet 5. Firewall"

Podobné prezentace


Reklamy Google