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

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

Firewally a NAT Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová Verze 2.

Podobné prezentace


Prezentace na téma: "Firewally a NAT Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová Verze 2."— Transkript prezentace:

1 Firewally a NAT Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová Verze 2

2 Obsah Linková vrstva IP protokolu TCP a UDP protokol Stavový a nestavový firewall NAT – sdílení připojení k internetu Linux: iptables Konfigurace firewallu Konfigurace firewallu Konfigurace NAT Konfigurace NAT

3 L4: Linková vrstva IP protokolu Umožňuje provozování několika síťových aplikací na jednom počítači (jedné IP adrese). Jednotlivé aplikace jsou adresovány pomocí portů ( ). Jednotlivé aplikace jsou adresovány pomocí portů ( ). Pro zápis s IP adresou se používá tvar: :80 Pro zápis s IP adresou se používá tvar: :80 Zajišťuje spolehlivé nebo nespolehlivé spojení mezi počítači. TCP (Transmission Control Protocol) – spolehlivé spojení. TCP (Transmission Control Protocol) – spolehlivé spojení. UDP (User Datagram Protocol) – nespolehlivé spojení. UDP (User Datagram Protocol) – nespolehlivé spojení. Pro zápis se používá tvar: 80/tcp Pro zápis se používá tvar: 80/tcp Tato vrstva rozděluje přenášená data do segmentů tak, aby mohly být přeneseny linkovou vrstvou.

4 TCP a UDP porty Každá služba (web, mail, ftp atd.) využívá na serveru TCP nebo UDP port na kterém očekává spojení (port je v LISTEN stavu). Program, který se připojuje k nějaké službě vybere nepoužívaný port a následná komunikace probíhá pomocí vybraného portu na klientské straně a portu služby na serverové straně. Rozdělení portů 0 – 1023: common/well-known ports 0 – 1023: common/well-known ports 1024 – 49151: registered ports 1024 – 49151: registered ports – 65535: dynamic/private ports – 65535: dynamic/private ports

5 TCP a UDP proty HTTP: 80/tcp SMTP: 25/tcp DNS: 53/udp Systém 1024/udp DNS: jakou IP má iserver.uzlabina.cz DNS: Dotaz: Odpověď:

6 TCP a UDP proty HTTP: 80/tcp SMTP: 25/tcp DNS: 53/udp Mozilla 1025/tcp HTTP: iserver.uzlabina.cz Hlavní stránka iserver.uzlabina.cz Dotaz: Odpověď:

7 TCP a UDP proty HTTP: 80/tcp SMTP: 25/tcp DNS: 53/udp Outlook 1026/tcp SMTP: odeslání ové zprávy SMTP: potvrzení příjmu zprávy Dotaz: Odpověď:

8 TCP a UDP protokol SYN (seq=1) ACK=2, SYN (seq=100) ACK=101, DATA (seq=3) ACK=4 DATA (seq=102) ACK=103 DATA (seq=104) ACK=105, FIN=5 ACK=6 FIN=105 ACK=106 TCP CLOSED LISTEN SYN_SENT SYN_RCVD ESTABLISHED CLOSE_WAIT LAST_ACK FIN_WAIT1 CLOSING FIN_WAIT2 TIME_WAIT

9 TCP a UDP protokol Window size určuje kolik paketů může být odesláno, aniž by odesilatel přijal potvrzení o jejich příjmu (ACK) Hodnota window size je standardně 65535, odesílatel tedy může odeslat 64kB dat (cca 44 paketů – 1500 bajtové pakety) Maximální hodnota je B V případě, že počítače nepodporují window scaling, je window size nastaveno na 4kB

10 TCP a UDP protokol TCP ACK= 1000 Window = 3000 ACK= 4000 Window = 4000 SEQ=1000 SEQ=2000 SEQ=3000 SEQ=4000 SEQ=5000 SEQ=6000 SEQ=7000

11 TCP a UDP protokol DATA UDP

12 TCP a UDP protokol TCP Spolehlivý (spojovaný) přenos. Spolehlivý (spojovaný) přenos. Protokol sám opětovně přenáší ztracené pakety (o přijmutí segmentu je vždy informována vysílající strana). Protokol sám opětovně přenáší ztracené pakety (o přijmutí segmentu je vždy informována vysílající strana). Aby zpoždění při přenosu neovlivňovalo maximální rychlost linky využívá se window-size = maximální počet odeslaných segmentů než je vyžadováno potvrzení o přijmutí druhou stranou (ACK) Aby zpoždění při přenosu neovlivňovalo maximální rychlost linky využívá se window-size = maximální počet odeslaných segmentů než je vyžadováno potvrzení o přijmutí druhou stranou (ACK) Forma spojení se nazývá 3-way handshake Forma spojení se nazývá 3-way handshake Port je vždy v definovaném stavu na základě toho, zda se spojení sestavuje, probíhá nebo ukončuje. Port je vždy v definovaném stavu na základě toho, zda se spojení sestavuje, probíhá nebo ukončuje.UDP Nespolehlivý (nespojovaný) přenos. Nespolehlivý (nespojovaný) přenos. Používá se pro broadcasty a multicasty. Používá se pro broadcasty a multicasty. Jednodušší implementace než TCP. Jednodušší implementace než TCP. Používá se u aplikací kde je klíčová doba zpoždění přenosu dat (IP telefonie, hry, DNS). Používá se u aplikací kde je klíčová doba zpoždění přenosu dat (IP telefonie, hry, DNS).

