Sicurezza delle applicazioni di rete



Documenti analoghi
Sicurezza delle applicazioni di rete. Sicurezza di canale. Sicurezza di messaggio (o dei dati) Antonio Lioy - Politecnico di Torino ( ) 1

Sicurezza degli accessi remoti. La sicurezza degli accessi remoti

Sicurezza interna alle applicazioni. Sicurezza esterna alle applicazioni. SSL: introduzione. Sicurezza nei Sistemi Informativi

Stunnel & port forwarding

Approfondimento di Marco Mulas

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

La sicurezza nelle reti di calcolatori

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

La sicurezza nel Web

Sicurezza in Internet

Sicurezza dei sistemi e delle reti 1. Lezione VI: IPsec. IPsec. La suite TCP/IP. Mattia Monga. a.a. 2014/15

Sicurezza in Internet. Criteri di sicurezza. Firewall

Configurazione di sicurezza di XAMPP

Programmazione in Rete

Cenni sulla Sicurezza in Ambienti Distribuiti

Reti di Telecomunicazione Lezione 6

Informatica per la comunicazione" - lezione 13 -

Architetture Web Protocolli di Comunicazione

Situazione standard Sicurezza delle applicazioni di rete

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

Sommario. Introduzione alla Sicurezza Web

CRITTOGRAFIA, CERTIFICATI DIGITALI E PROTOCOLLI DI SICUREZZA

Connessione in rete: sicurezza informatica e riservatezza

Reti di Telecomunicazione Lezione 8

La sicurezza nelle comunicazioni Internet

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Protocolli applicativi: FTP

Servizio di Posta elettronica Certificata (PEC)

Creare connessioni cifrate con stunnel

Acquisto con carta di credito. Acquisto con carta di credito

Dal protocollo IP ai livelli superiori

appunti delle lezioni Architetture client/server: applicazioni client

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Servizio di Posta elettronica Certificata (PEC)

Reti di Telecomunicazione Lezione 7

Il Protocollo HTTP e la programmazione di estensioni Web

Dettaglio attività e pianificazione. snamretegas.it. San Donato Milanese Aprile 2014

Servizio di Posta elettronica Certificata (PEC)

SICUREZZA. Sistemi Operativi. Sicurezza

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1

Una Introduzione a TLSv1.0

Sicurezza a livello IP: IPsec e le reti private virtuali

Introduzione alle applicazioni di rete

Sicurezza dei sistemi informatici Firma elettronica E-commerce

Vallarino Simone. Corso di sicurezza A.A. 2003/2004 HTTPS

Siti web centrati sui dati (Data-centric web applications)

Manuale Utente PEC e Client di Posta tradizionale

Applicazioni web centrati sui dati (Data-centric web applications)

Posta Elettronica Certificata

Servizio di Posta elettronica Certificata (PEC)

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Elementi di Sicurezza informatica

Problematiche correlate alla sicurezza informatica nel commercio elettronico

OpenVPN: un po di teoria e di configurazione

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

PEC. Posta Elettronica Certificata. securepec.com

Informatica per la comunicazione" - lezione 8 -

Obiettivo: realizzazione di reti sicure TIPI DI ATTACCO. Politica di sicurezza: a) scelte tecnologiche b) strategie organizzative

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Servizio di Posta elettronica Certificata (PEC)

Protezione delle informazioni in SMart esolutions

Modulo 1: Posta elettronica

HTTP adaptation layer per generico protocollo di scambio dati

La sicurezza delle reti

Configurazione del client di posta per l utilizzo della Posta Elettronica Certificata

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Manuale servizio

UTILIZZO DELLA RETE WIRELESS DIPARTIMENTALE

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

StarShell. IPSec. StarShell

Servizio di Posta elettronica Certificata Estratto Manuale Operativo

Utilizzo del server LDAP locale per la sincronizzazione della base utenti e della GAL

OpenVPN: un po di teoria e di configurazione

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password.

Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy

Reti di calcolatori. Reti di calcolatori

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

12.5 UDP (User Datagram Protocol)

Progettare un Firewall

Benvenuti. Luca Biffi, Direttore Supporto Tecnico di Achab Achab techjam Gateway PEC per MDaemon

Primo accesso al sistema, vincoli nuova password 5. Esempio di accesso attraverso Interfaccia Webmail 7

Configurazione Client di Posta Elettronica

COME CONFIGURARE UN CLIENT DI POSTA

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Transcript:

