Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGuiditta Simonetti Modificato 11 anni fa
1
1 Network Address Translation
2
2 Gestione piano di numerazione IP ICANN ( Internet Corporation for Assigned Names and Numbers ) RIR –RIPE (Réseaux IP Européens) LIR Indirizzi privati (RFC 1918) –e.g. 10/8…..
3
3 Esempio di utilizzo di indirizzi privati 10.3.0.0/16 10.2.0.0/16 10.1.1.0/24 10.1.254.0/24 10.0.0.0/14 10.0.0.0 mask 255.252.0.0 Rete IP pubblica R NAT R NAT R NAT R NAT
4
4 NAT come forma di sicurezza rudimentale 10.3.0.0/16 R NAT Rete IP pubblica 82.53.100.1
5
5 Schema di riferimento Network Layer Transport Layer Application Layer Network Layer Transport Layer Application Layer Indirizzo IP Porta TCP/UDP
6
6 Schema di riferimento NAT 10.3.0.0/16 R NAT Rete IP pubblica ILIG OGOL
7
7 NATB A2 Public network 10.0.0.0/24.1.100 171.69.58.60 C 171.69.5.100 Inside Outside 80.17.192.4 A1.120 Inside Local (IP:port)Inside Global (IP:port)(#) Remote host (IP:port) A1:4754 80.17.192.4:1234171.69.58.60:80 A2:477680.17.192.4:3456171.69.5.100:80 A1:488880.17.192.4:3322171.69.58.60:80 ……….…………. …………. Translation Table Nota (*) Il binding può essere funzione anche del remote host in funzione del tipo di NAT (#) Il check su IP/porta remoti esiste o meno in funzione del tipo di NAT
8
8 NATB Public network.1 171.69.58.60 IG(80.17.192.4) A1.120 IL(A1):4754B:80 SRC_ADDRDST_ADDR 1 IL(A1):4754 IG(A1):1234 NAT 2 IG(A1):1234B:80 3 IG(A1):1234 4 NAT 5 B:80IL(A1):4754 6 ip nat translation ? icmp-timeout Specifica timeout per flussi NAT ICMP syn-timeout Specifica timeout per flussi TCP NAT per inattività dopo un SYN Le entry della translation table hanno un expire time …esempio con IOS IL(10/8)
9
9 Inside Global Inside Local Statico ( one – to – one) Ogni host della rete privata esce con un indirizzo pubblico fissato Inside Global Inside Local dinamico Gli host della rete privata sono mappati su un pool di indirizzi IG (N:M, N>>M) Inside Local PAT (may-to-one) Port Address Translation Gli host della rete privata sono mappati su un solo indirizzo IG (+ source port translation); il traffico outside -> inside è indirizzato allhost corretto in funzione della porta di destinazione Inside Global
10
10 Configurazione IOS del router /* definizione dei pool ip nat-pool pool1 80.17.192.1 80.17.192.254 netmask 255.255.255.0 ip nat-pool pool2 80.17.193.1 80.17.193.254 netmask 255.255.255.0 /* regole di natting: traffico che ha next hop che fa matching con la regola map1 viene nattato con pool1…. Interface s0 ip nat outside// s0 è outside Interface s1 ip nat outside// s1 è outside Interface e0 ip nat inside // e1 è inside ip nat inside source route-map map1 pool pool1 ip nat inside source route-map map2 pool pool2 Route-map map1 permit 10 Route-map map2 permit 10 match interface serial 0 match interface serial 1 NAT.1 80.17.192.0/24 (pool1) A1.120 80.17.193.0/24 (pool 2) 10.0.0.0/24 E0S1 S0
11
11 Si vuole indirizzare (in modo statico) tutto il traffico di un certo tipo proveniente dallesterno verso un host specifico esempio: traffico SMTP ip nat inside source static tcp 10.0.0.120 80.17.192.4 25 Tutte le connessioni provenienti dallesterno e indirizzate alla porta 25 saranno inoltrate a 10.0.0.120:25 NAT.1 Server DNS, posta,….120 10.0.0.0/24 E0 80.17.192.4
12
12 NAT ISP 1 OG 140.16/16 IL 10.0.0.0/8 Inside NAT Outside ISP 2 OG 193.17/16 IG 193.17.15/24 IG 140.16.20/24 OL 192.168.1/24 OL 192.168.2/24 Pacchetto proveniente dallesterno Look up dst address = IG Translation inside Sostituisce DST address con IL Look up src address = OG Translation outside scarta fail Alloca indirizzi OL Crea entry OL - OG Sostituisce SRC address con OL Pacchetto proveniente dallinterno Look up dst address = OL Translation outside Sostituisce DST address con OG Look up src address = IL Translation inside scarta fail Alloca indirizzi IG Crea entry IL - IG Sostituisce SRC address con IG
13
13 NAT & ALG Application Layer Gateway
14
14 Alcuni applicativi inseriscono lindirizzo IP nel payload NATB Public network.1 171.69.58.60 A1.120 IL(A):4754IG(A):1234 NAT 2 UDP 1 IL(A):4754B:5060 IP Payload 10.0.0.120:4754 3 IG(A):1234B:5060 10.0.0.120:4754 B:80 4 ???
15
15 NAT 1 ip nat pool iga 140.16.10.1 140.16.10.254 netmask 255.255.255.0 ip nat inside source list 1 nat pool iga access-list 1 permit 10.0.0.0 0.255.255.255 ip nat inside source static 10.20.20.10 140.16.10.254 NAT2 ip nat pool iga 193.17.15.1 193.17.15.254 netmask 255.255.255.0 ip nat inside source list 1 nat pool iga access-list 1 permit 10.0.0.0 0.255.255.255 ip nat inside source static 10.20.20.10 193.17.15.250 Boot file primary foo.com db.foo primary 10.in-addr.arpa db.10 forwarders 128.9.0.107 options forward-only \ (OG) DNS 128.9.0.107 IL 10.0.0.0/8 DNS primario di foo.com (ns.foo.com) 10.20.20.10 NAT2 ISP 2 OG 193.17/16 IG 193.17.15/24 IG 140.16.10/24 NAT1 ISP 1 OG 140.16/16 ns.foo.com è DNS autoritativo per foo.com gli host della rete 10.0.0.0/8 usano ns.foo.com per tutte le query DNS ns.foo.com effettua il forward delle query DNS verso 128.9.0.107 Db.foo file ; Name Servers foo.com. IN NS ns.foo.com. ; Addresses ns.foo.com. IN A 10.20.20.10 ; Inside Local address x.foo.com. IN A 10.1.1.1 ; Inside Local address db.10 File ; Reverse address resolution for local network addresses ; Name Servers 10.in-addr.arpa. IN NS ns.foo.com. ; Addresses 10.20.20.10.in-addr.arpa IN PTR ns.foo.com. 1.1.1.10.in-addr.arpa IN PTR x.foo.com.
16
16 (OG) DNS 128.9.0.107 IL 10.0.0.0/8 DNS primario di foo.com (ns.foo.com) 10.20.20.10 NAT2 isp2.com OG 193.17/16 IG 193.17.15/24 IG 140.16.10/24 NAT1 isp1.com OG 140.16/16 Delega della reverse resolution 140.16.10/24 Sul DNS autoritativo di 16.140.in-addr.arpa (ISP 1) 10.16.140.in-addr.arpa. 86400 IN NS foo-ns.isp1.com foo-ns.isp1.com. IN A 140.16.10.254 Delega della reverse resolution 193.17.15/24 Sul server autoritativo di 17.193.in-addr.arpa (ISP 2) 15.17.193.in-addr.arpa. 86400 IN NS foo-ns.isp2.com foo-ns.isp2.com. IN A 193.17.15.250 Delega della risoluzione diretta del domino foo.com Sul server autoritativo di.com foo 86400 IN NS ns.foo.com. ; ns.foo.com. 86400 IN A 140.16.10.254 ; Inside Global address IN A 193.17.15.250 ; Inside Global address ; il DNS di foo.com è visto con 2 indirizzi diversi che corrispondono allo stesso host
17
17 Per Query DNS originate dallesterno il NAT/ALG deve entrare nel merito del protocollo DNS; se fosse abilitato anche il NAT outiside entrerebbe nel merito anche delle query originate dallinterno DNS (OG) 128.9.0.107 IL 10.0.0.0/8 (ns.foo.com) IL(10.20.20.10) NAT2 isp2.com OG 193.17/16 IG 193.17.15/24 IG 140.16.10/24 NAT1 isp1.com OG 140.16/16 host x.foo.com (10.1.1.1) host y.bar.com (OG) (16.10.10.2) bar.com ns.bar.com OG (16.10.10.2) 1 2 3 5 6 4 La risposta contiene A RR (per x.foo.com) La Translation Table non ha un entry con un IL uguale a quello riportato nella risposta come A RR. Quindi: alloca un indirizzo dallo spazio IG (140.16.10.2) crea una entry con: IL address = 10.1.1.1 (lindirizzo riportato come A RR) IG address = 140.16.10.2 Sostituisce 10.1.1.1 (IL) nella A RR della risposta con 140.16.10.2 (IG)
18
18 Per Query DNS PTR RR originate dallesterno (risoluzione inversa) DNS (OG) 128.9.0.107 IL 10.0.0.0/8 (ns.foo.com) IL(10.20.20.10) NAT2 isp2.com OG 193.17/16 IG 193.17.15/24 IG 140.16.10/24 NAT1 isp1.com OG 140.16/16 host x.foo.com (10.1.1.1) host y.bar.com (OG) (16.10.10.2) bar.com ns.bar.com OG (16.10.10.2) 1 3 5 6 2 2) NAT1 legge che il campo QNAME della Query contiene 2.10.16.140.in-addr.arpa. NAT1 rimpiazza QNAME con 1.1.1.10 e invia la query al DNS interno 4 4) NAT1 legge la risposta che ha campo QNAME = 1.1.1.10, PTR RR = 10.1.1.1 (IL) e nome dellhost x.foo.com rimpiazza il campo QNAME con 2.10.16.140 e PTR RR con 140.16.10.2 (IG).
19
19 Network Address Translation tipologia
20
20 NATB A2 Public network 10.0.0.0/24.1.100 171.69.58.60 C 171.69.5.100 80.17.192.4 A1.120 Inside Local (IP:port)Inside Global (IP:port)Remote host (IP:port) A1:4754 80.17.192.4:1234B:80 A2:477680.17.192.4:3456C:80 A1:488880.17.192.4:3322B:8080 ……….…………. …………. Translation Table Full Cone Binding non dipendono dallIP di destinazione I binding esistono sempre (è possibile avere traffico originato da esterno)
21
21 NATB A2 Public network 10.0.0.0/24.1.100 171.69.58.60 C 171.69.5.100 80.17.192.4 A1.120 Inside Local (IP:port)Inside Global (IP:port)Remote host (IP) A1:4754 80.17.192.4:1234B:80 A2:477680.17.192.4:3456C:80 A1:488880.17.192.4:3322B:8080 ……….…………. …………. Translation Table Restricted Cone Binding non dipendono dallIP di destinazione (solo da IP e porta sorgente) I binding sono creati dinamicamente sul traffico uscente ( non è possibile avere traffico originato da esterno) Data la translation table in figura, solo B può inviare traffico ad A1 e solo C ad A2 (ma da qualsiasi porta sorgente)
22
22 NATB A2 Public network 10.0.0.0/24.1.100 171.69.58.60 C 171.69.5.100 80.17.192.4 A1.120 Inside Local (IP:port)Inside Global (IP:port)Remote host (IP:port) A1:4754 80.17.192.4:1234B:80 A2:477680.17.192.4:3456C:80 A1:488880.17.192.4:3322B:8080 ……….…………. …………. Translation Table Port Restricted Cone Binding non dipendono dallIP di destinazione (solo da IP e porta sorgente) I binding sono creati dinamicamente sul traffico uscente ( non è possibile avere traffico originato da esterno) Data la translation table in figura, solo B può inviare traffico ad A1 e solo C ad A2 (ma solo dalle porte 80,8080 per B e 80 per C)
23
23 NATB A2 Public network 10.0.0.0/24.1.100 171.69.58.60 C 171.69.5.100 80.17.192.4 A1.120 Inside Local (IP:port)Inside Global (IP:port)Remote host (IP:port) A1:4754 80.17.192.4:1234B:80 A2:477680.17.192.4:3456C:80 A1:488880.17.192.4:3322B:8080 ……….…………. …………. Translation Table Symmetric Binding dipendono da IP, porta sorgente e IP di destinazione I binding sono creati dinamicamente sul traffico uscente ( non è possibile avere traffico originato da esterno) Data la translation table in figura, B:80, B:8080, C:80 possono può inviare traffico ad A1 e solo C:80 ad A2
24
24 Network Address Translation NAT traversal
25
25 (STUN) Simple Traversal UDP through NAT (RFC 3489) NATB 10.0.0.0/24.1 A1 171.69.58.60 A1:8000:chi sono io ? NAT Probe Sono pronto a ricevere su 171.69.58.80 porta 8200 80.17.192.4 sei: 80.17.192.4:5053 Stream RTP/UDP (80.17.192.4:5053 171.69.58.60:8200) Sono pronto a ricevere su 80.17.192.4 porta 5053 per raggiungere A1 si deve usare la stessa porta per traffico entrante e uscente (anche la porta sorgente di B deve essere uguale a quella di ascolto nel caso di port restricted cone) Nel caso di restricted cone o port restricted cone il client deve iniziare a trasmettere per poter ricevere Non funziona per Symmetric NAT Stream RTP/UDP 171.69.58.60:X 80.17.192.4:5053
26
26 (STUN) Simple Traversal UDP through NAT (RFC 3489) NAT Probe client Request (response address/port, Change IP, Change Port) Influenza DST IP:port della risposta Influenza SRC IP:port della risposta Response (mapped address, Changed, Source Address) (IP1, port1) (IP2, port2) Change IPChange PortChanged AddressSource Address NNIP2, P2IP1, P1 YNIP2, P2IP2, P1 NYIP2,P2IP1,P2 YYIP2,P2IP2,P2 STUN DISCOVERY # TestChange IPChange Port 1NN 2YY 3NY
27
27 Test 1 Response? UDP bloccato SRC IP = Mapped addr. Yes=> No NAT Test 2 Open internet Response? Yes Fw UDP simmetrico Test 2 Response? Full Cone Yes Test 1 Verso IP2/P2 Map. Addrs uguale Test 1 Symmetric Yes Test 3 Response? Yes Restricted Cone Port Restricted Cone yes No
28
28 Binding Lifetime NAT Probe client NATNAT IP1: port X Request Response (Mapped address IP:port = IPa:Pb) Il NAT crea un binding per il socket X T IP1: port Y Request (response IP:port = IPa:Pb) Il NAT crea un binding per il socket Y Se il client riceve la risposta sul socket x => il binding per x è ancora vivo Se il client riceve la risposta sul socket y => il binding per x è spirato e NAT ha riusato lo stesso ipa:pb per il nuovo binding Se il client non riceve risposta => il binding è spirato Ricerca binaria su T per trovare: T L: per ogni t > T L non si riceve risposta, t <= T L si riceve risposta
29
29 Appendice DNS
30
30 Reminder: DNS Resolving Resolver Question: www.ripe.net A www.ripe.net A ? Caching forwarder (recursive) root-server www.ripe.net A ? go ask net server @ X.gtld-servers.net gtld-server www.ripe.net A ? go ask ripe server @ ns.ripe.net ripe-server www.ripe.net A ? 193.0.0.203 12345 6 7 Add to cache 9 810 TTL
31
31
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.