web-dev-qa-db-fra.com

Chaque serveur derrière un équilibreur de charge a-t-il besoin de son propre certificat SSL?

Si vous avez 5 serveurs Web derrière un équilibreur de charge (comme haproxy) et qu'ils servent du contenu pour le même domaine, avez-vous besoin de certificats SSL pour tous les serveurs, ou pouvez-vous utiliser le même certificat sur chaque serveur?

Je sais que vous pouvez placer toutes les demandes SSL sur un serveur spécifique, mais cela nécessite des informations de session distribuées et en espérant que cela n'arrive pas à cela.

67
Derek Gathright

Si vous avez 5 serveurs Web derrière un équilibreur de charge (...) avez-vous besoin de certificats SSL pour tous les serveurs,

Ça dépend.

Si vous effectuez votre équilibrage de charge sur la couche TCP ou IP (couche OSI 4/3, alias L4, L3), alors oui, tous les serveurs HTTP devront avoir le certificat SSL installé.

Si vous chargez l'équilibre sur la couche HTTPS (L7), vous installerez généralement le certificat sur l'équilibreur de charge seul et utiliserez le HTTP non chiffré simple sur le réseau local entre l'équilibreur de charge et les serveurs Web (pour de meilleures performances sur le serveurs Web).

Si vous avez une grande installation , alors vous faites peut-être Internet -> Équilibrage de charge L3 -> couche de concentrateurs SSL L7 -> équilibreurs de charge -> couche des serveurs d'applications HTTP L7 ...

Willy Tarreau, l'auteur de HAProxy, a une très belle vue d'ensemble des moyens canoniques d'équilibrage de charge HTTP/HTTPS .

Si vous installez un certificat sur chaque serveur, assurez-vous d'obtenir un certificat qui le prend en charge. Normalement, les certificats peuvent être installés sur plusieurs serveurs, tant que les serveurs ne traitent tous le trafic que pour un seul nom de domaine complet. Mais vérifiez ce que vous achetez, les émetteurs de certificats peuvent avoir un portefeuille de produits déroutant ...

69
Jesper M

Vous devriez pouvoir utiliser le même certificat sur chaque serveur. Si votre site Web est www.gathright.com, vous devriez pouvoir acheter un certificat pour ce nom de domaine complet. Ensuite, vous l'installez sur chacun de vos 5 serveurs derrière l'équilibreur.

Alternativement, vous pouvez obtenir un certificat distinct pour chaque serveur Web, mais inclure "www.gathright.com" comme "Autre nom de sujet", ce qui signifie que chacun des 5 certificats serait valide pour SSL pour ce nom de domaine complet général ainsi que SSL aux FQDN spécifiques du serveur.

16
Ryan Fisher

OUI , vous pouvez utiliser le même certificat et la clé privée associée sur tous vos serveurs, s'ils se trouvent derrière un équilibreur de charge ou un proxy inverse d'équilibrage de charge et s'ils diffusent tous du contenu pour le même domaine.

Les certificats, lorsqu'ils sont signés par une autorité de certification, affirment que l'autorité de certification a vérifié le nom répertorié sur le certificat. Pour les certificats de sites Web, cela signifie le nom de domaine du site Web. Votre navigateur s'attend à ce que le serveur auquel il parle, s'il parle via HTTPS, présente un certificat portant le même nom que le nom de domaine que le navigateur pense qu'il parle. (Par exemple, VeriSign n'est pas susceptible de signer le certificat de Hacker Joe pour bankofamerica.com. Donc, même si Hacker Joe parvient à intercepter le trafic entre vous et bankofamerica.com, Hacker Joe n'aura pas de certificat signé pour bankofamerica.com et votre navigateur mettra en place de grands drapeaux d'avertissement rouges partout.)

Ce qui importe, c'est que le nom sur le certificat corresponde au nom de domaine auquel le navigateur pense parler. Vous pouvez utiliser le même certificat (avec la clé privée associée) portant le nom correct sur plusieurs serveurs Web dans un cluster Web, tant qu'ils se trouvent derrière un équilibreur de charge.

Vous pouvez également utiliser un équilibreur de charge à terminaison SSL, auquel cas vous utiliseriez le certificat (avec la clé privée associée) sur l'équilibreur de charge, et les serveurs Web n'auraient pas besoin de certificats car ils n'auraient rien à voir avec le SSL.

12
yfeldblum

Notre configuration a très bien fonctionné:

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n

De cette façon, la livre décrypte le trafic, à partir de maintenant, tout est directement http. Avantages: moins de configuration sur les serveurs Web, un outil pour chaque travail. Vous pouvez maximiser le CPU sur la machine à livres, et garder les serveurs Web "normaux". Vous devriez en obtenir au moins deux (livre, haproxy, serveurs Web), si la disponibilité est importante.

6
jotango

AFAIR, vous pouvez utiliser le même certificat sur chaque serveur. Vous pouvez également implémenter un accélérateur SSL et y décharger tout le trafic SSL.

3
joeqwerty