Transcript
Page 1: Webinar SSL Français

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

Page 2: Webinar SSL Français

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

Page 3: Webinar SSL Français

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.

Page 4: Webinar SSL Français

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

Page 5: Webinar SSL Français

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

Page 6: Webinar SSL Français

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

Page 7: Webinar SSL Français

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

Page 8: Webinar SSL Français

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

Page 9: Webinar SSL Français

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

Page 10: Webinar SSL Français

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…)

Page 11: Webinar SSL Français

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)

Page 12: Webinar SSL Français

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

Page 13: Webinar SSL Français

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).

Page 14: Webinar SSL Français

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.

Page 15: Webinar SSL Français

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

Page 16: Webinar SSL Français

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

Page 17: Webinar SSL Français

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”

Page 18: Webinar SSL Français

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

Page 19: Webinar SSL Français

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..

Page 20: Webinar SSL Français

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

Page 21: Webinar SSL Français

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

Page 22: Webinar SSL Français

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

Page 23: Webinar SSL Français

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

Page 24: Webinar SSL Français

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

Page 25: Webinar SSL Français

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 }

Page 26: Webinar SSL Français

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

Page 27: Webinar SSL Français

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

Page 28: Webinar SSL Français

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

Page 29: Webinar SSL Français

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 !!!

Page 30: Webinar SSL Français

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)

Page 31: Webinar SSL Français

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)

Page 32: Webinar SSL Français

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

Page 33: Webinar SSL Français

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

Page 34: Webinar SSL Français

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

Page 35: Webinar SSL Français

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 }

Page 36: Webinar SSL Français

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.

Page 37: Webinar SSL Français

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

Page 38: Webinar SSL Français

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

Page 39: Webinar SSL Français

LIENS UTILES

[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

- 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


Top Related