13 Firewally Základní funkcí firewallů je povolování nebo blokování portů (tedy jednotlivých aplikací) Firewally většinou pracují na základě informací 2., 3. a 4. vrstvy OSI modelu (MAC adresy, IP adresy, TCP/UDP porty) Některé firewally mají implementovány funkce pro blokování provozu na základě přenášených dat (transparentní proxy, ové antiviry atd.) Existují dva základní druhy firewallů Nestavový – každý paket je vyhodnocován zvlášť Nestavový – každý paket je vyhodnocován zvlášť Stavový – firewall rozpozná zda paket patří do již probíhajícího spojení nebo jde o nové spojení Stavový – firewall rozpozná zda paket patří do již probíhajícího spojení nebo jde o nové spojení NAT plní funkci firewallu z hlediska ochrany počítačů vnitřní sítě, nejedná se však o firewall!

14 Stavový a nestavový firewall NESTAVOVÝ: Povolení prohlížení WWW stránek: POVOL: SRC IP: /24 SRC IP: /24 SRC PORT: 1024 – SRC PORT: 1024 – DST PORT: 53 DST PORT: 53 PROTOKOL: UDP PROTOKOL: UDPPOVOL: SRC IP: /24 SRC IP: /24 SRC PORT: 1024 – SRC PORT: 1024 – DST PORT: 80 DST PORT: 80 PROTOKOL: TCP PROTOKOL: TCPPOVOL: DST IP: /24 DST IP: /24 SRC PORT: 53 SRC PORT: 53 DST PORT: 1024 – DST PORT: 1024 – PROTOKOL: UDP PROTOKOL: UDP POVOL: DST IP: /24 DST IP: /24 SRC PORT: 80 SRC PORT: 80 DST PORT: 1024 – DST PORT: 1024 – PROTOKOL: TCP PROTOKOL: TCPZAKAŽ: Vše VšeSATVOVÝ: Povolení prohlížení WWW stránek: POVOL: Existující spojeníPOVOL: SRC IP: /24 SRC PORT: 1024 – DST PORT: 53 PROTOKOL: UDPPOVOL: SRC IP: /24 SRC PORT: 1024 – DST PORT: 80 PROTOKOL: TCPZAKAŽ: Vše

15 NAT – sdílení připojení k internetu NAT (Network Address Translation) někdy také network masquerading slouží k překladu privátních IP adres na adresy veřejné. Nejčastějším typem NAT je 1:N, kdy se překládá několik privátních adres překládá na jednu veřejnou. Využívá technologie překladu IP adres na TCP a UDP porty. Proces překladu adres zajišťuje kernel operačního systému. Výhody: Šetření IP adresami Šetření IP adresami Částečně funguje jako firewall Částečně funguje jako firewallNevýhody: Spojení může zahajovat pouze klient v privátní síti Spojení může zahajovat pouze klient v privátní síti Vyšší nároky na router, který provádí NAT Vyšší nároky na router, který provádí NAT NAT zpomalilo nasazení IPv6 NAT zpomalilo nasazení IPv6

16 NAT – sdílení připojení k internetu HTTP: HTTP: Hlavní stránka Hlavní stránka HTTP: HTTP: Hlavní stránka Hlavní stránka Zdrojová IP adresa Zdrojový port Překlad portu Cílová adresa Zdrojová IP adresa Zdrojový port Překlad portu Cílová adresa Zdrojová IP adresa Zdrojový port Překlad portu Cílová adresa

17 NAT – servery v privátní části sítě NAT neumožňuje příchozí spojení ze strany veřejné IP adresy na počítače s privátními adresami. port-FORWARDing – určitý port je přesměrován na privátní IP adresu port-FORWARDing – určitý port je přesměrován na privátní IP adresu exposed host – všechny příchozí spojení jsou přesměrovány na privátní IP adresu exposed host – všechny příchozí spojení jsou přesměrovány na privátní IP adresu FORWARD 25/tcp ► SMTP: zpráva pro SMTP: zpráva pro

