Post on 05-Jul-2015
description
SSL/TLS: IMPACT ET SOLUTIONS
POUR VOS APPLICATIONS WEB
Avec
Introduct ionQ u ’ e s t - c e q u e
L e S S L / T L S
Part ie 1À p r o p o s d e s
C e r t f i c a t s S S L
Part ie 2I m p a c t e t
O p t i m i s a t i o n S S L
13/11/2014
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Baptiste Assman – HAProxy
INTRODUCTIONQu’est -ce que le 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
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Qu’est-ce que le 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 (Secured Socket 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 est symbolisé par le “s” dans HTTPS, IMAPS, POPS, etc.
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é2Connexion TLS
Intérêt du protocole
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Historique
• SSL (Secured Socket 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
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Déroulement d’une connexion 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
• Cipher suite: suite spécifique d’algorithmes utilisés lors d’une session TLS
• Session key: clé de chiffrement symétrique utilisée suite au TLS handshake
• Session ID: identifiant de session TLS, qui peut être réutilisé ultérieurement par le serveur et le client
Glossaire
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Déroulement d’une connexion TLS
1ère connexion : les étapes• Étape 1:
client hello: le client ouvre une connexion TCP et envoie les cipher suites qu’il connait
• Étape 2: server hello: le serveur choisit une cipher suite
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 random et le pre-master secret
• Étape 5:Le client et le serveur génèrent la clé de session à
l’aide du client random, du serveur random et du pre-master secret
• Étape 6:Le premier message chiffré est ensuite échangé
Client Server
(1) Client Hello
cipher suites supportées
(2) Server Hello
Cipher Suite, 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 avce la 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
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Reprise d’une connexion TLS
TLS resume: les étapes• Étape 1:
client hello: le client ouvre une connexion TCP et envoie les cipher suites qu’il connait ainsi que le session ID de la clé qu’il souhaite ré-utiliser
• Étape 2: server hello: le serveur choisit une cipher suite
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
cipher suites supportées, Session ID
(2) Server Hello
Cipher Suite, certificat Server, clé publique
(3)Vérification du certificat SSL du serveur
(4) Premier message
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
François Marien – SSL247®
• 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 1À propos des Cert i f icats SSL
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Quel est le rôle d’un certificat SSL ?
SSL:
Secure Socket Layer
Un certificat SSL est un fichier reliant une clé publique cryptographique à un nom de domaine.
Un certificat SSL active le protocole SSL / TLS lorsqu’il est installé sur un serveur
TLS:
Transport Layer SecurityRemplacé en 1999 par
3 rôles principaux• 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…)
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
3 niveaux de 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)
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
2 options / add-ons
Sécurise un nombre illimité de sous-domaines.
Un Wildcard se reconnait à son «* » (étoile) dans le domaine.
Exemple :*.ssl247.co.uk peut sécuriser blog.ssl247.co.uk,
mail.ssl247.co.uk, server.ssl247.co.uk…
+Plus facile à gérer, moins cher que d’acheter un
certificat par sous-domaine; Plus flexible
-Si le certificat est compromis, tous les serveurs
utilisant le certificat Wildcard sont compromis;
Incompatible avec certains OS mobiles; Incompatible
avec les certificats EV (Extended Validation)
Souvent utilisé pour les services Unified Communications
(UC) afin de sécuriser les applications Microsoft ou les
Mobile Device Managers.
Exemple: ssl247.com, exchange.ssl247.com, ssl247.net,
new-ssl247.net
-Le CA procédera à la verification de chaque domaine
sécurisé par vos SANs; Nécessite un bonne organisation si
vous avez de nombreux SANs; Plus cher qu’un certificat
normal
+Il est généralement moins cher d’acheter des SANs
plutôt que plusieurs certificats; Si vos sites / apps sont
hebergés sur un seul serveur, un SAN ne requiert pas une
adresse IP différente pour chaque nom de domaine
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Les étapes de la commande
Requête
Validation et émission
Installation
1
2
3
CSR = Certifiate Signing RequestInformations du
commanditaire
Clé privée
Clé publique
Lorsque le CA émet votre certificat SSL , ce dernier garantit officiellement que la clé publique qui se trouvait dans votre
CSR appartient bien à www.votredomaine.com, et garantit également que www.votredomaine.com est bien contrôlé par votre
organisation (à l’exception des certificats DV puisqu’ils sont émis sans aucune vérification).
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
La chaîne de 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’une racine.
L’intermédiaire est en charge de “signer” (authentifier) les certificats SSL.
Certificat SSL.
Le certificat SSL est émis par le CA, puis signé par un
intermédiaire, qui est lui-même signé par la racine.
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Algorithmes SSL : chiffrement
RSA – créé par Ron Rivest, Adi Shamir et Leonard Adleman
DSA – Digital Signature Algorithm
ECC – Elliptic Curve Cryptography – NOUVEAU !
a) Chiffrement asymétrique > 3 principaux algorithmes pour l’échange de clé
Le SSL utilise deux types 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 Encryption Standard)
Cipher suite = combinaison des algorithmes d’authentification, d’échange de clé et de chiffrement
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Algorithmes SSL : authentification
1 algorithme principal : SHA (Secure Hash Algorithm)
Utilisé dans les connexions sécurisées afin de prouver l’intégrité et l’authenticité d’un message au récepteur.
Algorithme standard dans les certificats SSL
Les certificats SHA-1 concernés par l’action de Google :
• Expirant entre le 01/06/2016 et le 31/12/2016
• Expirant à partir du 01/01/2017
Fin du SHA-1, bienvenue au SHA-2
SHA-2 = empreinte de 256 bitsVs.
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Google accélère la fin du SHA-1
SHA-1 = empreinte de 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
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Étude de cas : requêtes typiques
“ J’ai besoin de sécuriser mon serveur Microsoft 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’ai un project Lync avec 2 serveurs : Edge + Proxy”
Certificat Mono-url EV
Symantec
“ J’ai un site de e-commerce”
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
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
clientSSL SSL
HAProxy
serverclientSSL clear
HAProxy serverclientSSL SSL
Encrypteddata
Clear data
Clear data
• HAProxy peut être déployé de 3 manières différentes devant des services reposant sur du SSL.
Il n’y a pas de ‘bonne’ ni de ‘mauvaise’ architecture. Il faut utiliser celle qui répond à vos
pré-requis.
• Les pré-requis sont dictés par l’application, les serveurs, la capacité de traitement, etc..
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Modes de déploiement
serverclientSSL SSL
HAProxyEncrypted
data
HAProxy et SSL pass through ou SSL forward
frontend ft_wwwmode tcpbind 10.0.0.1:443 default_backend bk_www
backend bk_wwwmode tcpserver s1 10.0.0.11:443
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Modes de déploiement
HAProxy serverclientSSL clearClear data
HAProxy et SSL offloading
frontend ft_wwwmode httpbind 10.0.0.1:443 ssl crt mycrt.pemdefault_backend bk_www
backend bk_wwwmode httpserver s1 10.0.0.11:80
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Modes de déploiement
HAProxy serverclientSSL SSLClear data
HAProxy et SSL cut through ou bridging
frontend ft_wwwmode httpbind 10.0.0.1:443 ssl crt mycrt.pemdefault_backend bk_www
backend bk_wwwmode httpserver s1 10.0.0.11:443 ssl
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
TLS et épuisement des adresses IPv4
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 « domain mismatch ».
• 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 hostname du 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 certifiats de type wildcard et SANs pouvaient aider, mais n’étaient pas totalement flexibles
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
TLS et épuisement des adresses IPv4
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
Supported cipher suites,Server Name Indication
(2) Server Hello
Cipher Suite, Server certificate, public key, Server Random
(3)Verify server
certificate
Server chooses the certificate
based on SNI sent by the client
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
TLS et épuisement des adresses IPv4
HAProxy et le SNI
En tant que point de terminaison SSL
• Indiquez à HAProxy de charger tous les certificats disponibles dans un repertoire spécifique : (validé en production avec 50000
certificats)
• Chemin du certificat envoyé par défaut (lorsque le client ne supporte pas le SNI):
• Pour enregistrer les informations du SNI, utilisez le sample fetch “ssl_fc_sni “ dans une directive log-format :
En mode TLS passthrough
• Routez les connexions TLS vers différents server farms
frontend ft_wwwbind 10.0.0.1:443 ssl crt /etc/haproxy/certs/
frontend ft_wwwbind 10.0.0.1:443 ssl crt /etc/haproxy/certs/default.pem crt /etc/haproxy/certs/
log-format ...%[ssl_fc_sni]...
frontend ft_sslbind 10.0.0.1:443tcp-request inspect-delay 5stcp-request content accept if { req_ssl_hello_type 1 }use_backend bk_webmail if { req.ssl_sni –i owa.domain.com mail.domain.com }use_backend bk_sharepoint if { req.ssl_sni –i sharepoint.domain.com }
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les 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 / OpenSSL avec un CPU single core i7 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 cihper suite est également très important!!!
À lire: https://wiki.mozilla.org/Security/Server_Side_TLS
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les performances
CPU
• Utilisez la section globale d’HAProxy pour gérer les paramètres SSL (HAProxy 1.5.8 +)
• Enregistrez le user-agent du client et la cipher suite négociée
• Exemple de log: ...{TLSv1/ECDHE-RSA-AES128-SHA}...
• Adaptez vos cipher suites aux besoins de vos clients, pas juste pour avoir un joli A+ sur SSL Labs!!!
• En cas de problème, HAProxy enregistrera une mention TLS handshake error, sans autre information.
Cette partie est gérée par la librairie OpenSSL.
• Configurez le cache de clé de session SSL d’HAProxy:
globalssl-default-bind-ciphers <copy paste the intermediary SSL cipher suite>tune.ssl.default-dh-param 2048ssl-default-bind-options no-sslv3
capture request header User-Agent len 128log-format ...{sslv/sslc}...
globaltune.ssl.cachesize 50000 # default to 20000tune.ssl.lifetime 600 # default to 300 seconds
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les performances
Mémoire
• Utilisation de la mémoire (sans tuning, paramètres HAProxy et système par défaut) :
• Une connexion TCP raw passant par HAProxy demande 50Ko de mémoire
• Ajoutez 64Ko de mémoire par connexion TLS
• Mémoire nécessaire pour 1000 connexions TLS :
• Limitez le nombre de connexion TLS
Mode de déploiement
Nombre de calculs Mémoire totale requise
TLS pass through 1000 * 50K 50 Mb
TLS offloading 1000 * (50K + 64K) 114 Mb
TLS cut through 1000 * (50K + 64K + 64K) 178 Mb
globalmaxsslconn 10000
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les clients
Forward proxies
• Certaines entreprises interdisent le HTTPs sur leurs forward proxies
• 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 forward proxies font de l’inspection SSL, rendant le TLS inutile:
https://www.google.fr/search?&q=SSL+inspection+appliance
Appareils de faible capacité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 cipher suites est très important !!!
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les clients
Désactiver TLS v1.0 ou pas ???
• Matrice de compatibilité sans le TLS v1.0 (liste non exhaustive)
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les clients
Désactiver TLS v1.0 ou pas ???
• Matrice de compatibilité avec le TLS v1.0 (liste non exhaustive)
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les 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
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du TLS sur les applications web
• HAProxy peut activer les Secure flags des cookies de vos applications :
Le Secure flag demande au navigateur de ne pas envoyer de cookie sur une connexion non sécurisée
• Pour forcer un logout si un cookie a été envoyé sur une connexion en clair :
Sécuriser les cookies de vos applications
Backend myappacl https ssl_fcacl secured_cookie res.hdr(Set-Cookie),lower -m sub securerspirep ^(set-cookie:.*) \1;\ Secure if https !secured_cookie
acl https ssl_fcacl app_cookie req.cook(JSESSIONID) -m foundacl path_logout path –i /logout.jsphttp-request redirect /logout.jsp if !https app_cookie !path_logout
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 serverclientSSL clearClear data
frontend ft_wwwmode httpbind 10.0.0.1:443 ssl crt mycrt.pemdefault_backend bk_www
backend bk_wwwmode httpserver s1 10.0.0.11:80
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Impact du SSL offloading
• Demander à HAProxy d’enregistrer des informations utiles :
• Demander à l’application serveur quel protocole a été utilisé par le client :
• Tracker les erreurs et adapter les réponses du serveur selon le type de connexion du client :
• Ne pas oublier le Secure flag !
capture response header Location len 32capture response header Set-Cookie len 32
http-request set-header X-Forwarded-Proto https if { ssl_fc }http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
rspirep ^Location:\ http://(.*):80(.*) Location:\ https://\1:443\2 if { ssl_fc }rspirep ^Location:\ http://(.*) Location:\ https://\1 if { ssl_fc }
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Search Engine Optimisation
• Récemment, Google a annoncé que le protocole utilise (HTTP / HTTPs) par les sites web
serait pris en compte par l’algorithme de référencement: HTTPs étant priorisé
Il est important et urgent de migrer en HTTPs si le business de l’entreprise est lié au
référencement dans Google
• Si le business de l’entreprise n’est pas lié au réferencement, alors la migration est moins
urgente.
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Sécurité du protocole SSL
Les faiblesses du SSL / TLS
• Plusieurs vulnérabilités ont été récemment découvertes
• Librairie OpenSSL : vérifiez bien que vous disposez de la dernière version compatible avec
votre OS
• Heartblead
• CCS (CVE 2014-0224)
• Le protocole SSL :
• Beast attack: utilisez une librairie SSL à jour
• SSLv3 Poodle: désactivez le support du SSLv3:
• Évitez toute attaque par downgrade (TLS_FALLBACK_SCSV)
• Compression TLS
globalssl-default-bind-options no-sslv3
SSL/TLS: IMPACT ET SOLUTIONS POUR
VOS APPLICATIONS WEB
Conclusion / rappel
• L’intégration du SSL n’est pas une chose simple
• Si l’application a été pensée pour, aucun problème
• Si l’application n’est pas prête, ça peut fonctionner (au pire des cas en mode SSL bridging)
• Dans de rares cas, il faudra prévoir une mise à jour applicative
• Ne pas oublier de faire un audit avant toute migration
• Il faut bien garder à l’esprit que le client lui-même a un impact sur le protocole SSL (compatibilité,
limitation, ciphers, etc…)
• La flexibilité d’HAProxy, son reporting, ses performances, sont vos meilleurs alliés pour cette
intégration
Passer au SSL
Choisir le bon certificat SSL• Un certificat SSL fait plus que le chiffrement de données
• Vous devez trouver le bon équilibre entre le niveau de validation, le niveau de chiffrement et
les add-ons (Wildcards/SAN) dont vous avez besoin
• SSL247® peut vous aider à trouver le(s) certificat(s) le(s) plus adapté(s) à vos besoins
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/ > plus d’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 certificat SSL de 30 jours,
gratuit, pour tester le SSL sur vos serveurs