Question Utilisation de SSL pour la configuration automatique de plusieurs domaines, Elastic Beanstalk


Nous créons un système de gestion de contenu pour notre entreprise. Il est important que ce CMS prenne en charge les noms de domaine dynamiques sur un nombre dynamique de serveurs. Après de nombreuses heures de recherche, nous avons estimé que le Elastic Beanstalk d'Amazon était la solution. Nous devons également pouvoir activer dynamiquement SSL pour les domaines associés à notre système.

Donc, dans notre système, nous pouvons créer un "site" qui sera associé à un domaine. Lors de la création du site, nous devrions également avoir la possibilité de choisir si le domaine sera hébergé sur SSL / TLS. Nous prévoyons de mettre le système en blanc et d’anticiper un grand nombre de domaines.

J'explorais les différentes possibilités permettant de configurer SSL sur les serveurs (ou l'équilibreur de charge) et de modifier les domaines sécurisés à la volée. Voici où je suis:

  • Utilisation du gestionnaire de certificats d'Amazon: ce serait la manière la plus désirée de s'y prendre. Il est intégré à AWS et très facile à utiliser. Cependant, il comporte plusieurs limitations invalidantes: 1. Vous devez vérifier chaque domaine par courrier électronique chaque fois que vous demandez un nouveau certificat. Pas de problème, sauf que 2. Il ne peut pas appliquer de certificats à des instances EC2, seuls les équilibreurs de charge et les équilibreurs de charge ne peuvent être affectés qu'à un seul certificat. Cela signifie que vous devez revérifier chaque domaine chaque fois que vous souhaitez sécuriser un autre domaine. Pas bien.
  • Utilisation de Let's Encrypt sur l’équilibreur de charge: ce serait la prochaine meilleure façon (que je puisse voir) de sécuriser nos sites. Chaque fois qu'un nouveau site doit être sécurisé, nous demanderons un nouveau certificat pour tous les domaines nécessitant SSL. Une fois le certificat créé, nous le transmettons à IAM et demandons à EBS d’associer l’équilibreur de charge au nouveau certificat. Le seul problème que je vois avec ceci est que LetsEncrypt limite leurs certificats à 100 domaines, à l'instar du fournisseur SSL non libre mais relativement peu coûteux, SSLMate. Cela pourrait fonctionner pour le moment, mais cela n’a pas d’échelle. Existe-t-il un fournisseur SSL automatisé qui ne limite pas le nombre de domaines sur le certificat?
  • Utilisation de SSL passthroughElastic Beanstalk d’Amazon vous permet de le configurer de manière à ce que l’équilibreur de charge transmette le trafic chiffré directement aux instances EC2. Ensuite, vous pouvez autoriser les instances EC2 à gérer les certificats. Je peux ensuite utiliser LetsEncrypt et attribuer un certificat individuel à chaque domaine. Je suis confronté à un problème lors de la mise à l'échelle automatique: nous aurons besoin de dupliquer les certificats à travers des instances. Ma solution serait de stocker les certificats dans un compartiment S3 sécurisé, puis de faire exécuter un cron sur toutes les instances EC2 pour extraire les certificats nouveaux / mis à jour.

Y at-il des préoccupations avec la dernière idée? Y a-t-il une meilleure solution à ce que j'essaie de faire? Est-ce que je manque quelque chose? Une préoccupation? Ou peut-être une solution super simple à mon problème?

Notez que j'utilise docker, je peux donc configurer tout ce dont j'ai besoin sur le serveur.


7
2018-06-23 21:09


origine


où en êtes-vous arrivé là? Je regarde cela aussi, permet de chiffrer + ELB semble viable et si la limite de 100 noms est atteinte, créer un autre ELB pourrait résoudre ce que je pense? - Ashtonian
J'ai fini par changer d'emploi avant de terminer le projet. Cependant, avant de partir, je testais la possibilité d'utiliser Caddy Server comme équilibreur de charge et d'utiliser la fonctionnalité "On Demand TLS" de Caddy. - Patrick Stephan


Réponses:


Elastic Load Balancer peut désormais avoir jusqu'à 26 certificats (comme indiqué ici).

Si vous avez besoin de plus de 26 certificats par ELB et que vous souhaitez utiliser les services AWS, vous pouvez utiliser une distribution CloudFront par certificat / domaine.

Vous pouvez également utiliser la validation DNS basée sur CNAME dans CertificateManager afin de renouveler automatiquement les certificats sans validation par courrier électronique.


0
2018-01-04 09:14