web-dev-qa-db-fra.com

Passage SSL Application Load Balancer (ELBv2)

J'essaie de configurer un équilibreur de charge d'application AWS (par rapport à un équilibreur de charge classique) pour distribuer le trafic vers mes serveurs Web EC2. Pour des raisons de conformité, j'ai besoin d'un chiffrement SSL/HTTPS de bout en bout pour mon application.

Il me semble que le moyen le plus simple de garantir que le trafic est entièrement crypté entre les clients et les serveurs Web est de mettre fin à la connexion HTTPS sur les serveurs Web.

Ma première question: est-il possible de transmettre le trafic HTTPS via un équilibreur de charge d'application AWS aux serveurs Web derrière l'équilibreur de charge de cette manière?

D'après ce que j'ai rassemblé dans la documentation AWS, il est possible de transmettre le trafic de cette manière avec un équilibreur de charge classique (via TCP passer). Cependant, l'équilibreur de charge d'application ressemble à il souhaite mettre fin à la connexion HTTPS elle-même, puis effectuez l'une des opérations suivantes:

  • envoyer du trafic non chiffré aux serveurs Web, ce que je ne peux pas faire pour des raisons de conformité
  • créer une nouvelle connexion HTTPS aux serveurs Web, ce qui semble être une charge de travail supplémentaire

Ma deuxième question: cette compréhension de la documentation est-elle correcte?

18
John R

Pour mettre fin à la connexion SSL sur les serveurs Web, vous devez modifier l'écouteur de l'équilibreur de charge de HTTPS à TCP. ALB ne supporte pas cela, seulement ELB classique. De plus, si vous mettiez fin au SSL sur le serveur Web, l'équilibreur de charge ne serait pas en mesure d'inspecter la demande car il ne serait pas en mesure de la décrypter, il ne serait donc pas en mesure de faire toutes les nouveautés de routage fantaisistes que l'ALB prend en charge.

Si vous souhaitez réellement utiliser un ALB pour les nouvelles fonctionnalités qu'il fournit et que vous avez besoin d'un chiffrement de bout en bout, vous devrez mettre fin à SSL sur l'ALB et disposer également d'un certificat SSL installé sur les serveurs Web. Le certificat de serveur Web pourrait être quelque chose comme un certificat auto-signé puisque seul l'ALB va voir ce certificat, pas le client.

Je suppose que vous avez besoin d'un chiffrement de bout en bout pour des raisons de conformité (PCI, HIPAA, etc.). Sinon, il n'y a pas de raison très impérieuse de passer par les tracas de sa configuration.

30
Mark B