18 NAT – operace kernelu Překlad adres může kernel provádět: PREROUTING – ještě než se vyhodnotí kterým rozhraním bude paket dále odeslán PREROUTING – ještě než se vyhodnotí kterým rozhraním bude paket dále odeslán POSTROUTING – po určení rozhraní, kterým paket opustí router POSTROUTING – po určení rozhraní, kterým paket opustí router OUTPUT – pro lokálně generované pakety OUTPUT – pro lokálně generované pakety Pro výběr vhodného místa překladu platí: Změna cílové adresy = PREROUTING Změna cílové adresy = PREROUTING Změna zdrojové adresy = POSTROUTING Změna zdrojové adresy = POSTROUTING Pakety lokálních aplikací = OUTPUT Pakety lokálních aplikací = OUTPUT

19 Konfigurace firewallu Pro konfiguraci firewallů se volí restriktivní politika, tedy nejprve vše zakázat a povolovat jen požadované služby. Firewally většinou pracují se seznamy pravidel, které postupně procházejí. Při schodě paketu s pravidlem je pravidlo vykonáno a další pravidla se již nezpracovávají. Firewally umožňují záznam provozu Nepovolený provoz – logují se pakety, které nevyhovují žádnému pravidlu (ty, které se zahazují) Nepovolený provoz – logují se pakety, které nevyhovují žádnému pravidlu (ty, které se zahazují) Všechna spojení – logují se TCP SYN pakety a první pakety UDP spojení Všechna spojení – logují se TCP SYN pakety a první pakety UDP spojení

20 Konfigurace firewallu Základní součástí linuxového kernelu je filtr iptables, konfiguruje se pomocí utility stejného názvu Jsou definovány tři základní tabulky, které obsahují chainy definující na který typ spojení budou pravidla aplikována filter – blokování provozu filter – blokování provozu INPUT – data která vstupují do počítače a jsou určena pro lokální aplikace OUTPUT – data opouštějící počítač, která jsou generována aplikacemi FORWAD – data která pouze procházejí počítačem nat – nastavení NAT nat – nastavení NAT PREROUTING – data ihned po vstupu do počítače (před routováním) POSTROUTING – data před opuštěním počítače (po routování) OUTPUT – data která lokálních aplikací mangle – mění parametry paketů mangle – mění parametry paketů Obsahuje všechny chainy, které jsou definovány v tabulkách filter a nat: PREROUTING, FORWARD, OUTPUT, FORWARD, POSTROUTING

21 Linux iptables: filter

22

23 Konfigurace firewallu iptables tabulky: -t – název tabulky (filter je standardní) -t – název tabulky (filter je standardní) iptables chainy: -L – výpis pravidel -L – výpis pravidel -P – nastaví policii chainu -P – nastaví policii chainu -A – přidá pravidlo na konec -A – přidá pravidlo na konec -I – přidá pravidlo na začátek -I – přidá pravidlo na začátek -D – vymaže pravidlo -D – vymaže pravidlo -Z – vynuluje počítadla pravidel -Z – vynuluje počítadla pravidel -F – vymaže všechna pravidla -F – vymaže všechna pravidla -N – vytvoří chain -N – vytvoří chain -X – smaže chain -X – smaže chain iptables akce: -j – nastaví akci, která bude provedena s paketem -j – nastaví akci, která bude provedena s paketem ACCEPT, DROP, REJECT, LOG, MANGLE, SNAT, DNAT, MASQ ACCEPT, DROP, REJECT, LOG, MANGLE, SNAT, DNAT, MASQ

24 Konfigurace firewallu Rozhraní -i – rozhraní, kterým paket vstoupil -i – rozhraní, kterým paket vstoupil -o – rozhraní, kterým paket opustí počítač -o – rozhraní, kterým paket opustí počítač IP adresy: -s – zdrojová adresa -s – zdrojová adresa -d – cílová adresa -d – cílová adresaProtokol: -p – protokol (tcp, udp, icmp) -p – protokol (tcp, udp, icmp) Port (musí být definován protokol): --sport – zdrojový port --sport – zdrojový port --dport – cílový port --dport – cílový portModuly: -m – použije modul -m – použije modul

25 Konfigurace firewallu Moduly: state – stavový firewall state – stavový firewall --state --state NEW – nové spojení NEW – nové spojení ESTABLISHED – probíhající spojení TCP ESTABLISHED – probíhající spojení TCP RELATED – probíhající spojení UDP RELATED – probíhající spojení UDP INVALID – paket, který nepatří do spojení INVALID – paket, který nepatří do spojení limit – omezení počtu paketů v čase limit – omezení počtu paketů v čase --limit --limit mac – shoda MAC adresy mac – shoda MAC adresy --mac-source --mac-source

