Upload
romana-marra
View
234
Download
1
Embed Size (px)
Citation preview
FIREWALL: FIREWALL: Proxy SystemsProxy Systems
Computer Security: 29/5/2001 R. Ferraris
Che cosa vedremoChe cosa vedremo
• Definizione dei proxy– Proxy application level– Proxy circuit level
• Software per firewall con proxy– TIS Firewall Toolkit– SOCKS– Confronto tra i due pacchetti
• Proxy con funzionalità di caching
• Anonimia nel WWW– Anonymizer
Perché realizzare un PROXYPerché realizzare un PROXY
• Gli utenti di una rete locale non interagiscono direttamente con l’esterno
• Fa da tramite tra una rete interna e una esterna garantendo una certa sicurezza
• Esso valuta le richieste di un client e decide quali far passare e quali rifiutare
Distinguiamo tra:
• Proxy level application
• Proxy level circuit
Un po’ di terminologia
PROXY PROXY level applicationlevel application
• L’indirizzo che un server esterno riceve è quello del proxy
• Abbiamo una netta distinzione tra rete interna e rete esterna
• I firewall di questo livello operano sui protocolli di livello applicazione
– HTTP– FTP– SMTP– Altri
PROXY PROXY level applicationlevel application (continua)
• I più diffusi server proxy sono:
– TIS (UNIX)
– SOCKS (UNIX)
– SQUID (nei sistemi LINUX)
• Sicurezza maggiore rispetto ai firewall di rete
• Velocità minore rispetto ai firewall di rete
PROXY PROXY circuit levelcircuit level
• Si occupa solamente di creare il circuito di comunicazione tra client e server senza che le applicazioni lo sappiano
• Esamina ogni tipo di collegamento in modo che segua una sessione di collegamento TCP giusta (handshake)
• Mantiene una tabella dei collegamenti che usa per far passare dati da una sorgente ad una destinazione
• Terminata la connessione la entry nella tabella viene rimossa e la connessione chiusa
PROXY PROXY circuit level circuit level (continua)(continua)
In sintesi:
• Il proxy riceve un pacchetto
• Lo processa
• Controlla in base ai dati contenuti se il pacchetto ha un’entry nella tabella
• In caso affermativo viene instradato
PROXY PROXY circuit level circuit level (continua)(continua)
Vantaggi:
• Maggiore velocità
• Maggiore protezione verso le macchine della rete interna
• Supporta un’ampia varietà di protocolli di livello applicazione senza avere client che supportino la collaborazione con il proxy
• Non bisogna gestire tanti server quanti sono i protocolli da filtrare
PROXY PROXY circuit level circuit level (continua)(continua)
Svantaggi:
• Difficile collaudo delle regole
• Scarse proprietà di controllo degli eventi sulla verifica dei pacchetti
• Non hanno altre funzionalità incorporate
– Es. gestione della cache
Accesso al WEB mediante un Accesso al WEB mediante un proxyproxy
I firewall che consentono l’accesso alla rete mediante un proxy (detto anche gateway di applicazione) sono sistemi che risiedono sul computer del gateway.
Con questo sistema:
• si possono eseguire filtraggi selettivi in base al tipo di richiesta
• può anche richiedere l’autenticazione dell’utente quando cerca di importare o sportare dati
Accesso al WEB mediante un Accesso al WEB mediante un proxy proxy (continua)(continua)
Vediamo adesso il funzionamento di questo sistema:
Accesso al WEB mediante un Accesso al WEB mediante un proxy proxy (continua)(continua)
Inoltre:
• possono proteggere i sistemi all’interno del firewall filtrando in modo selettivo i caratteri progettati in modo pericoloso per una determinata applicazione
» Es. filtrare motivi di carattere come “;” che potrebbero danneggiare uno script della shell che contiene system
Accesso al WEB mediante un Accesso al WEB mediante un proxy proxy (continua)(continua)
Vantaggi:
• Consente un filtraggio molto selettivo
• Non si ha connessione diretta tra host interni ed esterni ma solo attraverso il sw del proxy
• Riduce il carico del lavoro per rendere sicura la rete interna che viene resa praticamente invisibile dall’esterno
• Permette di eseguire servizi di auditing (controllo delle connessioni)
Accesso al WEB mediante un proxy Accesso al WEB mediante un proxy (continua)(continua)
Svantaggi:
• Ogni applicazione richiede uno specifico proxy
• Il sw del proxy può essere molto complesso e accadere che contenga errori non rilevati che possono mettere a repentaglio il funzionamento del firewall
Software per FirewallSoftware per Firewall
Se si vuole impostare un proxy server sarà necessario uno dei seguenti pacchetti:
• SOCKS
• TIS Firewall Toolkit (FWTK)
SOCKSSOCKS
• E’ un’ application proxy con il quale e` possibile stabilire un canale sicuro tra due computers, in un ambiente Client-Server
• Controlla l'accesso basandosi su informazioni come indirizzo IP, numero di porta di sorgente e di destinazione
SOCKS SOCKS (continua)(continua)
E’ composto da due componenti:
• SOCKS CLIENT LIBRARY
• SOCKS SERVER
SOCKS SOCKS (continua)(continua)
Come si presenta:
SOCKS SOCKS (continua)(continua)
Come funziona:
• Un’applicazione client fa una richiesta di comunicazione ad un server
• Il socks apre per conto del client un proprio canale di comunicazione con il server
• Stabilito tale circuito proxy, il socks ritrasmetterà i dati tra client e server
SOCKS SOCKS (continua)(continua)
Può eseguire varie funzioni come:
• Autenticazione
• Negoziazione del livello di sicurezza
• Autorizzazione
SOCKS SOCKS (continua)(continua)
In sintesi abbiamo 4 operazioni di base:
• Richiesta di connessione
• Stabilire circuiti proxy
• Ritrasmissione dei dati
• Autenticazioni– Introdotta in Socks5 e si basa su di una fase di
negoziazione tra proxy e client• Due metodi di autenticazione:
– Username/Password Autentication (RFC 1927)
– Kerberos Autentication (RFC 1762)
TIS Firewall ToolkitTIS Firewall Toolkit
• La filosofia di funzionamento del TIS è modulare– Partendo da una configurazione minima di sicurezza
esiste la possibilità di aumentare la sicurezza aggiungendo moduli successivi
• Fornisce un programma per ogni utility che intenda utilizzare il firewall
TIS Firewall Toolkit TIS Firewall Toolkit (continua)(continua)
• ftp stream tcp nowait root /usr/local/etc/netacl ftpd.
• ftp-gw steram tcp nowait root /usr/local/etc/ftp-gw ftp- gw
• Telnet stream tcp nowait root /usr/local/etc/tn-gw tn-gw
• tn-admin stream tcp nowait /usr/local/etc/netacl telnetd
• smtp stram tcp nowait root /urs/local/etc/smap smap
Vediamo adesso un esempio del file di configurazione inetd.conf
SOCKS SOCKS versusversus TIS TIS
Strategie differenti:
• SOCKS ha un solo programma che copre tutte le transazioni con Internet
• TIS fornisce un programma per ogni utility che intenda utilizzare il firewall
• SOCKS è più semplice da impostare, più facile da compilare e consente una maggiore flessibilità
• TIS è più sicuro se si vogliono regolamentare gli utenti all’interno della rete protetta
SOCKS SOCKS versusversus TIS TIS (continua)(continua)
Facciamo un esempio:
Accesso al WWW e Telnet
Con SOCKS:
• Si imposta un file di conf e un demone
• Attraverso il file e il demone sono abilitati sia Telnet che WWW, come ogni altro servizio che non è stato disabilitato
Con TIS:
• Si imposta un demone per WWW e uno per Telnet
• Altri accessi sono proibiti se non impostati esplicitamente
Altro utilizzo del Altro utilizzo del ProxyProxy
• Può ridurre il traffico sulle linee internazionali attraverso un caching locale delle pagine WEB più visitate
• L'utente che si avvale di questo servizio, rivolge le sue richieste al Proxy, il quale gli procura i documenti prendendoli dal sito ove questi risiedono e conservandone una copia in locale
• La successiva richiesta della stessa pagina comportera' il prelevamento del file direttamente dalla cache del Server con immenso guadagno di velocita' ( la pagina Web non dovrà più essere recuperata dal Server di origine)
Altro utilizzo del Altro utilizzo del Proxy Proxy (continua)(continua)
• Il contenuto della cache aumenta in modo automatico in seguito alle richieste di pagine Web effettuate dagli utenti
• Viene rinfrescato e aggiornato mediante automatici collegamenti del Proxy ai Siti memorizzati
• Il Proxy diventa piu' efficiente quanto piu' è piena la cache
– in pratica, piu' utilizzate il Proxy, maggiori sono i benefici in ordine di velocita'
Anonimia nel World Wide WebAnonimia nel World Wide Web
• L’importanza dell’anonimia nel web browsing è in crescita
• Sempre più web server tengono traccia di utenti mentre questi navigano di sito in sito
• Il corrente stato della tecnologia World Wide Web fornisce ampie opportunità ai siti WEB di collezionare info personali su di un utente
• E’ una minaccia alla privacy– L’utente fornisce info personali:
• rispondendo a delle indagini
• acquistando con carte di credito
• inoltrando email…
Anonimia nel World Wide Web Anonimia nel World Wide Web (continua)(continua)
Un esempio:
Anonimia nel World Wide Web Anonimia nel World Wide Web (continua)(continua)
Una possibile soluzione alla mancanza di anonimia in Internet è l’utilizzo di un particolare proxy
Esempio di normale server proxy
AnonymizerAnonymizer
• Costituito da un server proxy che agisce come tramite tra gli utenti e il sito che desiderano visitare
• Gli utenti si connettono ad Anonymizer il quale a differenza di un normale server proxy fornisce un insieme di accorgimenti:
– Elimina le info di identificazione degli utenti
– Filtra i cookies
– …
• Rende il web browsing privato in assenza di origliamento o analisi del traffico sulla rete
Anonymizer Anonymizer (continua)(continua)
• Questo sistema fornisce un buon livello di data anonymity
• Opera in maniera simile ai remailer con la differenza che è più affidabile
– I remailer mantengono una tabella permanente di associazioni tra email reali e email fittizi, per garantire le reply
Anonymizer Anonymizer (continua)(continua)
Vantaggi
• L’indirizzo IP viene occultato
• Gli HTTP header modificati
• I cookies filtrati– Non ha modo di associare l’identità dell’utente alle
sue richieste successive
Anonymizer Anonymizer (continua)(continua)
Unico svantaggio
Come i remailer è vulnerabile all’attacco di un nemico esterno che è in grado di osservare le richieste entranti e quelle uscenti dal proxy e di correlarle (analisi del traffico)
Siti interessanti
• http://telemat.det.unifi.it/book/Internet/Proxy/proxy.htm (info sui Proxy)
• http://www.tis.com/ (sito di TIS)
• http://www.socks.nec.com/ (sito di SOCKS)
• http://www.naviga.3000.it/ (lista di proxies anonimi)
• http://www.privacy.net/analyze/ (analizzatore)
• http://www.grc.com/ (sito di Steve Gibson)