Upload
dinhkhue
View
223
Download
0
Embed Size (px)
Citation preview
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
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
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.
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)
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
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
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
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/
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
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/
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
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
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”
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
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
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
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/
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)
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