Problematiche di NAT traversal - the Netgroup at Politecnico di Torino

Transcript

Problematiche di NAT traversal - the Netgroup at Politecnico di Torino
Giugno 2007
Problematiche di NAT traversal
Livio Torrero
Netgroup
<[email protected]>
Problematiche di NAT traversal- 1
Copyright: si veda nota a pag. 2
Giugno 2007
Copyright note
These slides are protected by copyright and international treaties. The
title and the copyrights concerning the slides (inclusive, but non only,
every image, photograph, animation, video, audio, music and text) are the
author’s (see Page 1) property.
The slides can be copied and used by research institutes, schools and
universities affiliated to the Ministry of Public Instruction and the Ministry
of University and Scientific Research and Technology, for institutional
purpose, not for profit. In this case there is not requested any
authorization.
Any other complete or partial use or reproduction (inclusive, but not only,
reproduction on discs, networks and printers) is forbidden without written
authorization of the author in advance.
The information contained in these slides are believed correct at the
moment of publication. They are supplied only for didactic purpose and
not to be used for installation-projects, products, networks etc. However,
there might be changes without notice. The authors are not responsible
for the content of the slides.
In any case there can not be declared conformity with the information
contained in these slides.
In any case this note of copyright may never be removed and must be
written also in case of partial use.
Problematiche di NAT traversal- 2
Copyright: si veda nota a pag. 2
Giugno 2007
Sommario
Che cosa sono i NAT
BEHAVE:
Definizione
delle caratteristiche
comportamentali dei NAT
Regole per avere NAT application
“friendly”
Come rilevo di essere dietro un NAT?
STUN
Come inoltro i pacchetti attraverso un
NAT? NAT traversal
Relay
Hole
Problematiche di NAT traversal- 3
punching
Copyright: si veda nota a pag. 2
Giugno 2007
Concetti base sui NAT
I Network Address Traslator effettuano la traduzione
di indirizzi e/o porte fra spazi di indirizzamento
differenti
I due spazi sono scorrelati: gli indirizzi dell’uno sono
inutilizzabili nell’altro
I NAT:
Modificano gli inidirizzi IP e/o le porte dei pacchetti
Mantengono informazioni di stato relativamente al
mapping fra gli spazi (binding cache)
Spazio di indirizzamento 1
(controllato dal NAT)
IP.src= X
port.src=xp
Problematiche di NAT traversal- 4
X:xp associato a
X’:xp’
Spazio di indirizzamento 2
(non controllato dal NAT)
IP.src=X’
port.src=xp’
Copyright: si veda nota a pag. 2
Giugno 2007
Esempio
Rete privata
(controllato dal NAT)
IP.src= 10.0.0.1
port.src=5060
10.0.0.1:5060
associato a
130.192.31.1:5080
Rete pubblica
(non controllato dal NAT)
IP.src=130.192.31.1
port.src=5080
130.192.31.2
I NAT permettono di risparmiare indirizzi
Gli indirizzi IPv4 scarseggiavano
Grazie ai NAT solo chi accede alla rete pubblica ha un
IP pubblico
I NAT hanno avuto molto successo
Il 73,81% degli host sono posti dietro a NAT
Quanti hanno un access point? Contiene un NAT…
Problematiche di NAT traversal- 5
Copyright: si veda nota a pag. 2
Giugno 2007
Problemi causati dai NAT (1/2)
Alcune applicazioni si basano sull’invio di
messaggi contenti indirizzi e/o porte
Un host dietro a NAT inserisce l’indirizzo
che ha nel suo spazio di indirizzamento
Se
il messaggio attraversa il NAT l’indirizzo non è
utilizzabile
Esempio: SIP durante la fase di registrazione
Campo Contact
Potrei risolvere tutto con un Application
Level Gateway
Ma
sei il messaggio contente l’indirizzo è
criptato?
Problematiche di NAT traversal- 6
Copyright: si veda nota a pag. 2
Giugno 2007
Probelmi causati dai NAT (2/2)
L’host controllato dal NAT potrebbe volere che il suo
inidirizzo interno sia associato con il medesimo
indirizzo nello spazio di indirizzamento esterno per
più sessioni contigue
Il NAT non sa riconoscere una correlazione fra
sessioni e potrebbe cambiare l’assegnazione
I NAT sono disegnati per soddisfare il paradigma
client/server
Il client è pensato nello spazio controllato dal NAT
Però le applicazioni peer-to-peer possono non
funzionare
Come fanno gli host fuori dallo spazio di
indirizzamento del NAT a localizzare i peer gestiti dal
NAT?
Problematiche di NAT traversal- 7
Gli indirizzi nello spazio di NAT non sono utilizzabili da host nello
spazio esterno
Copyright: si veda nota a pag. 2
Giugno 2007
Sommario
Che cosa sono i NAT
BEHAVE:
Definizione
delle caratteristiche
comportamentali dei NAT
Regole per avere NAT application
“friendly”
Come rilevo di essere dietro un NAT?
STUN
Come inoltro i pacchetti attraverso un
NAT? NAT traversal
Relay
Hole
Problematiche di NAT traversal- 8
punching
Copyright: si veda nota a pag. 2
Giugno 2007
Classificazione dei NAT
BEHAVE è un working group di IETF
BEHAVE nell’RFC 4787 definisce le caratteristiche di
funzionamento dei NAT
Si definiscono le caratteristiche più comuni dei NAT
Vengono fornite regole per definire il comportamento
di NAT “application friendly”:
permettono alle comuni applicazioni di funzionare
attuando tecniche note come “tecniche di NAT
traversal” ottimizzate per la comunicazione diretta
non richiedono l’uso di nodi intermedi di supporto
Esame delle sole regole principali
Regole (principali) relative a:
Traduzione di porte e indirizzi
Gestione dei binding
Filtraggio dei pacchetti in ingresso
Politiche di filtering
Comportamento deterministico
Problematiche di NAT traversal- 9
Copyright: si veda nota a pag. 2
Giugno 2007
Traduzione di porte e indirizzi
Endpoint independent mapping: si riusa stesso
mapping per tutte le destinazioni.
Address dependent mapping: si riusa stesso
mapping per tutti i pacchetti inviati al medesimo
IP esterno
Address and port dependent mapping: si riusa
stesso mapping per tutti i pacchetti inviati ai
medesimi IP+porta esterni
REGOLA 1: un NAT application “friendly” DEVE
avere un comportamento basato sull’endpoint
Independent Mapping.
Problematiche di NAT traversal- 10
Copyright: si veda nota a pag. 2
Giugno 2007
Esempio:
Endpoint independent mapping
Il mapping non cambia in base all’indirizzo di
destinazione
130.192.31.55:80
Dominio privato
130.192.31.15:5080
Problematiche di NAT traversal- 11
130.192.31.50:5060
130.192.31.15:5080
10.0.0.1:5060
Copyright: si veda nota a pag. 2
Giugno 2007
Esempio:
address dependent mapping
Il NAT assegna all’host privato stesso IP pubblico e porta pulbblica
l’indirizzo IP dell’host esterno contattato non cambia
130.192.31.55:5080
130.192.31.58:5080
130.192.31.55:5090
Problematiche di NAT traversal- 12
130.192.31.22:5090
10.0.0.1:5060
130.192.31.25:5080
Dominio privato
Dominio privato
130.192.31.25:5080
Copyright: si veda nota a pag. 2
130.192.31.55:5080
130.192.31.25:5080
10.0.0.1:5060
Esempio:
address and port dependent
mapping(1/2)
Il NAT assegna all’host privato stesso IP pubblico e porta pulbblica
l’indirizzo IP e la porta dell’host esterno contattato non cambia
130.192.31.55:5090
Dominio privato
130.192.31.25:5080
Problematiche di NAT traversal- 13
130.192.31.58:5090
130.192.31.22:5090
10.0.0.1:5060
130.192.31.55:5080
130.192.31.25:5080
Dominio privato
Giugno 2007
Copyright: si veda nota a pag. 2
130.192.31.55:5090
130.192.31.22:5090
10.0.0.1:5060
Giugno 2007
Esempio:
address and port dependent
mapping(2/2)
Affinchè il mapping non cambi inidirizzo e porta di
destinazione non devono cambiare
130.192.31.55:5090
130.192.31.55:5090
Passa un tempo T
(inferiore a durata binding)
Problematiche di NAT traversal- 14
10.0.0.1:5060
130.192.31.25:5080
Dominio privato
Dominio privato
130.192.31.25:5080
Copyright: si veda nota a pag. 2
10.0.0.1:5060
Giugno 2007
Gestione dei binding (1/2)
REGOLA 2:
• NAT UDP binding DEVE durare almeno 2 min
• Sessioni sulle porte da [1-1023] possono durare
meno
•Il timer di durata deve essere configurabile
•5 minuti = valore raccomandato
Tipicamente le sessioni sulle well-known port sono di tipo
richiesta/risposta su UDP
Tenerne i binding a lungo è solo overhead
Per mantenere l’indirizzo assegnato dal NAT, è sufficiente
fare traffico utilizzandolo (keepalive)
Si deve garantire il transito di pacchetti prima dello
scadere del timer
Problematiche di NAT traversal- 15
Copyright: si veda nota a pag. 2
Giugno 2007
Gestione dei binding (2/2)
outbound refresh: keep-alive
mandati da host privato verso l’esterno.
NAT inbound refresh: keep-alive mandati
dall’esterno verso l’host privato.
Alcuni NAT consentono i keep-alive in
entrabi i modi
NAT
REGOLA 3: un NAT “application friendly” deve
avere il NAT outbound refresh attivo. Può
eventualmente avere il NAT Inbound Refresh
attivo.
Problematiche di NAT traversal- 16
Copyright: si veda nota a pag. 2
Giugno 2007
Politiche di filtering (1/2)
Sino ad ora i NAT sono stati visti come semplici
traduttori di indirizzi e/o porte
I NAT comunemente implementano delle politiche di
filtraggio del traffico diretto agli host da loro
controllati
I NAT sono spesso considerati dei rudimentali
meccanismi di sicurezza
Attraverso le policy di mapping posso impedire agli
host esterni di capire con quale host interno parlano
Se cambio il mapping per ogni destinazione nessuno
localizzerà l’host protetto
Attraverso le policy di filtering il NAT limita il traffico
verso la sua rete
Utile per impedire attacchi da fuori
Problematiche di NAT traversal- 17
Copyright: si veda nota a pag. 2
Giugno 2007
Politiche di filtering (2/2)
Prima di tutto host A crea una sessione mandando
un pacchetto a Y:yp
Si crea un binding sul NAT
Spazio di indirizzamento 1
(controllato dal NAT)
Host A
Spazio di indirizzamento 2
(non controllato dal NAT)
IP=Y
port=yp
IP=X
port=xp
Policy
Host B
il NAT scarta:
Endpoint Independent Filtering
(Dst ≠X:xp)
Addrress dependent Filtering
(Dst ≠X:xp) + (pacchetto non
inviato da Y)
Address and port dependent
Filtering
(Dst ≠X:xp) + (pacchetto non
inviato da Y:yp)
Problematiche di NAT traversal- 18
Copyright: si veda nota a pag. 2
Giugno 2007
Endpoint Independent Filtering
Host B
Host B
Host C
Host A
Dominio privato
Dominio privato
IMPLICA
Appena c’è un binding, tutti possono
mandare pacchetti a host A
Problematiche di NAT traversal- 19
Copyright: si veda nota a pag. 2
Host A
Giugno 2007
Address dependent filtering
Host B
Host B
Host C
Host A
Dominio privato
Dominio privato
IMPLICA
Host A manda un pacchetto a host B
Solo Host B può mandare pacchetti a host A
Host B può usare qualsiasi porta
Problematiche di NAT traversal- 20
Copyright: si veda nota a pag. 2
Host A
Giugno 2007
Address and port dependent
filtering
Host B
Host B
B_a:bp
B_a:bp
B_a:bz
Dominio privato
Dominio privato
IMPLICA
Host A
Host A
Host A manda un pacchetto a host B
all’indirizzo B_a, sulla porta bp
Solo Host B può mandare pacchetti a host A
Host
B può deve usare bp
Problematiche di NAT traversal- 21
Copyright: si veda nota a pag. 2
Giugno 2007
Politiche di filtering: regola
REGOLA 4: un NAT e’ application “friendly”:
• Se la trasparenza per le applicazioni è fondamentale =>
endpoint independent filering
• Altrimenti si RACCOMANDA address dependent filtering.
• Il comportamento può essere configurato da amminsitratore
Endpoint independent filtering:
Massima
trasparenza
Poca sicurezza
Address dependent filtering:
Maggior
sicurezza
Compromesso accettabile
Problematiche di NAT traversal- 22
Copyright: si veda nota a pag. 2
Giugno 2007
Comportamento deterministico dei
NAT
Alcuni NAT hanno policy che cambia in base a
situazini concomitanti
Ogni NAT che cambia il suo comportamento
senza essere riconfigurato è non deterministico
I NAT non deterministici sono difficili da gestire
Difficile
fare troubleshooting per via del loro
comportamento complesso
REGOLA 5: un NAT application “friendly” deve
avere un comportamento deterministico:
• No variazioni policy di mapping
• No variazioni policy di filtraggio
Problematiche di NAT traversal- 23
Copyright: si veda nota a pag. 2
Giugno 2007
Sommario
Che cosa sono i NAT
BEHAVE:
Definizione
delle caratteristiche
comportamentali dei NAT
Regole per avere NAT application
“friendly”
Come rilevo di essere dietro un NAT?
STUN
Come inoltro i pacchetti attraverso un
NAT? NAT traversal
Relay
Hole
Problematiche di NAT traversal- 24
punching
Copyright: si veda nota a pag. 2
Giugno 2007
Rilevamento dei NAT: STUN
Come fa un host a scoprire di essere dietro
un NAT?
IETF ha definito STUN
Originariamente basato su UDP
Poi
esteso per supportare TCP e TCP/TLS
Si basa su uno STUN server pubblico
Lo
STUN server deve essere localizzabile
Entry SRV
Qui viene presentata solo la versione di base di
STUN
In realtà STUN fa anche operazioni più
complesse
Problematiche di NAT traversal- 25
Copyright: si veda nota a pag. 2
Giugno 2007
STUN Binding Request
L’host integra uno STUN client
L’host invia un messaggio di Binding
Request allo STUN server
Il
NAT cambia indirizzo e porta sorgente dei
pacchetti
Lo STUN server vede l’indirizzo IP pubblico e la
porta assegnate dal NAT
Rete privata
(controllato dal NAT)
IP.src= 10.0.0.1
port.src=5060
Binding Request
Rete pubblica
(non controllato dal NAT)
Ricevuto un
pacchetto inviato
da 130.192.31.1,
porta 5080
IP.src=130.192.31.1
port.src=5080
Binding Request
STUN server
Problematiche di NAT traversal- 26
Copyright: si veda nota a pag. 2
Giugno 2007
STUN Binding Response
Il server risponde con una Binding Response
L’indirizzo
IP e la porta pubbliche osservate sono
nell’attributo XOR MAPPED ADDRESS della risposta
La Binding Response arriva sicuramente
Rete pubblica
(non controllato dal NAT)
Rete privata
(controllato dal NAT)
Binding Response
Binding Response
(Mapped: 130.192.31.1: 5080)
(Mapped: 130.192.31.1: 5080)
STUN server
Problematiche di NAT traversal- 27
Copyright: si veda nota a pag. 2
Giugno 2007
Problemi di STUN
In questo approccio le informazioni ritornate
nel mapped address sono inutili se il NAT
assegna un indirizzo diverso per ogni
destinazione
Ricevuto un
Rete privata
(controllato dal NAT)
IP.src= 10.0.0.1
port.src=5060
Binding Request
Rete pubblica
(non controllato dal NAT)
pacchetto inviato
da 130.192.31.1,
porta 5080
IP.src=130.192.31.1
port.src=5080
Binding Request
STUN server
IP.src=130.192.31.56
port.src=5080
Problematiche di NAT traversal- 28
Copyright: si veda nota a pag. 2
Giugno 2007
STUN: work in progress
STUN cambia spesso nome…
2/2006
=> STUN = simple traversal of UDP
through NATs
7/2006 => STUN = simple traversal underneath
network address translators
10/2006 => STUN = session underneath network
address translators
3/2007 => STUN = session traversal utilities for
NAT
… eppure e` gia` largamente diffuso, anche
se e` ancora un work in progress
Problematiche di NAT traversal- 29
Copyright: si veda nota a pag. 2
Giugno 2007
Sommario
Che cosa sono i NAT
BEHAVE:
Definizione
delle caratteristiche
comportamentali dei NAT
Regole per avere NAT application
“friendly”
Come rilevo di essere dietro un NAT?
STUN
Come inoltro i pacchetti attraverso un
NAT? NAT traversal
Relay
Hole
Problematiche di NAT traversal- 30
punching
Copyright: si veda nota a pag. 2
Giugno 2007
Tecniche di NAT traversal
Le tecniche di NAT traversal mirano a
garantire la connettività fra gli host in
presenza di NAT
Gli
host sono consapevoli della presenza dei NAT
Gli host svolgono una serie di operazioni
miranti a:
Creare
delle entry nelle binding cache dei NAT
per garantire la comunicazione
Mantenere attivo il canale instaurato per il tempo
della sessione
Le tecniche che verranno esaminate:
Relaying
Hole
punching
Problematiche di NAT traversal- 31
Copyright: si veda nota a pag. 2
Giugno 2007
Relaying
Richiede un server (relay) pubblico
Attraversa il NAT grazie al pradigma client/server
I due host sono client, il relay è il server
Entrambi gli host creano una connessione verso il relay:
Rete privata 1
Rete privata 2
Alloca
Alloca
Host A
Host B
Relay
Fatto questo gli host possono comunicare attraverso il
relay
Rete privata 1
Rete privata 2
Manda a host A
Manda a host B
Host A
Relay
Problematiche di NAT traversal- 32
Copyright: si veda nota a pag. 2
Host B
Giugno 2007
Relaying: pro e contro
Il relaying funziona sempre
Non richiede scambi di troppi messaggi
Tuttavia, la comunicazione fra gli host è sempre
mediata
è un single point of failure
Se cade la comunicazione si interrompe
Non scala
Sia che il NAT sia application “friendly” o no
All’aumentare del numero di host collegati le
prestaizoni del relay decadono
Il relay è una risorsa limitata
È come se mi “prestasse” una delle sue interfacce
Problematiche di NAT traversal- 33
Copyright: si veda nota a pag. 2
Giugno 2007
STUN relay
I server STUN recenti integrano anche la
funzionalita` di relay
Due
modi operativi
STUN normale
Servizio di relay
Il server entra in una modalita` piuttosto che
nell`altra a seconda delle richieste che gli manda
il client
Binding request: funzionamento normale
Allocate request: funzionalita` relay
Problematiche di NAT traversal- 34
Allocate request = riservami un indirizzo e/o porta relay
Copyright: si veda nota a pag. 2
Giugno 2007
Hole Punching
Tecnica per stabilire una comunicazione diretta tra peer
attraverso NAT
Obiettivo:
creare dei binding sui NAT per permettere la comunicazione
Pensato originariamente per UDP
Si può pensare di usarlo anche per TCP
Attori:
I due peer
Rendez-vouz server
Nodo pubblico
Usato solo in una fase iniziale
“aiuta” i peer a scorpire i loro indirizzi
Entrambi i peer hanno una sessione UDP con lui
Conosce IP e porta pubblica dei peer
Problematiche di NAT traversal- 35
Private endpoint
Public endpoint
Copyright: si veda nota a pag. 2
Giugno 2007
UDP Hole punching: passo 1
Peer A si registra presso RVS
Private endpoint associato a public endpoint visto da
RVS
Se peer A non è dietro NAT i due enpoint sono identici
Peer B esegue la medesima procedura
Peer B è
130.192.36.30:5080
Peer A è
130.192.31.12:5061
10.0.1.1:5060
10.0.2.1:5060
UDP
Peer A
10.0.1.1:5060 è
130.192.31.12:5061
verso RVS
Problematiche di NAT traversal- 36
UDP
UDP
UDP
Peer B
RVS
(Rendez-vous server)
130.192.31.10
10.0.2.1:5060 è
130.192.36.30:5080
verso RVS
Copyright: si veda nota a pag. 2
Giugno 2007
UDP Hole punching: passo 2
RVS comunica a peer A l’indirizzo (e porta) pubblica
di peer B
RVS comunica a peer B l’indirizzo (e porta) pubblica
di peer A
Entrambi i peer hanno già comunicato con RVS
I messaggi passano
Peer A è
130.192.31.12:5061
Peer B è
130.192.36.30:5080
UDP
Peer A
10.0.1.1:5060
Problematiche di NAT traversal- 37
UDP
UDP
RVS (Rendez-vous server)
130.192.31.10
Copyright: si veda nota a pag. 2
UDP
Peer B
10.0.2.1:5060
Giugno 2007
UDP Hole punching: passo 3 (1/2)
Peer A manda pacchetti UDP al public endpoint di peer B
Mando pacchetti UDP a
130.192.36.30:5080!!!!
Scarto il pacchetto
UDP di Peer A!!!
Peer A
Peer B
UDP
10.0.1.1:5060
UDP
Binding tra 10.0.1.1:5060 e
130.192.36:30:5080
(public endpoint di B)
10.0.2.1:5060
Simultaneamente B fa la stessa cosa
Mando pacchetti UDP a
130.192.31.12:5061!!!!
C’è un binding: il
pacchetto passa!!!
Peer A
Peer B
UDP
UDP
10.0.1.1:5060
UDP
Binding tra 10.0.2.1:5060
e
130.192.31:12:5061
(public endpoint di A)
Problematiche di NAT traversal- 38
Copyright: si veda nota a pag. 2
10.0.2.1:5060
Giugno 2007
UDP Hole punching: passo 3 (2/2)
Continuando a scambiarsi pacchetti UDP,
prima o poi si aprono i biniding sui NAT
Anche
se i pacchetti sono filtrati, l’importante è
creare traffico attraverso i NAT
Peer A
C’è un binding: il
pacchetto passa!!!
C’è un binding: il
pacchetto passa!!!
UDP
UDP
UDP
UDP
Scambio pacchetti UDP con
130.192.36.30:5080
(public endpoint di B)!!!!
Problematiche di NAT traversal- 39
Peer B
UDP
UDP
Scambio pacchetti UDP con
130.192.31.12:5061
(public endpoint di A)!!!!
Copyright: si veda nota a pag. 2
Giugno 2007
TCP hole punching
Concettualmente simile alla versione UDP
L’instaurazione della sessione diretta
segue le seguenti fasi:
1.
2.
3.
4.
5.
Entrambi i peer A e B creano una sessione TCP
verso RVS
RVS manda ad A il public endpoint di B e
viceversa
A cerca di creare una connessione TCP diretta
verso il public endpoint di B
B cerca di creare una connessione TCP diretta
verso il public endpoint di A allo stesso tempo
Se le operazioni riescono i due peer possono
comunicare senza intermediari
Problematiche di NAT traversal- 40
Copyright: si veda nota a pag. 2
Giugno 2007
Problemi del TCP hole punching
(1/2)
L’API TCP originale di Berkeley era pensata secondo
un paradigma client/server
Posso usare un socket TCP per aprire una
connessione uscente (connect())
Posso usare un socket TCP per restare in attesa di
connessione da parte di altri (listen() + accept())
Ma non posso fare entrambe le cose con lo stesso
socket
Problema: una volta che una porta è associata a un
socket TCP, è impossibile associare la medesima
porta a un altro socket
Tuttavia l’hole punching richiede di essere in ascolto
sulla medesima porta da cui si mandano pacchetti
Soluzione: socket option “SO_REUSEADDR”
permette di fare il bind del medesimo socket su più
endpoint
Problematiche di NAT traversal- 41
Copyright: si veda nota a pag. 2
Giugno 2007
Problemi del TCP hole punching
(2/2)
In UDP bastava un socket solo per ogni
peer, con TCP ne servono di più
Un
socket per ciascun peer per comunicare con
RVS
Un socket in ascolto su cui ricevere le chiamate
degli altri peer
Almeno un socket per aprire una connessione in
uscita verso l’altro peer
Problematiche di NAT traversal- 42
Copyright: si veda nota a pag. 2
Giugno 2007
Hole Punching: pro e contro
Stabilisce un canale diretto tra due host
Molto più leggero del realying
Il relaying è da usare solo come soluzione estrema se
non si riesce a connettersi
Non funziona con tutti i NAT
Il Rendez Vous server serve solo a far conoscere i due
host
Il relay, invece, veicola tutti i pacchetti
Sicuramente funziona con i NAT application
“friendly”di BEHAVE
Richiede uno scambio di messaggi per aprire la
comunicazione
Potrebbe volerci tempo prima di scoprire che non è
possibile fare hole punching
Problematiche di NAT traversal- 43
Copyright: si veda nota a pag. 2
Giugno 2007
Conclusioni
E’ possibile garantire il funzionamento delle normali
applicazioni in presenza di NAT
Occorre tuttavia:
Che l’amministratore configuri i NAT secondo le regole
di BEHAVE
Che gli sviluppatori integrino le funzionalità di NAT
traversal nei software
E’ possibile in questo modo:
Mantenere la trasparenza di indirizzamento tipica dei
NAT
Mantenere le policy di sicurezza elementari dei NAT
Garantire le normali funzionalità SENZA riconfigurare
l’infrastruttura
Problematiche di NAT traversal- 44
Copyright: si veda nota a pag. 2