Sicurezza delle applicazioni di rete Antonio Lioy < lioy @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Sicurezza di canale autenticazione (singola o mutua), integrità e segretezza solo durante il transito nel canale nessuna possibilità di non ripudio richiede poca (o nulla) modifica alle applicazioni... 01 00 11... 01 00 01 00 Antonio Lioy - Politecnico di Torino (1995-2011) 1

Sicurezza di messaggio (o dei dati) autenticazione (singola), integrità e segretezza auto-contenute nel messaggio possibilità di non ripudio richiede modifica alle applicazioni 01 00 11 01 00 01 00 Sicurezza interna alle applicazioni APP #1... APP #N sec canale logico (socket) TCP IP rete sec ogni applicazione implementa la sicurezza al proprio interno la parte in comune si limita ai canali di comunicazione (socket) possibili errori di implementazione (inventare protocolli di sicurezza non è semplice!) non garantisce l interoperabilità Antonio Lioy - Politecnico di Torino (1995-2011) 2

Sicurezza esterna alle applicazioni APP #1... APP #N canale logico sicuro canale logico (socket) TCP IP rete sec il livello sessione sarebbe ideale per implementare molte funzioni di sicurezza ma non esiste in TCP/IP! è stato proposto un livello sessione sicura : semplifica il lavoro degli sviluppatori applicativi evita possibili errori di implementazione a scelta dell applicazione Protocolli di sicurezza orientati al canale di comunicazione SSL / TLS il più diffuso al mondo SSH ha avuto un momento di gloria (legato ai divieti di esportazione USA), ma oggi è una soluzione di nicchia PCT proposto da MS come alternativa a SSL uno dei pochi fiaschi di MS! Antonio Lioy - Politecnico di Torino (1995-2011) 3

