81 votes

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 (tel que 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 de distribuer les informations de session et d'espérer que cela n'arrivera pas.

79voto

Zameer Manji Points 1213

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

Ça dépend.

Si vous effectuez l'équilibrage de la charge sur la couche TCP ou IP (couche OSI 4/3, c'est-à-dire L4, L3), alors oui, tous les serveurs HTTP devront avoir un certificat SSL installé.

Si vous procédez à un équilibrage de charge sur la couche HTTPS (L7), vous installerez généralement le certificat sur l'équilibreur de charge seul et utiliserez le protocole HTTP non crypté sur le réseau local entre l'équilibreur de charge et les serveurs Web (pour des performances optimales sur les serveurs Web).

Si vous avez un grand site vous faites peut-être Internet -> équilibrage de charge L3 -> couche de concentrateurs SSL L7 -> équilibreurs de charge -> couche de serveurs d'application HTTP L7...

Willy Tarreau, l'auteur de HAProxy, propose un très bon aperçu de l'architecture de l'entreprise. méthodes 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, à condition que les serveurs servent tous le trafic d'un seul nom de domaine pleinement qualifié. Mais vérifiez ce que vous achetez, les émetteurs de certificats peuvent avoir un portefeuille de produits déroutant...

17voto

Dave Cross Points 17363

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 FQDN. Ensuite, vous l'installez sur chacun de vos 5 serveurs derrière l'équilibreur.

Vous pouvez également obtenir un certificat distinct pour chaque serveur Web, mais inclure "www.gathright.com" comme "Subject Alternative Name", ce qui signifie que chacun des cinq certificats serait valable pour SSL vers ce FQDN général ainsi que pour SSL vers les FQDN des serveurs spécifiques.

14voto

stphven Points 389

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

Les certificats, lorsqu'ils sont signés par une autorité de certification, attestent que cette dernière a vérifié l'identité de l'utilisateur. nom figurant sur le certificat. Pour les certificats de sites Web, il s'agit du nom de domaine du site. Votre navigateur s'attend à ce que le serveur avec lequel il communique, s'il utilise HTTPS, présente un certificat portant le même nom de domaine. nom comme le nom de domaine avec lequel le navigateur pense communiquer. (Par exemple, il est peu probable que VeriSign signe le certificat de Hacker Joe pour bankofamerica.com. Ainsi, 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 affichera de gros drapeaux d'avertissement rouges partout).

Ce qui compte, c'est que le nom sur le certificat correspond au nom de domaine auquel le navigateur pense s'adresser. 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, à condition qu'ils se trouvent derrière un équilibreur de charge.

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

7voto

James Otter Points 321

Notre installation a très bien fonctionné :

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

De cette façon, Pound décrypte le trafic, à partir de là, tout est directement http. Avantages : moins de configuration sur les serveurs web, un outil pour chaque tâche. Vous pouvez maximiser le CPU sur la machine pound, et garder les serveurs web "normaux". Vous devriez avoir au moins deux de chaque (pound, haproxy, serveurs web), si le temps de disponibilité est important.

3voto

joeqwerty Points 106914

A priori, vous pouvez utiliser le même certificat sur chaque serveur. Vous pouvez également mettre en œuvre un accélérateur SSL et lui confier l'ensemble du trafic SSL.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X