Tecnologie di Sicurezza in Internet APPLICAZIONI

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

3 ottobre 2000Consiglio Nazionale delle Ricerche Progetto Biblio MIME 1 Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni.
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
Modulo 5 - posta elettronica
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Elaborazione del Book Informatico
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
ISA Server 2004 Configurazione di Accessi via VPN
ISA Server for the Enterprise. Clients Client Overview Internet ISA Server SecureNAT Client Do not require you to deploy client software or configure.
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Politiche delle Reti e Sicurezza
Gestione dei laboratori Come rendere sicura la navigazione internet e l'uso della rete Lorenzo Nazario.
Safe.dschola.it Attenti alle sovrapposizioni! Procedure Reali Procedure Qualità Procedure Privacy Le politiche per la privacy e la sicurezza non si risolvono.
Java Enterprise Edition (JEE)
Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Organizzazione di una rete Windows 2003
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Architettura del World Wide Web
Carotenuto Raffaele Distante Federico Picaro Luigi
Il protocollo ftp.
23 novembre 2000IAT-CNR Progetto Biblio MIME 1 Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni Telematiche di.
I marchi sono di proprietà dei rispettivi possessori © 2001 Daniele Albrizio Squid nella rete aziendale Configurazioni e soluzioni Daniele Albrizio
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
Il Firewall Sistemi di elaborazione dellinformazione : Sicurezza Anno Accademico 2001/2002 Martini Eros.
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 7 – reti informatiche u.d. 1 (syllabus – )
Guida IIS 6 A cura di Nicola Del Re.
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Un problema importante
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
BIOINFO3 - Lezione 101 GLI IPERTESTI Una delle innovazioni introdotte da HTML e dal WWW in generale, rispetto ad un testo normale è sicuramente la possibilità
Amministrazione della rete: web server Apache
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Creato da Riccardo Nuzzone
1 Storia di Internet Internet non è un’invenzione degli anni ’90….. Nata dagli studi di un’agenzia detta ARPA (Advanced Research Projects Agency) Internet.
INFN-AAI SAML 2.0 Dael Maselli Tutorial INFN-AAI Plus Dicembre 2010.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
ASP.NET – Autenticazione e Sicurezza basata sui ruoli
Dal click alla pagina web... Centro di Calcolo Corso Internet 22 Novembre 1996 Stefano Bistarelli Università di Chieti-Pescara “G. D’Annunzio” Dipartimento.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Certificati e VPN.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 2 – Complementi.
CUBE firewall Lic. Computers Center aprile 2003 Villafranca di Verona, Italia.
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Tecnologie di Sicurezza in Internet APPLICAZIONI AA Ingegneria Informatica e dell’Automazione programma.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Reti II Stefano Leonardi
Servizio per l’Informatica Centrale di Ateneo Portale della Didattica Un’introduzione
UNITA’ 04 Uso Sicuro del Web.
CORSO INTERNET la Posta elettronica
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Corso "RouterOS in Pratica"
Tecnologie di Sicurezza in Internet APPLICAZIONI Commonly used proxies and SSH AA Ingegneria Informatica e dell’Automazione.
Note: deve essere possibile utilizzare il protocollo BGP sui router per propagare le due reti visibili su internet tale soluzione deve essere concordata.
Prof. Paolo Antonucci.  Cookie: piccolo file di testo che restituisce al web server informazioni sulla macchina alla quale inviare la pagina web  Web.
Firewalling. A che serve un firewall? Rende accessibili all’esterno solo i servizi che veramente vogliamo pubblicare Impedire agli utenti della rete.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
 Network Address Traslation: tecnica che permette di trasformare gli indirizzi IP privati in indirizzi IP pubblici  Gli indirizzi devono essere univoci.
Livello 7: Applicazione. Protocolli più importanti HTTP = Hyper Text Transfer Protocol HTTPS = Hyper Text Transfer Protocol over Secure Socket Layer DNS.
Tecnologie di Sicurezza in Internet APPLICAZIONI Nozioni preliminari AA Ingegneria Informatica e dell’Automazione.
1 ENUM “fai da te” Ottavo workshop GARR Milano, 1-4 aprile 2008 Marco Sommani CNR Ist. Informatica e Telamatica - Pisa
Framework di sicurezza della piattaforma OCP (Identity & Access Management) Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric.
Transcript della presentazione:

Tecnologie di Sicurezza in Internet APPLICAZIONI AA 2009-2010 Ingegneria Informatica e dell’Automazione Web caches

