Diapositives du Webinar SSL :
INTRODUCTION
Qu’est-ce que le SSL / TLS ?
L’intérêt du SSL
Rapide historique
Déroulement d’une connexion TLS
PARTIE 1
Quel est le rôle d’un certificat SSL ?
Les niveaux de validation
Les options d’un certificat SSL : Wildcard et SAN
Le processus de commande
La chaîne de certification
Algorithmes SSL : chiffrement & authentification
Étude de cas : exemples typiques
PARTIE 2
Modes de déploiement
TLS et épuisement des adresses IPv4
HAProxy et le SNI
Impacts du TLS
SSL offloading
SEO
Sécurité du protocole SSL
1. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Avec
Introduction
Qu’est-ceque
Le SSL / TLS
Partie1
À propos des CertficatsSSL
Partie2
Impact et
Optimisation SSL
13/11/2014
2. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Baptiste Assman–HAProxy
INTRODUCTION
Qu’est-cequele SSL / TLS ?
•Qu’est-ce que le SSL / TLS ?
•L’intérêt du SSL
•Rapide historique
•Déroulement d’une connexion TLS
•Glossaire
•Les étapes
3. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Qu’est-cequele SSL ?
OSI model
Layer 7 –application
HTTP, POP, IMAP
Layer 6 –presentation
Layer 5 –session
SSL/ TLS
Layer 4 –transport
TCP
Layer3 –network
IP
Layer2 –link
Layer1 -physical
•SSL(SecuredSocket Layers) lancé en 1994
•En 1999, l’IETF crée une version standardisée du SSL, et la nomme TLS (Transport Layer Security)
•On parle toujours de SSL par abus de langage. SSL = TLS
•Dans le modèle de communication réseau OSI, le SSL / TLS fonctionne sur la 5è couche
Le SSL estsymbolisépar le “s” dansHTTPS, IMAPS, POPS, etc.
4. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Confidentialité: personne ne peut comprendre le contenu échangé entre deux entités ayant établi une connexion TLS
Intégrité: Aucune donnée ne peut être altérée lorsqu’elle est transmise sur une connexion TLS
Authentification: chaque entité d’une connexion TLS peut valider que l’autre est bien celui qu’il annonce être. (Dans ces slides, on ne s’intéressera qu’à la partie serveur)
entité1
entité2
Connexion TLS
Intérêtdu protocole
5. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Historique
•SSL(SecuredSocket Layers)
•Première version: Netscape en 1994
•SSL 2.0: 1995
•SSL 3.0: 1996
•Standardisation par l’IETF : TLS(Transport Layer Security)
•TLS 1.0: 1999 (basé sur le SSL 3.0)
•TLS 1.1: 2006
•TLS 1.2: 2008
•TLS 1.3: 2015
6. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Déroulementd’uneconnexion TLS
Avant de commencer, quelques définitions :
•Client hello: initialisation de la connexion TLS par le client
•Server hello: réponse du serveur à l’initialisation de la connexion TLS du client
•TLS handshake: phase durant laquelle le client et le serveur négocient la façon dont la connexion va s’établir
•Client random: suite de caractères aléatoires, unique pour chaque session TLS, générée par le client
•Server random: suite de caractères aléatoires, unique pour chaque session TLS, générée par le serveur
•Pre-master secret: donnée en binaire fournie par le client, utilisée pour générer la clé de session
•Ciphersuite: suite spécifique d’algorithmes utilisés lors d’une session TLS
•Session key: clé de chiffrement symétrique utilisée suite auTLS handshake
•Session ID: identifiant de session TLS, qui peut être réutilisé ultérieurement par le serveur et le client
Glossaire
7. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Déroulementd’uneconnexion TLS
1èreconnexion : les étapes
•Étape 1:
client hello: le client ouvre une connexion TCP et envoie les ciphersuites qu’il connait
•Étape 2:
server hello: le serveur choisit uneciphersuite depuis la liste du client, et envoie son server random
Le serveur envoie son certificat SSL avec sa clé publique au client
•Étape 3:
Le client vérifie l’authenticité et la validité du certificat du serveur (self signed, expiration, …)
•Étape 4:
Le client utilise la clé publique du serveur pour chiffrer son randomet le pre-master secret
•Étape 5:
Le client et le serveur génèrent la clé de session à l’aide du client random, duserveur randomet du pre-master secret
•Étape 6:
Le premier message chiffré est ensuite échangé
Client
Server
(1) Client Hello
ciphersuites supportées
(2) Server Hello
CipherSuite, certificat Server, clé publique, Server Random
(3)
Vérification du certificat SSL du serveur
(4) Client Key Exchange
Client Random, pre-master secret (chiffrée avcela clé publique du serveur)
(5)
Génération de la clé de session
(5)
Génération de la clé de session et de l’ID de session
(6) Premier message
8. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Reprise d’uneconnexion TLS
TLS resume: les étapes
•Étape 1:
client hello: le client ouvre une connexion TCP et envoie les ciphersuites qu’il connait ainsi que le session ID de la clé qu’il souhaite ré-utiliser
•Étape 2:
server hello: le serveur choisit une ciphersuite depuis la liste du client.
Le serveur envoie son certificat SSL avec sa clé publique au client
•Étape 3:
Le client vérifie l’authenticité et la validité du certificat du serveur (self signed, expiration, …)
•Étape 4:
Le premier message chiffré est ensuite échangé
Client
Server
(1) Client Hello
ciphersuites supportées, Session ID
(2) Server Hello
CipherSuite, certificat Server, clé publique
(3)
Vérification du certificat SSL du serveur
(4) Premier message
9. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
François Marien –SSL247®
•Quelestle rôled’un certificatSSL ?
•Les niveauxde validation
•Les options d’un certificatSSL : Wildcard et SAN
•Le processusde commande
•La chaînede certification
•AlgorithmesSSL : chiffrement& authentification
•Étudede cas: exemplestypiques
PARTIE 1
À propos des CertificatsSSL
10. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Quelestle rôled’un certificatSSL ?
SSL:
Secure Socket Layer
Un certificatSSL estun fichierreliant uneclépubliquecryptographiqueà un nom de domaine. Un certificatSSL active le protocoleSSL / TLS lorsqu’ilestinstallésurun serveur
TLS:
Transport Layer Security
Remplacéen1999 par
3 rôlesprincipaux
•Chiffrer les données transférées en ligne
> Quelqu’un peut-il lire les informations que j’échange?
•Authentifier un serveur
> Suis-je bien en train de communiquer avec le serveur que ce dernier prétend être ?
•Garantir l’intégrité d’un contenu
> Quelqu’un a-t-til pu modifier le contenu que j’échange?
Prouver l’identité de l’organisation qui contrôle le domaine!
(selon le niveau de validation…)
11. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
3 niveauxde validation possibles
•Chiffrement des données
•Validation du nom de domaine + authentification de l’organisation
•Cadenas + https dans le navigateur web
•Les détails de l’organisation sont indiqués dans le certificat
•Émis en 1 -2 jours
Validation de l’organisation = délai d’émission plus long
•Chiffrement des données
•Authentification stricte, qui respecte les normes de l’industrie SSL
•Barre verte + cadenas + https dans le navigateur web
•Les détails de l’organisation sont indiqués dans le certificat
•Émis en 5 –6 jours
Validation stricte et longue = confiance maximum des visiteurs
•Chiffrement des données
•Validation du nom de domaine
•Cadenas + https dans le navigateur web
•Certificat émis en moins de 10 minutes
Aucune validation de l’identité du propriétaire = émission rapide
OV (Organisation Validation)
EV (Extended Validation)
DV (Domain Validation)
12. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
2options / add-ons
Sécuriseun nombreillimitéde sous-domaines.
Un Wildcard se reconnaità son «*» (étoile) dansle domaine. Exemple:*.ssl247.co.ukpeut sécuriser blog.ssl247.co.uk, mail.ssl247.co.uk, server.ssl247.co.uk…
+
Plusfacileàgérer,moinscherqued’acheteruncertificatparsous-domaine;Plusflexible
-
Silecertificatestcompromis,touslesserveursutilisantlecertificatWildcardsontcompromis; IncompatibleaveccertainsOSmobiles;IncompatibleaveclescertificatsEV(ExtendedValidation)
Souventutilisépour les services Unified Communications (UC) afinde sécuriserles applications Microsoft oules Mobile Device Managers.
Exemple: ssl247.com, exchange.ssl247.com, ssl247.net,
new-ssl247.net
-
LeCAprocéderaàlaverificationdechaquedomainesécuriséparvosSANs;NécessiteunbonneorganisationsivousavezdenombreuxSANs;Pluscherqu’uncertificatnormal
+
Ilestgénéralementmoinscherd’acheterdesSANsplutôtqueplusieurscertificats;Sivossites/appssonthebergéssurunseulserveur,unSANnerequiertpasuneadresseIPdifférentepourchaquenomdedomaine
13. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Les étapesde la commande
Requête
Validation et émission
Installation
1
2
3
CSR = CertifiateSigning Request
Informationsdu commanditaire
Cléprivée
Clépublique
Lorsquele CA émetvotrecertificatSSL , cederniergarantitofficiellementquela clépubliquequi se trouvaitdansvotreCSR appartientbienà www.votredomaine.com, et garantitégalementquewww.votredomaine.com estbiencontrôlépar votreorganisation(à l’exceptiondes certificats DV puisqu’ilssontémissans aucunevérification).
14. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
La chaînede certification
Certificat racine (“root”) = le certificat de l’Autorité de Certification elle-même!
Une racine se «chaîne» à un intermédiaire en le «signant» (en l’authentifiant).
“Trust
Infrastructure”
CA intermédiaire= le “délégué” d’uneracine.
L’intermédiaireestencharge de “signer” (authentifier) les certificats SSL.
CertificatSSL.
Le certificatSSL estémispar le CA, puissignépar un intermédiaire, qui estlui-mêmesignépar la racine.
15. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
AlgorithmesSSL : chiffrement
RSA –créépar Ron Rivest, AdiShamir et Leonard Adleman
DSA –DigitalSignatureAlgorithm
ECC –EllipticCurveCryptography –NOUVEAU !
a) Chiffrement asymétrique > 3 principaux algorithmes pour l’échange de clé
Le SSL utilise deuxtypes de chiffrement:
a) Chiffrement asymétrique: utilisé au tout début de la session chiffrée, pendant l’échange de la clé de session
Nécessite deux clés, une publique et une privée)
b) Chiffrement symétrique: utilisé une fois la clé de session échangée
(nécessite une clé de session temporaire)
b) Chiffrement symétrique > 1 standard : AES (Advanced EncryptionStandard)
Cipher suite = combinaisondes algorithmesd’authentification, d’échangede cléet de chiffrement
16. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
AlgorithmesSSL : authentification
1algorithmeprincipal:SHA(SecureHashAlgorithm)
Utilisédanslesconnexionssécuriséesafindeprouverl’intégritéetl’authenticitéd’unmessageaurécepteur.
AlgorithmestandarddanslescertificatsSSL
Les certificats SHA-1 concernéspar l’actionde Google :
•Expirantentre le 01/06/2016 et le 31/12/2016
•Expirantà partirdu 01/01/2017
FinduSHA-1,bienvenueauSHA-2
SHA-2 = empreintede 256 bits
Vs.
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Google accélèrela fin du SHA-1
SHA-1 = empreintede 160 bits
Les 3 prochaines versions de Chrome vont faire apparaître progressivement des icones d’alerte sur des sites sécurisés par des certificats SHA-1
17. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Étudede cas: requêtestypiques
“ J’aibesoinde sécurisermon serveurMicrosoft Exchange”
•mail.contoso.com
•mail.contoso-local.com
•autodiscover.contoso.com
•autodiscover.contoso-local.com
•legacy.contoso.com
•sip.contoso.com
•meet.contoso.com
•lyncdiscover.contoso.com
•lyncweb.contoso.com
•dialin.contoso.com
Certificat de type OV avec SAN
Certificat de type OV avec Wildcard+SAN
•shop.contoso.com
“ J’aiun project Lync avec 2 serveurs: Edge + Proxy”
Certificat Mono-url EV
Symantec
“ J’aiun site de e-commerce”
18. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
PARTIE 2
Impact et Optimisation
Baptiste Assmann–HAProxy
•Modes de déploiement
•TLS et épuisement des adresses IPv4
•HAProxy et le SNI
•Impacts du TLS :
•Sur la performance serveur
•Sur les clients
•Sur les applications web
•SSL offloading
•SEO
•Sécurité du protocole SSL
19. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement
HAProxy
server
•SSL pass through or forward
•SSL offloading
•SSL cut through or bridging
client
SSL
SSL
HAProxy
server
client
SSL
clear
HAProxy
server
client
SSL
SSL
Encrypteddata
Cleardata
Cleardata
•HAProxy peutêtredéployéde 3 manièresdifférentesdevantdes services reposantsurdu SSL.
Il n’ya pas de ‘bonne’ nide ‘mauvaise’ architecture. Il faututilisercellequi répondà vospré-requis.
•Les pré-requissontdictéspar l’application, les serveurs, la capacitéde traitement, etc..
20. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement
server
client
SSL
SSL
HAProxy
Encrypteddata
HAProxy et SSL pass through ouSSL forward
frontend ft_www
mode tcp
bind 10.0.0.1:443
default_backendbk_www
backend bk_www
mode tcp
server s1 10.0.0.11:443
21. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement
HAProxy
server
client
SSL
clear
Cleardata
HAProxy et SSL offloading
frontend ft_www
mode http
bind 10.0.0.1:443 sslcrtmycrt.pem
default_backendbk_www
backend bk_www
mode http
server s1 10.0.0.11:80
22. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement
HAProxy
server
client
SSL
SSL
Cleardata
HAProxy et SSL cut through oubridging
frontend ft_www
mode http
bind 10.0.0.1:443 sslcrtmycrt.pem
default_backendbk_www
backend bk_www
mode http
server s1 10.0.0.11:443 ssl
23. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
TLS et épuisementdes adressesIPv4
Extension TLS: Server Name Indication (SNI)
•Le certificat présenté par le serveur doit correspondre EXACTEMENT au hostname, ou le client recevra une alerte de type «domainmismatch».
•Ce qui se passait avant l’arrivée du SNI :
•Quand le serveur doit envoyer le certificat, il ne sait pas quel service le client essaie d’utiliser
•Le hostnamedu service est une donnée en HTTP (niveau 7 du modèle OSI), qui n’est pas disponible sur la couche TLS (niveau 5 du modèle OSI)
Puisqu’il était impossible pour le serveur de faire le lien entre l’un de ses certificats et le service souhaité par le client, on a souvent conseillé d’affecter une adresse IP par certificat
Les certifiatsde type wildcardet SANspouvaient aider, mais n’étaient pas totalement flexibles
24. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
TLS et épuisementdes adressesIPv4
Extension TLS: Server Name Indication (SNI)
•En Avril 2006, le RFC 4366 est publié, introduisant les extensions TLS.
•L’une de ces extensions s’appelle Server Name Indication (SNI)
•Cette extension permet au client, durant le client hello, d’envoyer au serveur le nom du service que le client souhaite atteindre dans la couche supérieure (HTTP)
•À l’aide de cette information, le serveur peut désormais sélectionner le bon certificat à envoyer
•Le client et le serveur doivent pouvoir supporter le SNI
Client
Server
(1) Client Hello
Supportedciphersuites,
Server Name Indication
(2) Server Hello
CipherSuite, Server certificate, public key, Server Random
(3)
Verifyserver certificate
Server chooses the certificate based on SNI sent by the client
25. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
TLS et épuisementdes adressesIPv4
HAProxy et le SNI
Entantquepoint de terminaisonSSL
•Indiquezà HAProxy de charger tousles certificatsdisponiblesdansun repertoire spécifique: (validéenproduction avec 50000 certificats)
•Chemindu certificatenvoyépar défaut(lorsquele client ne supportepas le SNI):
•Pour enregistrerles informationsdu SNI, utilisezle sample fetch “ssl_fc_sni“ dansunedirective log-format :
Enmode TLS passthrough
•Routezles connexionsTLS versdifférentsserver farms
frontend ft_www
bind 10.0.0.1:443 sslcrt/etc/haproxy/certs/
frontend ft_www
bind 10.0.0.1:443 sslcrt/etc/haproxy/certs/default.pemcrt/etc/haproxy/certs/
log-format ...%[ssl_fc_sni]...
frontend ft_ssl
bind 10.0.0.1:443
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type1 }
use_backendbk_webmailif { req.ssl_sni–iowa.domain.com mail.domain.com }
use_backendbk_sharepointif { req.ssl_sni–isharepoint.domain.com }
26. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles performances
CPU
•Utilisation du CPU :
•Le processus de calcul des clés demande beaucoup de ressources, d’autant plus que le nouveau standard pour la longueur des clés est de 2048 bits
•La reprise d’une session TLS est moins couteuse en ressources
•Chiffrer une requête dans une session TLS établie est peu couteuse avec un CPU moderne et des instructions AES-NI
•Performance HAProxy / OpenSSLavec un CPU single corei7 cadencé à 3.4Ghz :
•Nombre de calculs pour déchiffrer des clés 2048 bits : environ 600/s
•Pendant une reprise de session TLS (TLS 1.2) : environ 12000/s
•Bande-passante TLS : 4.3Gb/s
•Vous comprenez maintenant l’utilité de la reprise de connexion TLS!!!! (x20 en perf)
Le choix de la cihpersuite est également très important!!!
À lire: https://wiki.mozilla.org/Security/Server_Side_TLS
27. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles performances
CPU
•Utilisezla section globaled’HAProxypour gérerles paramètresSSL (HAProxy 1.5.8 +)
•Enregistrezle user-agent du client et la cipher suite négociée
•Exemplede log: ...{TLSv1/ECDHE-RSA-AES128-SHA}...
•Adaptezvoscipher suites aux besoinsde vosclients, pas justepour avoirun joliA+ surSSL Labs!!!
•Encasde problème, HAProxy enregistreraunemention TLS handshake error, sans autreinformation. Cettepartieestgéréepar la librairieOpenSSL.
•Configurezle cache de cléde session SSL d’HAProxy:
global
ssl-default-bind-ciphers <copy paste the intermediary SSL cipher suite>
tune.ssl.default-dh-param2048
ssl-default-bind-options no-sslv3
capture request header User-Agent len128
log-format ...{sslv/sslc}...
global
tune.ssl.cachesize50000 # default to 20000
tune.ssl.lifetime600 # default to 300 seconds
28. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles performances
Mémoire
•Utilisationde la mémoire(sans tuning, paramètresHAProxy et systèmepar défaut) :
•UneconnexionTCP raw passant par HAProxy demande50Ko de mémoire
•Ajoutez64Ko de mémoirepar connexionTLS
•Mémoirenécessairepour 1000 connexionsTLS :
•Limitezle nombrede connexionTLS
Mode de déploiement
Nombrede calculs
Mémoiretotalerequise
TLS pass through
1000 * 50K
50 Mb
TLS offloading
1000 * (50K + 64K)
114 Mb
TLS cutthrough
1000 * (50K + 64K + 64K)
178 Mb
global
maxsslconn10000
29. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles clients
Forward proxies
•Certaines entreprises interdisent le HTTPssur leurs forwardproxies
•Tout site web devrait être disponible en HTTP et HTTPS (données publiques)
•Les applications web devraient en revanche être disponibles en HTTPS seulement
•Certains forwardproxiesfont de l’inspection SSL, rendant le TLS inutile:
https://www.google.fr/search?&q=SSL+inspection+appliance
Appareilsde faiblecapacité
Des ressources CPU faibles ont un impact majeur sur la performance :
•Augmentation de la consommation de batterie
•Latence et délais d’affichage
•Seules les versions obsolètes du SSL supportées, pas de mise à jour possible
•Encore une fois, le choix des ciphersuites est très important !!!
30. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles clients
DésactiverTLS v1.0 oupas ???
•Matricede compatibilitésans le TLS v1.0 (listenon exhaustive)
31. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles clients
DésactiverTLS v1.0 oupas ???
•Matricede compatibilitéavec le TLS v1.0 (listenon exhaustive)
32. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles applications web
•Afin de supporter le passage au TLS, une application web doit être “agile”.
•Les liens doivent être adaptés (HTTP ou HTTPS). Liens relatifs de préférence.
•Les réponses HTTP doivent correspondre au mode choisi (HTTP ou HTTPS) et au port (80 ou 443)
Il est parfois nécessaire de passer sur un mode SSL bridging
•Ce qui doit être chiffré :
•Toute page contenant des information sensibles / personnelles
•L’intégralité de la page doit être chiffrée
•Les cookies ne doivent jamais être envoyés via une connexion non sécurisée
•Mélanger deux noms de domaine pour télécharger le contenu statique en clair et le contenu dynamique en SSL sur une même page peut générer des warnings de type «mixed content»
•dans le navigateur
33. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du TLS surles applications web
•HAProxy peutactiverles Secure flags des cookies de vosapplications :
Le Secure flag demandeau navigateurde ne pas envoyerde cookie suruneconnexion non sécurisée
•Pour forcer un logout siun cookie a étéenvoyésuruneconnexion enclair:
Sécuriserles cookies de vosapplications
Backendmyapp
aclhttpsssl_fc
aclsecured_cookieres.hdr(Set-Cookie),lower-m subsecure
rspirep^(set-cookie:.*) 1;Secure if https !secured_cookie
aclhttpsssl_fc
aclapp_cookiereq.cook(JSESSIONID) -m found
aclpath_logoutpath–i /logout.jsp
http-requestredirect/logout.jspif !https app_cookie!path_logout
34. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du SSL offloading
•La difficulté principale du SSL offloading: le client navigue sur du HTTPS alors que la connexion entre le proxy et l’application serveur est en clair
•Checklist:
•HAProxy doit informer le serveur du protocole utilisé par le client
•Le server doit adapter la réponse (localisation, set-cookie, etc.)
•Les liens dans le contenu des pages doivent être adaptés également
HAProxy
server
client
SSL
clear
Cleardata
frontend ft_www
mode http
bind 10.0.0.1:443 sslcrtmycrt.pem
default_backendbk_www
backend bk_www
mode http
server s1 10.0.0.11:80
35. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Impact du SSL offloading
•Demander à HAProxy d’enregistrerdes informationsutiles:
•Demander à l’applicationserveurquelprotocolea étéutilisépar le client :
•Tracker les erreurset adapter les réponsesdu serveurselonle type de connexion du client :
•Ne pas oublierle Secure flag !
capture responseheader Locationlen32
capture responseheader Set-Cookie len32
http-requestset-header X-Forwarded-Proto https if{ ssl_fc}
http-requestset-header X-Forwarded-Proto httpif !{ ssl_fc}
rspirep^Location:http://(.*):80(.*) Location:https://1:4432 if { ssl_fc}
rspirep^Location:http://(.*) Location:https://1 if { ssl_fc}
36. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Search Engine Optimisation
•Récemment, Google a annoncéquele protocoleutilise (HTTP / HTTPs) par les sites web seraitprisencomptepar l’algorithmede référencement: HTTPs étantpriorisé
Il estimportant et urgent de migrerenHTTPs sile business de l’entrepriseestliéau référencementdansGoogle
•Si le business de l’entreprisen’estpas liéau réferencement, alorsla migration estmoinsurgente.
37. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Sécuritédu protocoleSSL
Les faiblessesdu SSL / TLS
•Plusieursvulnérabilitésontétérécemmentdécouvertes
•LibrairieOpenSSL: vérifiezbienquevousdisposezde la dernièreversion compatible avec votreOS
•Heartblead
•CCS (CVE 2014-0224)
•Le protocoleSSL :
•Beast attack: utilisezunelibrairieSSL à jour
•SSLv3 Poodle: désactivezle support du SSLv3:
•Éviteztouteattaquepar downgrade (TLS_FALLBACK_SCSV)
•Compression TLS
global
ssl-default-bind-options no-sslv3
38. SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Conclusion / rappel
•L’intégrationdu SSL n’estpas unechose simple
•Si l’applicationa étépenséepour, aucunproblème
•Si l’applicationn’estpas prête, çapeutfonctionner(au piredes casenmode SSL bridging)
•Dansde rarescas, ilfaudraprévoirunemiseà jour applicative
•Ne pas oublierde faire un audit avanttoutemigration
•Il fautbiengarderà l’espritquele client lui-mêmea un impact surle protocoleSSL (compatibilité, limitation, ciphers, etc…)
•La flexibilitéd’HAProxy, son reporting, sesperformances, sontvosmeilleursalliéspour cetteintégration
Passer au SSL
Choisirle bon certificatSSL
•Un certificatSSL fait plus quele chiffrementde données
•Vousdeveztrouverle bon équilibreentre le niveaude validation, le niveaude chiffrementet les add-ons (Wildcards/SAN) dontvousavezbesoin
•SSL247®peutvousaider à trouverle(s) certificat(s) le(s) plus adapté(s) à vosbesoins
39. LIENS UTILES
info@SSL247.fr
+33 (0)3 66 72 95 95
www.SSL247.fr
contact@haproxy.com
+33 (0)1 75 43 40 70
www.haproxy.com/fr
-https://www.ssl247.fr/ssl-tools/certificate-decoder> décoder un certificat SSL
-https://www.ssllabs.com/ssltest/> tester votre serveur SSL
-https://istlsfastyet.com/> plusd’information sur le passage au TLS
-https://www.ssl247.fr/support/assistant> choisir le bon certificat
-https://www.ssl247.fr/ssl-certificates/brands/GeoTrust/geotrust-trial> utiliser un certificatSSL de 30 jours, gratuit, pour tester le SSL sur vos serveurs