26 Konfigurace nestavového firewallu iptables –Z iptables -F iptables –P FORWARD DROP iptables –A FORWARD –s –p udp –-sport 1024:65535 –-dport 53 –j ACCEPT iptables –A FORWARD –d –p udp –-sport 53 –-dport 1024:65535 –j ACCEPT iptables –A FORWARD –s –p tcp –-sport 1024:65535 –-dport 80 –j ACCEPT iptables –A FORWARD –d –p tcp –-sport 80 –-dport 1024:65535 –j ACCEPT iptables –A FORWARD –s –p tcp –-sport 1024:65535 –-dport 21 –j ACCEPT iptables –A FORWARD –d –p tcp –-sport 21 –-dport 1024:65535 –j ACCEPT iptables –A FORWARD –s –p tcp –-sport 1024:65535 –-dport 20 –j ACCEPT iptables –A FORWARD –d –p tcp –-sport 20 –-dport 1024:65535 –j ACCEPT

27 Konfigurace stavového firewallu iptables –Z iptables -F iptables –P FORWARD DROP iptables –A FORWARD –m state -–state NEW –p udp -–dport 53 –j ACCEPT iptables –A FORWARD –m state -–state NEW –p tcp –-dport 80 –j ACCEPT iptables –A FORWARD –m state -–state NEW –p tcp –-dport 21 –j ACCEPT iptables –A FORWARD –m state -–state RELATED,ESTABLISHED –j ACCEPT

28 Konfigurace NAT iptables –t nat –Z iptables –t nat -F iptables –t nat –A POSTROUTING –o eth1 –j SNAT –-to iptables –t nat –A POSTROUTING –o eth2 –j MASQ iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 25 –j DNAT –-to

29 Reálné nasazení FW a NAT iptables –P INPUT DROP iptables –A INPUT –m state –-state NEW –j LOG iptables –A INPUT –m state --state RELATED,ESTABLISHED –j ACCEPT iptables –A INPUT –m state –-state INVALID –j DROP iptables –A INPUT –m limit --limit 4/s –p icmp –j ACCEPT iptables –A INPUT –p udp --sport 1024: dport 33434:33465 –j ACCEPT iptables –A INPUT –p tcp –-dport 25 –j ACCEPT iptables –A INPUT –i eth0 –p udp –-dport 53 –j ACCEPT iptables –A INPUT –i eth0 –p tcp –-dport 80 –j ACCEPT iptables –A INPUT –i eth0 –p tcp –-dport 110 –j ACCEPT iptables –A INPUT –j LOG iptables –A INPUT –j REJECT eth1eth

30 Reálné nasazení FW a NAT iptables –P OUTPUT DROP iptables –A OUTPUT –i lo –j ACCEPT iptables –A OUTPUT –m state --state RELATED,ESTABLISHED –j ACCEPT iptables –A OUTPUT –m state –-state INVALID –j DROP iptables –A OUTPUT –p icmp –j ACCEPT iptables –A OUTPUT –p udp --sport 1024: dport 33434:33465 –j ACCEPT iptables –A OUTPUT –o eth1 –p tcp –-sport 25 –j ACCEPT iptables –A OUTPUT –o eth1 –p udp –-dport 53 –j ACCEPT iptables –A OUTPUT –o eth1 –p tcp –-dport 80 –j ACCEPT iptables –A OUTPUT –o eth1 –p tcp –-dport 21 –j ACCEPT iptables –A OUTPUT –j REJECT eth1eth

31 Reálné nasazení FW a NAT iptables –P FORWARD DROP iptables –A FORWARD –m state –-state NEW –j LOG iptables –A FORWARD –m state --state RELATED,ESTABLISHED –j ACCEPT iptables –A FORWARD –m state –-state INVALID –j DROP iptables –A FORWARD –m limit --limit 4/s –p icmp –j ACCEPT iptables –A FORWARD –p udp --sport 1024: dport 33434:33465 –j ACCEPT iptables –A FORWARD –i eth1 –d –p tcp –-dport 3389 –j ACCEPT iptables –A FORWARD –i eth1 –d –p tcp –-dport 3389 –j ACCEPT iptables –A FORWARD –i eth0 –s –p tcp –-dport 80 –j DROP iptables –A FORWARD –i eth0 -j ACCEPT iptables –A FORWARD –j LOG iptables –A FORWARD –j REJECT eth1eth

32 Reálné nasazení FW a NAT iptables –t nat –A POSTROUTING –o eth1 –j SNAT –-to iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3389 –j DNAT –-to iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3399 –j DNAT –-to :3389 eth1eth iptables –t nat –A POSTROUTING –o eth1 –j MASQ iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3389 –j DNAT –-to iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3399 –j DNAT –-to :3389 Statická IP: Dynamická IP:


Stáhnout ppt "Firewally a NAT Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová Verze 2."

Podobné prezentace


Reklamy Google