Il proxy per antonomasia Per proxy, o proxy server, intendiamo solitamente un proxy HTTP, ossia un servizio di rete che accede al web per conto e in vece dei browser Questo poi è solitamente un HTTP caching proxy, ovvero memorizza e gestisce una copia locale degli oggetti web richiamati, fornendoli alle successive richieste HTTP senza effettuare altri accessi ai server di origine Se ben dimensionato: Riduce l'occupazione di banda Riduce la latenza media di accesso al web

HTTP proxy Oltre a HTTP, i caching proxy supportano anche alcuni dei seguenti protocolli HTTPS FTP LDAP WHOIS WAIS Gopher … Wide Area Information Service, un sistema per cercare informazioni indicizzate su server remoti Gopher: proto-www, text-based information retrieval system

HTTP proxy Il browser, anziché connettersi direttamente ai server web di origine, può usare un proxy mediante Configurazione manuale Configurazione automatica Quando l'utente richiede una pagina http://www.sitoweb.com, il browser manda la richiesta al proxy che, dopo aver (opzionalmente) verificato i diritti d'accesso dell'utente al sistema e alla specifica pagina, la richiama e la rimanda in risposta all'utente

Configurazione automatica WPAD Meccanismo che permette ai client di localizzare il proxy automaticamente senza interventi manuali sulla configurazione In diversi modi il browser è portato a scaricare un file di configurazione (.pac) da un web server che è a sua volta localizzato tramite DHCP SLP well-known DNS aliases DNS SRV records "service: URLs" in DNS TXT records PAC file (Proxy Automatic Configuration): un file javascript contenente la configurazione del browser relativa al proxy settings e acceduta dal browser specificando un URL WPAD (Web Proxy Auto Discovery) protocol: DNS o DHCP based Vedere Internet Draft: draft-ietf-wrec-wpad-01.txt Ad esempio, nel meccanismo basato sui well-known DNS aliases, il browser prova a scaricare il PAC file usando alcuni URL dedotti dalla sua configurazione e dal suffisso DNS di default del resolver (riga domain in /etc/resolv.conf): http://wpad.dep.company.com/wpad.dat http://wpad.company.com/wpad.dat

HTTP basics RFC 2616 HTTP REQUEST, HTTP RESPONSE Static and dynamic content cgi-bin Embedded languages Application servers RFC 2616: HTTP 1.1, 114 pagine Message types: request, response Message Headers Message Body REQUESTS: GET, POST, CONNECT, … Es: GET URL HTTP/1.1 RESPONSE: 1xx (info), 2xx (success), 3xx (redirection), 4xx (client error), 5xx (server error) URI = Uniform Resource Identifiers, formatted strings che identificano una risorsa fisica o astratta (RFC 2396) E' di due tipi: Locator (URL) e Name (URN) // C'è spesso confusione (cfr. RFC 3303)

Fetch algorythm CLIENT REQUEST HTTP REQUEST TO ORIGIN HTTP REQUEST In cache? no yes HTTP REQUEST TO ORIGIN “if_modified_since” Expired? yes no Error? yes no Modified? no yes Cacheable? yes In cache? yes no Cfr RFC 2616 HTTP 1.1 no STORE IN CACHE RESPONSE ERROR

Fetch algorythm Un caching proxy, come Squid, cerca nella cache una copia dell'oggetto (indicizzata con l’MD5 hash dell'URL) Se esiste controlla la scadenza; se l'oggetto è considerato ancora valido (dipende dalle politiche scelte, che possono variare a seconda del tipo di oggetto) viene consegnata la copia se invece l'oggetto è scaduto viene richiesto al server originale l'oggetto, inserendo nella request un header If-Modified-Since se la risposta conferma che l'oggetto è ancora valido perché non modificato, al client viene restituito l'oggetto in cache Cfr RFC 2616 HTTP 1.1

Fetch algorythm Se l'oggetto non è in cache, è scaduto o viene invalidato richiama l'oggetto dal server origine se questo ritorna un errore HTTP 5xx ed esiste un oggetto scaduto, restituisce quest'oggetto controlla che l'oggetto sia cachable; se sì ne memorizza una copia locale in cache al termine l’oggetto viene consegnato al client

Oggetti Cacheable objects HTTP: Deve avere un tag Last-Modified: Non-cacheable objects HTTPS, WAIS HTTP: Nessun tag Last-Modified: Oggetti autenticati Cache-Control: private, no-store, no-cache URLs con '?' o 'cgi-bin' Response a POST methods L'header Cache-Control è Pragma in HTTP 1.0

