1 / 32

Firewally a NAT

Firewally a NAT. Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová. Verze 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 NAT.

saskia
Download Presentation

Firewally a NAT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • KonfiguraceNAT

  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ů (0-65535). • Pro zápis s IP adresou se používá tvar: 10.0.0.1:80 • Zajišťuje spolehlivé nebo nespolehlivé spojení mezi počítači. • TCP (Transmission Control Protocol) – spolehlivé spojení. • UDP (User Datagram Protocol) – nespolehlivé spojení. • 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 • 1024 – 49151: registered ports • 49152 – 65535: dynamic/private ports

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

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

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

  8. TCP a UDP protokol TCP CLOSED LISTEN SYN_SENT SYN_RCVD ESTABLISHED CLOSE_WAIT LAST_ACK FIN_WAIT1 CLOSING FIN_WAIT2 TIME_WAIT 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

  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 1 073 741 823B • 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 SEQ=1000 SEQ=2000 SEQ=3000 ACK= 4000 Window = 4000 SEQ=4000 SEQ=5000 SEQ=6000 SEQ=7000

  11. TCP a UDP protokol UDP DATA DATA DATA DATA

  12. TCP a UDP protokol • TCP • 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) . • 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 • 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. • Používá se pro broadcasty a multicasty. • Jednodušší implementace než TCP. • 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, e-mailové antiviry atd.) • Existují dva základní druhy firewallů • 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í • NAT plní funkci firewallu z hlediska ochrany počítačů vnitřní sítě, nejedná se však o firewall!

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

  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 • Částečně funguje jako firewall • Nevýhody: • Spojení může zahajovat pouze klient v privátní síti • Vyšší nároky na router, který provádí NAT • NAT zpomalilo nasazení IPv6

  16. 84.42.148.36 10.10.1.100 10.10.1.200 84.42.148.36 1024 1025 1024 1024 HTTP: www.uzlabina.cz HTTP: www.uzlabina.cz HTTP: www.uzlabina.cz HTTP: www.uzlabina.cz 80 80 80 80 80.250.14.250 80.250.14.250 80.250.14.250 80.250.14.250 80.250.14.250 80.250.14.250 80.250.14.250 80.250.14.250 Hlavní stránka www.uzlabina.cz Hlavní stránka www.uzlabina.cz Hlavní stránka www.uzlabina.cz Hlavní stránka www.uzlabina.cz 80 80 80 80 1024 1024 1024 1025 10.10.1.200 10.10.1.100 84.42.148.36 84.42.148.36 NAT – sdílení připojení k internetu 10.10.1.100 80.250.14.250 10.10.1.254 84.42.148.36 10.10.1.200

  17. 80.250.14.250 80.250.14.250 1024 1024 SMTP: zpráva pro info@uzlabina.cz SMTP: zpráva pro info@uzlabina.cz 25 25 10.10.1.1 84.42.148.36 NAT – servery v privátní části sítě 10.10.1.100 FORWARD 25/tcp ► 10.10.1.1 • 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 • exposed host – všechny příchozí spojení jsou přesměrovány na privátní IP adresu 80.250.14.250 10.10.1.254 84.42.148.36 10.10.1.200 10.10.1.1

  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 • POSTROUTING – po určení rozhraní, kterým paket opustí router • 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 zdrojové adresy = POSTROUTING • 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í) • 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 • 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 • 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ů • Obsahuje všechny chainy, které jsou definovány v tabulkách filter a nat: PREROUTING, FORWARD, OUTPUT, FORWARD, POSTROUTING

  21. Linux iptables: filter

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

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

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

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

  26. 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

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

  28. Reálné nasazení FW a NAT 10.10.1.10 80.250.1.1 10.10.1.1 eth1 eth0 10.10.1.11 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:65535 --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

  29. Reálné nasazení FW a NAT 10.10.1.10 80.250.1.1 10.10.1.1 eth1 eth0 10.10.1.11 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:65535 --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

  30. Reálné nasazení FW a NAT 10.10.1.10 80.250.1.1 10.10.1.1 eth1 eth0 10.10.1.11 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:65535 --dport 33434:33465 –j ACCEPT iptables –A FORWARD –i eth1 –d 10.10.1.10 –p tcp –-dport 3389 –j ACCEPT iptables –A FORWARD –i eth1 –d 10.10.1.11 –p tcp –-dport 3389 –j ACCEPT iptables –A FORWARD –i eth0 –s 10.10.1.12 –p tcp –-dport 80 –j DROP iptables –A FORWARD –i eth0 -j ACCEPT iptables –A FORWARD –j LOG iptables –A FORWARD –j REJECT

  31. Reálné nasazení FW a NAT 10.10.1.10 80.250.1.1 10.10.1.1 eth1 eth0 10.10.1.11 Statická IP: iptables –t nat –A POSTROUTING –o eth1 –j SNAT –-to 80.250.1.1 iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3389 –j DNAT –-to 10.10.1.10 iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3399 –j DNAT –-to 10.10.1.11:3389 Dynamická IP: iptables –t nat –A POSTROUTING –o eth1 –j MASQ iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3389 –j DNAT –-to 10.10.1.10 iptables –t nat –A PREROUTING –i eth1 –p tcp –-dport 3399 –j DNAT –-to 10.10.1.11:3389

More Related