NAT e proxy
Transcript
NAT e proxy
Connessione di reti private ad Internet Fulvio Risso 1 Connessione di reti private ad Internet Diffusione di reti IP private Utilizzo di indirizzi privati Gli indirizzi privati risolvono il problema dell’unicità della destinazione Non risolvono il problema dell’indirizzo di ritorno Due soluzioni principali 2 NAT/PAT Application-level Proxy Network Address Translator Principio di funzionamento Sostituzione dell’indirizzo sorgente privato con quello pubblico del gateway in uscita verso Internet Sostituzione dell’indirizzo destinazione pubblico con quello privato dell’host in ingresso verso la rete privata Rete pubblica Rete privata Da 10.1.1.1 a 20.2.2.2 10.1.1.1 3 10.3.3.3 Da 20.3.3.3 a 20.2.2.2 20.3.3.3 20.2.2.2 NAT in presenza di più host privati Mapping “uno a uno” tra indirizzi privati e indirizzi pubblici Metodo poco efficiente; difficoltà di riuso degli indirizzi (timeout?) Potenzialmente richiete tanti indirizzi pubblici quanti host privati Vanifica il risparmio di indirizzi promesso dal NAT Permette la traduzione interno-esterno e viceversa Rete privata Rete pubblica 10.1.1.1 10.1.1.2 10.1.1.3 4 10.3.3.3 20.3.3.3 20.3.3.4 20.3.3.5 20.2.2.2 Port Address Translator Rimappa sia indirizzi che porte Rete pubblica Rete privata 10.1.1.1 (1000) 10.1.1.2 (1010) 10.3.3.3 20.3.3.3 20.2.2.2 10.1.1.3 (1000) 5 Private network Public network 10.1.1.1 (1000) 20.3.3.3 (2000) 10.1.1.2 (1010) 20.3.3.3 (2001) 10.1.1.3 (1000) 20.3.3.3 (2002) PAT Non funziona Nel caso in cui il protocollo non abbia la porta (es. ICMP, IPSec) 6 Spesso vengono implementate soluzioni ad hoc Nel caso in cui sia necessario avere una porta predeterminata NAT e IPSec Problematico nel caso di Authentication Header (AH), dal momento che gli indirizzi IP sono parte del calcolo della checksum Funziona nel caso di Encrypted Security Payload (ESP), anche se la porta non è in chiaro Tipologie di mapping 7 Esistono numerose tipologie di mapping, a seconda dell’implementazione del NAT/PAT NAT simmetrici Full-cone ... NAT + PAT (1) Permette un mapping degli indirizzi N:1 sfruttando l’informazione delle porte Riutilizzo degli indirizzi pubblici Il traffico esterno viene percepito come generato da un unico host con molte sessioni Viene percepita come una misura che aumenta la sicurezza Commercialmente la soluzione viene indicata genericamente come “NAT” Molto leggero dal punto di vista computazionale 8 Difficilmente presenta problemi di scalabilità NAT + PAT (2) Problematiche Funziona solamente in modalità client-server No connessioni rete privata – altra rete privata Difficoltà a risalire all’identità del mittente Il responsabile di eventuali problemi è il proprietario del NAT Necessità di attivare un logging per sessione Non lavora a livello applicativo 9 Es. Problemi con FTP, VoIP Se un applicazione include indirizzi all’interno della busta applicativa, la traduzione non va a buon fine Es. payload DNS, SIP, FTP Garbage collection Sempre problematico (timeout di inattività delle sessioni?) In alcuni casi la connessione cade a causa di lunghi periodi di inattività Benefici del NAT / PAT 10 NAT e PAT permettono di: Accedere alla Internet pubblica senza richiedere indirizzi IP registrati Interconnettere spazi di indirizzamento sovrapposti Evitare la rinumerazione degli host Ridurre il consumo di indirizzi ufficiali Migliorare la sicurezza della rete “nascondendo” gli indirizzi reali degli host NAT e spazi di indirizzamento sovrapposti Problematica comune nel caso di Acquisizioni e/o unioni di aziende Extranet Cambiamento di ISP Necessità di nascondere /modificare gli indirizzi Es. nel caso di policy (es. route optimization, security/filtering, Rete privata Rete privata management) Da 10.1.1.1 a 20.4.4.4 10.1.1.1 11 10.3.3.3 Da 20.3.3.3 a 20.4.4.4 20.3.3.3 20.4.4.4 Da 20.3.3.3 a 10.1.1.1 10.3.3.3 10.1.1.1 Spazi di indirizzamento sovrapposti e DNS La problematica viene spesso configurazione ad hoc del DNS DNS per i client di az2 www.az1.com 10.1.1.1 www.az1.com 20.3.3.3 www.az2.com 20.4.4.4 www.az2.com 10.1.1.1 DNS Da 10.1.1.1 a 20.4.4.4 12 con DNS per i client di az1 Rete privata 10.1.1.1 risolta 10.3.3.3 Da 20.3.3.3 a 20.4.4.4 20.3.3.3 20.4.4.4 una Rete privata Da 20.3.3.3 a 10.1.1.1 10.3.3.3 10.1.1.1 Proxy Server Web client Proxy Web Server Internet TCP SYN for HTTP TCP SYN, ACK TCP ACK HTTP GET Proxy TCP SYN for HTTP TCP SYN, ACK TCP ACK HTTP GET Proxy HTTP Reply 13 HTTP Reply Proxy Server Il client deve essere configurato con l’indirizzo del proxy server Le applicazioni utilizzate dal client devono essere modificate per poter utilizzare un proxy La maggior parte dei web browser hanno incorporato il software necessario per l’utilizzo di un server proxy Ad esempio, nel caso di una richiesta HTTP il client, dopo aver instaurato una connessione TCP con il proxy, invia un messaggio di GET che comprende l’URL completo Sarà quindi il proxy, dopo averne risolto il nome, a comunicare direttamente con il server Web Il proxy fa normalmente cashing delle informazioni Il proxy può mettere in atto politiche di sicurezza 14 Senza Proxy Server GET /pub/WWW/TheProject.html HTTP/1.0 Web client www.w3.org 3 4 1 DNS query DNS response Internet 2 DNS Server 15 Caratteristiche di un proxy server Vantaggi Controllo molto più accurato (esattamente ciò che l’applicativo client riceverà) Possibilità di implementare controlli user-based 16 Es. controllo su attachment mail, oppure oggetti web Autenticazione “personale”, con relative policy di accesso alla rete Nel NAT, al massimo si possono avere controlli IP-based Possibilità di fare caching Svantaggi (Molto) maggiore carico computazionale Spesso richiede configurazione ad hoc sul client Necessita di un modulo per ognuna delle applicazioni supportate Con Proxy Server GET http://www.w3.org//pub/WWW/TheProject.html HTTP/1.0 GET /pub/WWW/TheProject.html HTTP/1.0 Web client 4 1 5 6 Internet 2 Proxy 3 DNS Server 17 www.w3.org Protezione delle reti: Router vs. Proxy Packet-Filtering Routers OSI Model Proxy Servers Application + Low Cost + High Performance + (Usually) Not UNIX + Transparent Presentation Session Transport - Client Addresses Exposed - Stateless —> Spoofable - Error-Prone Rulesets Network Data Link Physical 18 + Stateful + Client Addresses Hidden - Costly - Low Performance - Shares UNIX Problems - Intrusive on Client Side Packet Filter Web client Web Server Packet Filter Internet TCP SYN for HTTP TCP SYN, ACK 19 Permit Permit TCP ACK Permit HTTP GET Permit TCP SYN for HTTP TCP SYN, ACK TCP ACK HTTP GET