SUPPORT

Un problème de certificat ? Besoin d'être dépanné rapidement ? Nos ingénieurs répondent à vos questions.

0 897 690 444 Service 0,80 €/min +prix appel
Menu
picture of tbs certificates
picture of tbs certificates
Les produits
Notre gamme
Partenaires
Support
Numéro vert
Focus


Gestion de certificats pour HAProxy

Génération de clé privée et de CSR

Pour générer une clé privée et un CSR, vous pouvez soit utiliser notre utilitaire Keybot, vous permettant de générer directement un fichier pem, soit un autre outil comme Openssl.

Installation et configuration SSL/TLS

Cette configuration n'est valide que pour les version 1.5 et supérieures d'Haproxy. En effet, il s'agit de la première version incluant un support natif des certificats TLS. Attention, la plupart des fonctionnalité évoquées dans ce document nécessitent que Haproxy ait été configuré avec le support openssl.

Pour installer un certificat sous Haproxy, il faut utiliser un fichier pem, contenant votre clé privée, votre certificat au format X509 ainsi que sa chaine de certification. Pour cela, il peut être nécessaire de concaténer vos différents fichiers par exemple :
#Dans le cas d'un certificat et d'une chaine séparés :
cat exemple.com.key exemple.com.crt exemple.com-chaine.txt > haproxy.pem
#Dans le cas d'un certificat contenant déjà la chaine de certificat:
cat exemple.com.key exemple.com-avec-chaine.pem > haproxy.pem
Placez ensuite votre fichier dans votre dossier haproxy (normalement /etc/haproxy/).

Pour configurer votre instance d'Haproxy d'une manière optimale, garantissant le maximum de sécurité et de compatibilité, nous vous recommandons d'ajouter les paramètres suivants.
global
    ssl-default-bind-options no-sslv3 no-tls-tickets force-tlsv12
    ssl-default-bind-ciphers !EDH:!RC4:!ADH:!DSS:HIGH:+AES128:+AES256-SHA256:+AES128-SHA256:+SHA:!3DES:!aNULL:!eNULL
    tune.ssl.default-dh-param 2048 

frontend http-in
    mode http
    option httplog
    option forwardfor
    option http-server-close
    option httpclose
    bind VOTREIP:80
    redirect scheme https code 301 if !{ ssl_fc }

frontend https-in
    option httplog
    option forwardfor
    option http-server-close
    option httpclose
    rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains
    rspadd X-Frame-Option:\ DENY
    bind VOTREIP:443 ssl crt /etc/haproxy/haproxy.pem ciphers !EDH:!RC4:!ADH:!DSS:HIGH:+AES128:+AES256-SHA256:+AES128-SHA256:+SHA:!3DES:!aNULL:!eNULL force-tlsv12 no-sslv3
Les sections suivantes de ce document traiteront des différents points de sécurité recommandés dans cette section ainsi que de recommandations additionnelles de sécurité.

Mettre en place un groupe Diffie-Hellman fort

Pour lutter contre les attaques visant les échanges de clé DHE (par exemple Logjam), il convient de fixer une taille maximale de groupe suffisant à l'aide du paramètre tune.ssl.default-dh-param. Nous recommandons une taille minimale de 2048. La valeur par défaut de ce paramètre est de 1024, valeur bien trop basse. Si votre fichier de certificat .pem contient des paramètres DH, alors cette valeur sera ignorée. Il faut ajouter la ligne suivante à la section globale de votre fichier de configuration :
tune.ssl.default-dh-param 2048

Utiliser HSTS pour forcer le chiffrement des données

Pour protéger au mieux vos utilisateurs il convient d'activer le chiffremment HTTPS dans la plupart des cas, c'est pourquoi la norme HTTP Strict Transport Security a été crée. Pour le configurer ajoutez les lignes suivantes aux sections correspondantes de votre configuration conformément à l'exemple suivant :
frontend http-in
    redirect scheme https code 301 if !{ ssl_fc }

frontend https-in
    rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains

Voir aussi