This is an old revision of the document!
Table of Contents
Security
Apriamo questa pagina per migliorare la sicurezza della nostra infrastruttura IT, in particolare sull'adozione dell'HTTPS per i servizi interni ed esterni.
Premessa
L'obiettivo e' quello di rendere piu' sicure le comunicazioni client-server, tuttavia ad oggi per far questo ci sono 2 possibilita': affidarsi ad una certification authority, oppure crearsi un certificato autofirmato. Questa seconda possibilita', seppur possa essere tranquillamente applicata per i nostri servizi interni, si potrebbe rilevare un po' troppo “invasiva” nei confronti di utenti esterni, che si ritroverebbero messaggi di avvertimento. Allo stesso tempo, quella delle CA e' a tutti gli effetti una sorta di mafia, che tra l'altro non dovrebbe aumentare l'affidabilita' delle connessioni.
Il punto di equilibrio potrebbe consistere nel fare affidamento ad una CA solo per servizi esterni particolarmente critici, ed usare certificati molto basilari, a bassissimo costo o del tutto gratuiti (vedi sotto).
Recentemente e' stata lanciata una campagna da parte di Eletronic Frontier Foundation, Mozilla, Cisco, etc per costituire una sorta di CA che fornisce certificati gratuitamente. L'iniziativa dovrebbe partire nell'estate 2015: https://www.eff.org/deeplinks/2014/11/certificate-authority-encrypt-entire-web
In un futuro piu' remoto, una delle possibilita' che si intravede all'orizzonte e' quella del cosiddetto Web Of Trust, per arrivare alla “decentralizzazione” dell'autorita'!
Risultati attesi
- Installazione temporanea di test (befair2/gf_secure, secure.gasistafelice.befair.it) con certificato autofirmato, entro inizio dicembre
- Gasista Felice (befair2/gf_prod, gasistafelice.befair.it) sotto HTTPS con certificato da CA ufficiale, entro fine 2014
Futuri risultati (chi lo sa..):
- Servizi interni beFair (*.internal.befair.it)
- si.internal.befair.it
- Servizi esterni
- docs.befair.it
- pad.befair.it
- Gasista Felice (desmc/gf_desmc, ordini.desmacerata.it) sotto HTTPS con certificato da CA ufficiale
Casi di utilizzo
Servizi interni (*.internal.befair.it):
- livello di sicurezza alto: https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
- certificato wildcard, ovvero *.internal.befair.it
- Certification Authority: beFair CA
Servizi esterni:
- livello di sicurezza intermedio: https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
- certificato per singolo dominio:
- free(ware): https://www.startssl.com/?app=40
- certificato wildcard (in futuro):
- 60USD/year: https://www.startssl.com/?app=40
Miscellaneous
- Mozilla Guidelines: https://wiki.mozilla.org/Security/Server_Side_TLS
- Test suite: https://www.ssllabs.com/ssltest/
- Mozilla config generator: https://mozilla.github.io/server-side-tls/ssl-config-generator/
- Deploying TLS the hard way: https://timtaubert.de/blog/2014/10/deploying-tls-the-hard-way/
- HTTPS su Nginx: https://bjornjohansen.no/optimizing-https-nginx
Il compito di gestire le sessioni HTTPS dipende esclusivamente dal web server (NGiNX) e dalla libreria specifica (OpenSSL), sollevando cosi' da questo ruolo gli application server (uWSGI, Gunicorn, Unicorn, NodeJS, PHP-FPM, FCGIWrap..). Su Wheezy abbiamo le seguenti versioni:
- OpenSSL 1.0.1e
- NGiNX 1.2.1
In wheezy-backports (e jessie) e' disponibile NGiNX 1.6.2 che aggiunge le seguenti funzionalita':
- SPDY 3
- il protocollo piu' moderno tra quelli stabili e in produzione, introduce multiplexing, compressione..
- e' in produzione su diversi siti (google, fb, twitter, wordpress.com..)
- e' una sorta di “branch di sviluppo” di HTTP 2.0
- OCSP (da vedere)