Autenticazione Squid usa moduli esterni per l'autenticazione degli utenti LDAP NCSA MSNT SMB PAM getpwam, sasl, winbind National Center for Supercomputing Application (University of Illinois at Urbana-Champaign)

ACL Una forma più banale di autenticazione si può ottenere con ACL sull'indirizzo IP della richiesta, nel caso si usino indirizzi statici acl all src 0.0.0.0/0.0.0.0 acl mynetwork src 192.168.1.0/24 http_access allow mynetwork http_access deny all Esempio di ACL sulle porte acl ssl_ports port 443 555 666 acl www_ports port 80 81 acl safe_ports port 1025-65535 http_access deny HTTP !www_ports !safe_ports http_access deny CONNECT !ssl_ports

Redirectors Squid può riscrivere gli URL che gli sono richiesti, richiamando un processo esterno detto redirector Serve principalmente per funzioni di URL filtering, ossia per controllare i siti che gli utenti visitano Il redirector riceve in input l'URL richiesto, l'IP address e (se autenticato) lo user richiedente e il metodo HTTP Risponde una riga vuota se OK, oppure un nuovo URL SquidGuard E' un buon esempio di redirector Filtra su sources (IP, domain, user), time e destinations (domainlists, urllists, expressionlists) Può servire anche a collezionare statistiche o a classificare gli accessi

Configurazioni base Porte e indirizzi # http_port [ip_address:]port http port 172.20.10.1:8080 Dimensionamenti cache_dir directory size d1 d2 cache_mem maximum_object_size maximum_object_size_in_memory Processi ausiliari dns_children n redirect_children n Regole di caching refresh_pattern regex min pct max quick_abort_{min,max,pct} d1 e d2 sono le bucket directories: esempio 256 directory di primo livello (da 00 a ff) ciascuna contenente 256 directory (da 00 a ff) dove gli oggetti vengono riposti secondo una distribuzione pseudocasuale (p.es. i primi 4 bytes della hash MD5). Questa organizzazione serve a mantenere il tempo di accesso fisico al disco indipendente dal numero di oggetti in cache Cache_mem è tipicamente non esagerata: 8-16MB. Viene usata per mantenere gli oggetti piccoli e più frequentemente acceduti (solo per risparmiare il tempo di accesso al disco) e per gli oggetti in transito (quelli cioè richiesti al server origine a seguito di un MISS e che perciò hanno priorità) Maximum_object_size dichiara la dimensione massima degli oggetti cacheabili Maximum_object_in_memory la max dimensione degli oggetti che rimangono nella cache_mem Refresh_pattern -i .(pdf|gif|jpg|…)$ 0 50% 43200 min = tempo minimo (di età) perché un oggetto sia considerato "fresh" pct = percentuale sull'età di un oggetto perché sia considerato "fresh" max = tempo massimo perché un oggetto sia considerato "fresh" Quick_abort_* permettono di decidere cosa fare se il client si disconnette prima che la sua richiesta sia completata Quick_abort_min: la richiesta di abort è ignorata se al completamento del trasferimento mancano meno di min bytes Quick_abort_max: la richiesta è onorata se mancano più di max bytes Quick_abort_pct: se il trasferimento ha caricato più di pct (%) dell'oggetto la richiesta è comunque onorata

Installazioni Packet Filter Il caching proxy installato in una DMZ e protetto dal packet filter Application Level Gateway Il caching proxy è installato nell'AG stesso Ridondanze Si possono utilizzare link multipli e/o gerarchie di cache, per failover e/o balancing Esempi: 2 cache di perimetro con failover e bilanciamento via DNS-Round-Robin + WPAD 2 cache di perimetro + 1 cache interna con bilanciamento e failover via ICP Le cache di perimetro possono “uscire” su due ISP differenti

Concetti avanzati Cache peers, parents, siblings Cache digests, Cache hierachies ICP, HTCP, CARP ICMP RTT performance measurements Delay pools Transparent proxying HTTP accelerator e reverse proxies Internet Caching Protocol, HyperText Caching Protocol, Cache Array Routing Protocol Delay pools permettono di configurare classi di servizio differenziate con una sorta di traffic shaping

