13/11/2014 S S L / T L S : I M PA C T E T S O L U T I O N S P O U R V O S A P P L I C AT I O N S W E B
Av e c
Introduction
Pa r t i e 1
Pa r t i e 2
Qu’est-ce que Le SSL / TLS
À propos des Certficats SSL
Impact et Optimisation SSL
INTRODUCTION Qu’est-ce que le SSL / TLS ?
Baptiste Assman – HAProxy • • • •
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 ? •
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 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
Le SSL est symbolisé par le “s” dans HTTPS, IMAPS, POPS, etc.
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Intérêt du protocole 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
Connexion TLS
entité2
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 Glossaire 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 SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Déroulement d’une connexion TLS 1ère connexion : les étapes Server
Client
•
client hello: le client ouvre une connexion TCP et envoie les cipher suites qu’il connait •
(1) Client Hello
Étape 1: É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
cipher suites supportées (2) Server Hello
•
Cipher Suite, certificat Server, clé publique, Server Random (3) Vérification du certificat SSL du serveur
É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
(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 (6) Premier message
(5) Génération de la clé de session et de l’ID de session
É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é
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Reprise d’une connexion TLS TLS resume: les étapes Server
Client (1) Client Hello
•
É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
cipher suites supportées, Session ID (2) Server Hello Cipher Suite, certificat Server, clé publique
•
Étape 3: Le client vérifie l’authenticité et la validité du certificat du serveur (self signed, expiration, …)
(3) Vérification du certificat SSL du serveur
•
Étape 4:
Le premier message chiffré est ensuite échangé (4) Premier message
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
PARTIE 1 À propos des Certificats SSL
F ra n ç o i s M a r i e n – S S L 2 4 7 ® • • • • • • •
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
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Quel est le rôle d’un certificat SSL ? SSL: Secure Socket Layer
Remplacé en 1999 par
TLS: Transport Layer Security
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
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 ?
Prouver l’identité de l’organisation qui contrôle le domaine! (selon le niveau de validation…)
• Garantir l’intégrité d’un contenu > Quelqu’un a-t-til pu modifier le contenu que j’échange? SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
3 niveaux de validation possibles EV (Extended Validation)
OV (Organisation Validation) DV (Domain Validation) • 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
• Chiffrement des données
• 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
• 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
• Émis en 1 - 2 jours
Validation de l’organisation = délai d’émission plus long
Validation stricte et longue = confiance maximum des visiteurs
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
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
+ 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
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)
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
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Les étapes de la commande 1
Requête Clé privée Clé publique Informations du commanditaire
2
CSR = Certifiate Signing Request
Validation et émission
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).
3
Installation
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).
CA intermédiaire = le “délégué” d’une racine. L’intermédiaire est en charge de “signer” (authentifier) les certificats SSL.
“Trust Infrastructure” 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 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)
a) Chiffrement asymétrique > 3 principaux algorithmes pour l’échange de clé RSA – créé par Ron Rivest, Adi Shamir et Leonard Adleman DSA – Digital Signature Algorithm ECC – Elliptic Curve Cryptography – NOUVEAU !
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
Fin du SHA-1, bienvenue au SHA-2 SHA-1 = empreinte de 160 bits
Vs.
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
SHA-2 = empreinte de 256 bits e3b0c44298fc1c149afbf4c8996fb92427ae4 1e4649b934ca495991b7852b855
Google accélère la fin du SHA-1
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
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 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”
Certificat de type OV avec SAN
mail.contoso.com mail.contoso-local.com autodiscover.contoso.com autodiscover.contoso-local.com legacy.contoso.com
• • • • •
“ J’ai un project Lync avec 2 serveurs : Edge + Proxy” • • • • •
sip.contoso.com meet.contoso.com lyncdiscover.contoso.com lyncweb.contoso.com dialin.contoso.com
“ J’ai un site de e-commerce” • shop.contoso.com
Certificat de type OV avec Wildcard+SAN
Certificat Mono-url EV
Symantec
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
PA RT I E 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 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 pass through or forward
client •
SSL offloading
client •
SSL
SSL
HAProxy Encrypted data
HAProxy Clear data
SSL
clear
server
server
SSL cut through or bridging
client
SSL
HAProxy Clear data
SSL
server
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement HAProxy et SSL pass through ou SSL forward client
SSL
HAProxy Encrypted data
SSL
server
frontend ft_www mode tcp bind 10.0.0.1:443 default_backend bk_www backend bk_www mode tcp server s1 10.0.0.11:443
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement HAProxy et SSL offloading client
SSL
HAProxy Clear data
clear
server
frontend ft_www mode http bind 10.0.0.1:443 ssl crt mycrt.pem default_backend bk_www backend bk_www mode http server s1 10.0.0.11:80
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Modes de déploiement HAProxy et SSL cut through ou bridging client
SSL
HAProxy Clear data
SSL
server
frontend ft_www mode http bind 10.0.0.1:443 ssl crt mycrt.pem default_backend bk_www backend bk_www mode http server 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
Server
Client (1) Client Hello Supported cipher suites, Server Name Indication (2) Server Hello
Server chooses the certificate based on SNI sent by the client
Cipher Suite, Server certificate, public key, Server Random (3) Verify server certificate 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) frontend ft_www bind 10.0.0.1:443 ssl crt /etc/haproxy/certs/
•
Chemin du certificat envoyé par défaut (lorsque le client ne supporte pas le SNI): frontend ft_www bind 10.0.0.1:443 ssl crt /etc/haproxy/certs/default.pem crt /etc/haproxy/certs/
•
Pour enregistrer les informations du SNI, utilisez le sample fetch “ssl_fc_sni “ dans une directive log-format : log-format
...%[ssl_fc_sni]...
En mode TLS passthrough •
Routez les connexions TLS vers différents server farms frontend ft_ssl bind 10.0.0.1:443 tcp-request inspect-delay 5s tcp-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 +) global ssl-default-bind-ciphers
tune.ssl.default-dh-param 2048 ssl-default-bind-options no-sslv3
•
Enregistrez le user-agent du client et la cipher suite négociée capture request header User-Agent len 128 log-format ...{sslv/sslc}...
•
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: global tune.ssl.cachesize 50000 # default to 20000 tune.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 : Mode de déploiement TLS pass through
TLS offloading TLS cut through
•
Nombre de calculs
Mémoire totale requise
1000 * 50K
50 Mb
1000 * (50K + 64K)
114 Mb
1000 * (50K + 64K + 64K)
178 Mb
Limitez le nombre de connexion TLS global maxsslconn 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 Sécuriser les cookies de vos applications •
HAProxy peut activer les Secure flags des cookies de vos applications : Backend myapp acl https ssl_fc acl secured_cookie res.hdr(Set-Cookie),lower -m sub secure rspirep ^(set-cookie:.*) \1;\ Secure if https !secured_cookie
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 : acl https ssl_fc acl app_cookie req.cook(JSESSIONID) -m found acl path_logout path –i /logout.jsp http-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
client •
SSL
HAProxy Clear data
clear
server
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 frontend ft_www mode http bind 10.0.0.1:443 ssl crt mycrt.pem default_backend bk_www backend bk_www mode http server 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 : capture response header Location len 32 capture response header Set-Cookie len 32
•
Demander à l’application serveur quel protocole a été utilisé par le client : http-request set-header X-Forwarded-Proto https if { ssl_fc } http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
•
Tracker les erreurs et adapter les réponses du serveur selon le type de connexion du client : rspirep ^Location:\ http://(.*):80(.*) rspirep ^Location:\ http://(.*)
•
Location:\ https://\1:443\2 Location:\ https://\1
if if
{ ssl_fc } { ssl_fc }
Ne pas oublier le Secure flag !
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:
global ssl-default-bind-options no-sslv3
•
Évitez toute attaque par downgrade (TLS_FALLBACK_SCSV)
•
Compression TLS
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
Conclusion / rappel Passer au SSL 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
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
SSL/TLS: IMPACT ET SOLUTIONS POUR VOS APPLICATIONS WEB
LIENS UTILES - 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
[email protected] +33 (0)3 66 72 95 95 www.SSL247.fr
[email protected] +33 (0)1 75 43 40 70 www.haproxy.com/fr