SSL (Secure Socket Layer) proposto da Netscape Communications protocollo di trasporto sicuro (circa livello sessione): autenticazione (server, server+client) riservatezza dei messaggi autenticazione ed integrità dei messaggi protezione da replay e da filtering applicabile facilmente a tutti i protocolli basati su TCP: HTTP, SMTP, NNTP, FTP, TELNET,... es. famoso HTTP sicuro (https://...) = 443/TCP Porte ufficiali per applicazioni SSL nsiiops 261/tcp # IIOP Name Service over TLS/SSL https 443/tcp # http protocol over TLS/SSL smtps 465/tcp # smtp protocol over TLS/SSL (was ssmtp) nntps 563/tcp # nntp protocol over TLS/SSL (was snntp) imap4-ssl 585/tcp # IMAP4+SSL (use 993 instead) sshell 614/tcp # SSLshell ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap) ftps-data 989/tcp # ftp protocol, data, over TLS/SSL ftps 990/tcp # ftp protocol, control, over TLS/SSL telnets 992/tcp # telnet protocol over TLS/SSL imaps 993/tcp # imap4 protocol over TLS/SSL ircs 994/tcp # irc protocol over TLS/SSL pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3) msft-gc-ssl 3269/tcp # MS Global Catalog with LDAP/SSL Antonio Lioy - Politecnico di Torino (1995-2011) 4

SSL - autenticazione e integrità peer authentication all apertura del canale: il server si autentica presentando la propria chiave pubblica (certificato X.509) e subendo una sfida asimmetrica l autenticazione del client (con chiave pubblica e certificato X.509) è opzionale per l autenticazione e l integrità dei dati scambiati il protocollo prevede: un keyed digest (MD5 o SHA-1) un MID per evitare replay e cancellazione SSL - riservatezza il client genera una session key utilizzata per la cifratura simmetrica dei dati (RC2, RC4, DES, 3DES o IDEA) la chiave viene comunicata al server tramite crittografia a chiave pubblica (RSA, Diffie-Hellman o Fortezza-KEA) Antonio Lioy - Politecnico di Torino (1995-2011) 5

SSL schema concettuale server Web sicuro (1) https://www.polito.it/ (2) configurazione di sicurezza (3) cert (www.polito.it) (3bis) server challenge / response (4) cert (utente) (4bis) client challenge / response browser (5) canale sicuro (SSL) Session-id Tipica transazione Web: 1. open, 2. GET page.htm, 3. page.htm, 4. close 1. open, 2. GET home.gif, 3. home.gif, 4. close 1. open, 2. GET logo.gif, 3. logo.gif, 4. close 1. open, 2. GET back.jpg, 3. back.jpg, 4. close 1. open, 2. GET music.mid, 3. music.mid, 4. close Se ogni volta si devono rinegoziare i parametri crittografici per SSL, il collegamento si appesantisce molto. Antonio Lioy - Politecnico di Torino (1995-2011) 6

Session-id per evitare di ri-negoziare ad ogni connessione i parametri crittografici, il server SSL può offrire un session identifier (ossia più connessioni possono far parte della stessa sessione logica) se il client, all apertura della connessione, presenta un session-id valido si salta la fase di negoziazione e si procede subito col dialogo SSL il server può rifiutare l uso del session-id id (in assoluto o dopo un certo tempo dalla sua emissione) SSL con session-id (1) https://www.polito.it/ (1bis) session-id server Web sicuro browser (5) canale sicuro (SSL) Antonio Lioy - Politecnico di Torino (1995-2011) 7

SSL-3 / TLS record protocol dati applicativi frammentazione F1 F2 compressione calcolo del MAC MAC padding MAC P cifratura header H SSL-3: novità rispetto a SSL-2 compressione dei dati: opzionale prima della cifratura (dopo non serve ) opzionalità della cifratura dei dati: per avere solo autenticazione e integrità possibilità di rinegoziare la connessione: cambio periodico delle chiavi cambio degli algoritmi corregge vari errori nel protocollo Antonio Lioy - Politecnico di Torino (1995-2011) 8

TLS e server virtuali: problema server virtuale (frequente in caso di web hosting) diversi nomi logici associati allo stesso indirizzo IP es. libri.myweb.it=1.2.3.4, food.myweb.it =1.2.3.4 facile in HTTP/1.1 il client usa l header Host per identificare il server a cui vuole collegarsi ma difficile con HTTPS perché TLS è attivato prima di HTTP quale certificato usare? (deve contenere il nome del server) TLS e server virtuali: soluzioni certificato collettivo (wildcard) es. CN=*.myweb.it chiave privata condivisa tra tutti i server trattato in modo diverso dai vari browser certificato con elenco di server in subjectaltname chiave privata condivisa tra tutti i server occorre ri-emettere il certificato ad ogni aggiunta o cancellazione di un server usare estensione SNI (Server Name Indication) in ClientHello (permesso da RFC-4366) supporto limitato da parte di browser e server Antonio Lioy - Politecnico di Torino (1995-2011) 9

Sicurezza di HTTP meccanismi di sicurezza definiti in HTTP/1.0: address-based = il server controlla l accesso in base all indirizzo IP del client password-based (o Basic Authentication Scheme) = accesso limitato da username e password, codificate con Base64 entrambi gli schemi sono altamente insicuri (perché HTTP suppone che sia sicuro il canale!) HTTP/1.1 introduce digest authentication basata su sfida simmetrica RFC-2617 HTTP authentication: basic and digest access authentication HTTP - basic authentication scheme GET /path/alla/pagina/protetta HTTP/1.0 HTTP/1.0 401 Unauthorized - authentication failed WWW-Authenticate: Basic realm="realmname" Authorization: Basic B64_encoded_username_password HTTP/1.0 200 OK Server: NCSA/1.3 MIME-version: 1.0 Content-type: text/html <HTML> pagina protetta... </HTML> Antonio Lioy - Politecnico di Torino (1995-2011) 10

due alternative: HTTP e SSL/TLS TLS then HTTP (RFC-2818 HTTP over TLS) HTTP then TLS (RFC-2817 upgrading to TLS within HTTP/1.1) nota: SSL then HTTP usato ma non documentato non equivalenti e con impatto su applicazioni, firewall e IDS concetti applicabili in generale a tutti protocolli: SSL/TLS then proto vs. proto then TLS Client authentication SSL a livello applicativo tramite la client authentication è possibile identificare l utente che ha aperto un canale (senza richiedergli username e password) alcuni server web permettono di fare un mapping (semi-)automatico tra credenziali estratte dal certificato X.509 e utenti del server web e/o del S.O. Antonio Lioy - Politecnico di Torino (1995-2011) 11

Autenticazione nelle applicazioni web più in basso si fà il controllo e meno parti si espongono agli attacchi inutile ripetere l autenticazione (id propagabile) applicazione ASP, PHP, JSP (application server) autenticazione applicativa mapping canale HTTP (server web) HTTP basic/digest authentication canale SSL (libreria) SSL client-auth. (X.509) Username e password in un form? tecnicamente, non importa la sicurezza della pagina in cui si introducono i dati http://www.ecomm.it/login.html / perché la sicurezza effettiva dipende dalla URI del metodo usato per inviare username e password al server <form action= https://www.ecomm.it/login.asp > ma psicologicamente è importante la sicurezza della pagina in cui si introducono i dati perché pochi utenti hanno le conoscenze tecniche necessarie a verificare la URI del metodo usato per l invio Antonio Lioy - Politecnico di Torino (1995-2011) 12