Concetti avanzati Si possono configurare delay pools, classi di servizio differenziate che permettono di realizzare traffic shaping e altre priorità Per far funzionare un transparent proxy occorre avere un router (configurato come default gateway) che redirige tutto il traffico uscente sulla porta 80 alla corrispondente porta del proxy. Al contrario del proxy normale questa configurazione consente di non configurare i browser, ma: il router può sovraccaricarsi sono richieste modifiche al kernel del proxy solo HTTP (no HTTPS, FTP, altri protocolli) in alcuni casi occorre riscrivere gli URL Esempio complesso di transparent proxy è la batteria di proxy di Vodafone: il browsing effettuato usando i servizi GPRS, UMTS e Wireless della rete Vodafone produce due modifiche sul contenuto web servito: tutti gli URL sono riscritti come http://10.128.254.xx/www.sitoweb.comm/path/to/document Tutte le immagini JPG vengono modificate per massimizzare la compressione

Gerarchie di cache Il percorso dal browser al server d’origine può attraversare più di una cache, che funzionano in modo indipendente o lavorano insieme tramite protocolli specifici (es. ICP) A seconda della convenienza e della sua configurazione, una cache può recuperare il contenuto direttamente dal server origine oppure può farlo tramite altre cache, usandole come parent o come sibling, in funzione per esempio del dominio di destinazione, del contenuto della gerarchia (cache digest) o delle prestazioni misurate del server di origine (ICMP RTT) Protocolli per le gerarchie di cache: Internet Caching Protocol HyperText Caching Protocol Cache Array Routing protocol Parent cache: recupera gli oggetti e li consegna a una child Sibling cache: può essere usata per distribuire il carico o come parent “occasionale” ICMP Round-Trip-Time viene utilizzato per misurare le performance degli origin server ICP lo memorizza e lo usa per "scegliere" con quale strategia recuperare un oggetto (decidendo se andare direttamente al server origine o se usare un'altra cache) Un cache digest è un sommario (compresso lossy) del contenuto di una cache. Le cache se lo possono scambiare periodicamente. Serve per eliminare la latenza introdotta dall’uso del protocollo ICP per fare le richieste alle altre cache prima che agli origin server

Gerarchie di cache INTERNET ISP B ISP A Beta Alpha Cache A Cache B FW FW Cache A Cache B Sito A Sito B Esempio: tre unità di business indipendenti collegate ad alta velocità fra loro e con due connessioni a Internet indipendenti C serve il “sito C” e usa A e/o B come parent – non ha accesso diretto a Internet A serve il “sito A” e ha accesso a Internet, ma può usare B come sibling ed eventualmente la cache Alpha del provider come parent, ad esempio per l’accesso ai domini esterni locali o sulla base di scelte dinamiche basate sulle performance misurate Simmetricamente per B Cache C Sito C

Reverse proxies Sono proxy, tipicamente cache HTTP, aventi un insieme prefissato di web server d’origine, per i quali funzionano come front-end Il caso più semplice di reverse proxy è l’HTTP accelerator, in cui le funzionalità di caching del proxy si usano per sollevare i web server da una parte del loro carico di lavoro, in particolare per il contenuto statico Costituiscono un livello di difesa addizionale, anche se le motivazioni per la loro installazione sono molteplici

Reverse proxies Frequentemente l’uso dei reverse proxy è dovuto a diverse esigenze: esporre i contenuti di web server usando nomi alternativi e riscrivendo gli URL ed eventualmente il contenuto delle response realizzare accessi HTTPS a sistemi già esistenti che non supportano SSL o per cui non è conveniente configurare SSL esporre all’esterno in modo sicuro un web server installato internamente alla rete locale

Reverse proxies applicativi Un altro uso frequente dei reverse proxy è dovuto a esigenze applicative o organizzative: aggiungere autenticazione e autorizzazioni applicative gestite a siti web interni fuori controllo e contenenti informazioni statiche integrare nel proprio sistema di autenticazione e autorizzazioni web ambienti commerciali incompatibili Introdurre queste di tecniche di sicurezza applicativa è possibile solamente in regime di Identity Management A volte nelle aziende si trovano sacche di autonomia che sviluppano procedure e altra documentazione su mini siti web autogestiti; l’accesso a queste informazioni resterebbe fuori controllo senza poterli governare con criteri gestiti. L’uso dei reverse proxy può essere un’iniziativa sufficiente a ottenere questo obiettivo, quando non sia realizzabile un’azione di più vasto respiro, come l’adozione di un gestore documentale

Riferimenti The Squid Caching Proxy Chris Wichura Squid website http://www.squid-cache.org Squid FAQ http://www.squid-cache.org/FAQ SquidGuard website http://www.squidguard.org HTTP 1.1 RFC 2616 Internet Draft draft-ietf-wrec-wpad-01.txt http://www.wrec.org/Drafts/draft-ietf-wrec-wpad-01.txt Apache HTTP Server Project http://httpd.apache.org/