19
Enrico M.V. Fasanelli - Stunnel & port forwarding I INFN Security Workshop Sezione di LECCE Servizio Calcolo & Reti Firenze, 19-20 Settembre 2000 Eliminazione della trasmissione di passwords in chiaro Stunnel & port forwarding Enrico M.V. Fasanelli I.N.F.N. - Sezione di Lecce

Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Embed Size (px)

Citation preview

Page 1: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000

Eliminazione della trasmissione di passwords in chiaro

Stunnel&

port forwarding

Enrico M.V. FasanelliI.N.F.N. - Sezione di Lecce

Page 2: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 2

Sommario• Prologo

– Perchè tutto ciò

• Strumenti a disposizione– I protocolli ed i prodotti più diffusi

• SSL/TLS– Descrizione “sommaria” e SW che lo usa– Come utilizzarlo anche senza SW SSL/TLS-aware (es. stunnel)

• stunnel– Prerequisiti per l’installazione ed il funzionamento– Esempio di installazione e configurazione

• Altro SW SSL/TLS-aware (free/OpenSource) in arrivo• Riferimenti utili

Page 3: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 3

Prologo

• Eliminazione della trasmissione (in chiaro) delle passwords (edeventualmente anche dei dati)– Sniffer di rete

• CERT® incident note IN-99-06 sui distributed network sniffer del25/10/99 (http://www.Cert.Org/incident_notes/in-99-06.Html)

• Attenzione agli anelli “deboli” della catena– Es.: Sessioni X11 da xterm, telnet, ftp, ecc. ecc.

Page 4: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 4

Protocolli e prodotti a disposizione (a me noti)

• Kerberos, nelle due versioni: 4 (AFS) e 5 (DCE)– “Semplice” autenticatore– Suppone la rete insicura, ma il server sicuro

• Le chiavi (passwords) sono depositate sul server

• ssh (Secure SHell) nelle due versioni SSH1 ed SSH2– Sostituisce i servizi “r” come rsh, rlogin, rcp (ftp nella sola SSH2)

• Autenticazione SSH1– Chiave pubblica RSA, kerberos, password file, host (/etc/hosts.equiv o

.rhosts)• Autenticazione SSH2

– Chiave pubblica DSA, password file, host (public key)

– Canale di comunicazione crittografato

• SSL/TLS (Secure Sockets Layer/Transport Layer Security)

Page 5: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 5

Secure Sockets Layer/Transport Layer Security

• SSLv2/SSLv3– Nasce in Netscape Communications (Internet draft expired)

• TLSv1 (RFC 2246 Gennaio 1999)– Internet Standards Track (http://www.ietf.org/rfc/rfc2246.txt)

• TLS (Include compatibilità verso SSL)– Protocollo a due strati

• TLS Record Protocol– Connessioni private via crittografia simmetrica– Connessioni affidabili via message interity check

• TLS Handshake Protocol– Autenticazione via crittografia asimmetrica (X.509v3)– Negoziazione sicura ed affidabile

Page 6: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 6

SSL/TLS: Le porte assegnate da IANA• 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)• sshel 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 # Microsoft Global Catalog with LDAP/SSL

Page 7: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 7

Cosa serve per usare SSL/TLS• Coppia Client-Server SSL/TLS-aware:

– Clients: generalmente disponibili “free” almeno per uso educational/ no-profit (es. Netscape Communicator, IE, Outlook)

– Servers: già disponibili per https, in fase di rilascio per altri• pop3s, imaps: IMAP-2000 della W.U (Release Candidate 6)• smtps: Sendmail 8.11 (chi l’ha provato?)• telnets: start_tls-telnet (in fase di sviluppo)

• In mancanza di Server e/o Client SSL/TLS-aware:– wrapper (es. Stunnel)

• Certificato X.509 per il server– Rilasciato e firmato da una CA– autofirmato

• Certificato per l’utente

Page 8: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 8

stunnel

• Uno dei prodotti OpenSource che permette di crittografare

connessioni TCP arbitrarie usando il protocollo SSL

• Disponibile sia per sistemi UNIX che per Windows

• Rende possibile l’uso di SSL con servers (e clients) non SSL,

senza dover modificare il codice del server (e clients)

• Richiede librerie SSL (OpenSSL, SSLeay)

• Lo potete trovare (dall’11 giugno scorso) in

http://www.stunnel.org/

Page 9: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 9

Installazione delle librerie SSL (OpenSSL) su Linux o *BSD

• Punto di partenza: http://www.openssl.org/• Versione corrente: OpenSSL 0.9.5a (0.9.6 in Beta)• Su Linux (RH62) e su *BSD, la sequenza

./configure ;make ;make test; make install;

non ha problemi.• Installazione di default in /usr/local/ssl (modificabile da flags di

configurazione) --prefix=/usr/lecce• E’ preferibile condividere l’installazione tra macchine della stessa

architettura– AFS: /usr/lecce ---> /afs/le.infn.it/sw/@sys/usr.lecce

/usr/infn --> /afs/@cell/sw/@sys/usr.infn

Page 10: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 10

Installazione delle librerie SSL (OpenSSL) su non-Linux

• Punto di partenza: http://www.openssl.org/• Versione corrente: OpenSSL 0.9.5a (0.9.6 in Beta)

– Dalla 0.9.5 in poi, OpenSSL *RICHIEDE* che la funzione digenerazione dei numeri pseudocasuali, sia opportunamenteinizializzata (/dev/urandom sui sistemi Linux)

– Si può usare la 0.9.4 (correndo i rischi di una versione vecchia in unsistema di crittografia...)

– Si può sopperire alla mancanza di /dev/urandom usando il demoneegd (Entropy Gathering Demon) http://www.lothar.com/tech/crypto/

Page 11: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 11

Installazione di stunnel

• Punto di partenza: http://www.stunnel.org/• Versione corrente: Stunnel-3.8p4 rilasciata il 25-06-2000• E preferiribile l’installazione locale

– Certificato+chiave privata nello stesso file (chmod 600)– Malfunzionamento del file server

• ./configure --prefix=/usr --localstatedir=/var/stunnel \--with-ssl=/usr/lecce/ssl --with-pem-dir=/etc/stunnel \[--with-egd-socket=/etc/entropy]

• make– genera anche un certificato “self-signed”

• make install

Page 12: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 12

set-up di stunnel

• E’ comunque necessario un certificato X.509 in formato PEM– Auto-firmato

• Generato in fase di “make”– Firmato da una CA (es. INFN CA)

• Istruzioni dettagliate in http://security.fi.infn.it/tools/stunnel/– Si usa OpenSSL per generare la richiesta di certificato per il

serveropenssl req -new -nodes -out req.pem -keyout key.pem– Si spedisce la riciesta (req.pem) alla CA per il rilascio del

certificato firmato, che andra’, insieme al key.pem, nel file/etc/stunnel/stunnel.pem

Page 13: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 13

Cosa fa e cosa non fa

• stunnel può:– Aggiunge le funzionalità di SSL/TLS a servers che ne sono

sprovvisti (es. i servers IMAP/POP3 di W.U. e Cyrus)– Creare una VPN (ppp over stunnel)– Trasmettere in modo sicuro (crittografato) il traffico TCP tra porte

per le quali non è prevista la crittografia

• NON può essere usato con:– Traffico UDP– Protocolli che fanno uso di connessioni multiple (es. ftp)– Protocolli in cui la selezione di una connessione SSL è frutto di una

negoziazione tra client e server (es STARTTLS in ssltelnet)– Protocolli che dipendono da dati “Out Of Band”

Page 14: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 14

Esempio di utilizzo

• Macchina “A”: servers POP3/IMAP4rev1 v. 4.7c della W.U.• Macchina “B”: stunnel

• stunnel -d imaps -r A:imap• stunnel -d pop3s -r A:pop3

• Client “C” si collega a B:imaps• Se A e B coincidono,

• stunnel -d imaps -r localhost:imap

A B

C

Page 15: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 15

Dalla parte del client

• I clients Netscape ed IE (Outlook) verificano i certificati– Certificato firmato da una “root CA” codificata nel client (o

comunque caricata nel client) lo accettano– Certificato firmato da una CA “ignota” chiedono conferma

• Scaricare il certificato della CA che rilascia e firma i certificati peri servers

• Accettare i certificatidei servers

Page 16: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 16

Altro SW SSL/TLS-aware in arrivo

• IMAP-2000– Server imap4rev1 e pop3 con supporto SSL (Release Candidate 6)

• Sendmail 8.11– Famoso MTA

• start_tls-telnet– telnet client/server con supporto di SSL e X11 forwarding

• sftp– da SSH2– WU FTPd/SSL

Page 17: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 17

Riferimenti bibliografici e maggiori informazioni (1)

• Mio riferimento in italia– http://security.fi.infn.it/

• Kerberos4– http://www.pdc.kth.se/kth-krb/

• Kerberos5– http://www.pdc.kth.se/heimdal/

• RSA/DSA– http://www.rsasecurity.com/rsalabs/faq/

• ssh– http://www.ssh.org/– http://www.ssh.com/

Page 18: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 18

• SSL/TLS– http://www.openssl.org/– http://www.irtf.org/rfc/rfc2246.txt

• stunnel– http://www.stunnel.org/

• sendmail– http://www.sendmail.org/

• telnets– http://www.cc.columbia.edu/kermit/telnetd.html

• imaps– http://www.cac.washington.edu/imap– http://asg.web.cmu.edu/cyrus

Riferimenti bibliografici e maggiori informazioni (2)

Page 19: Stunnel port forwarding - INFN Security Group€¢ TLS Handshake Protocol – Autenticazione via crittografia asimmetrica (X.509v3) – Negoziazione sicura ed affidabile Enrico M.V

Enrico M.V. Fasanelli - Stunnel & port forwarding

I INFN Security Workshop Sezione di LECCE

Servizio Calcolo & Reti

Firenze, 19-20 Settembre 2000 19

Domande e (nei limiti del possibile) risposte