Elastic Load Balancing
Equilibreurs de charge classiques

Mettre à jour la configuration de négociation SSL de votre Classic Load Balancer

Elastic Load Balancing fournit des stratégies de sécurité qui ont des configurations de négociation SSL prédéfinies à utiliser pour négocier des connexions SSL entre les clients et votre équilibreur de charge. Si vous utilisez le protocole HTTPS/SSL pour votre écouteur, vous pouvez utiliser l'une des stratégies de sécurité prédéfinies ou votre propre stratégie de sécurité personnalisée.

Pour plus d'informations sur les stratégies de sécurité, consultez Configurations de négociation SSL pour Classic Load Balancers. Pour plus d'informations sur les configurations des stratégies de sécurité fournies par Elastic Load Balancing, consultez Stratégies de sécurité SSL prédéfinies.

Si vous créez un écouteur HTTPS/SSL sans associer une stratégie de sécurité, Elastic Load Balancing associe la stratégie de sécurité prédéfinie par défaut, ELBSecurityPolicy-2016-08, à votre équilibreur de charge.

Si vous avez un équilibreur de charge existant avec une configuration de négociation SSL qui n'utilise pas les derniers protocoles et chiffrements, nous vous recommandons de mettre à jour votre équilibreur de charge pour utiliser ELBSecurityPolicy-2016-08. Si vous préférez, vous pouvez créer une configuration personnalisée. Nous vous recommandons vivement de tester les nouvelles stratégies de sécurité avant de mettre à niveau la configuration de votre équilibreur de charge.

Les exemples suivants vous montrent comment mettre à jour la configuration de négociation SSL pour un écouteur HTTPS/SSL. Notez que la modification n'affecte pas les demandes reçues par un nœud d'équilibreur de charge et qui sont en attente de routage vers une instance saine ; la configuration mise à jour sera utilisée avec les nouvelles demandes reçues.

Mettre à jour la configuration de négociation SSL à l'aide de la console

Par défaut, Elastic Load Balancing associe la dernière stratégie prédéfinie à votre équilibreur de charge. Lorsqu'une nouvelle stratégie prédéfinie est ajoutée, nous vous recommandons de mettre à jour votre équilibreur de charge pour utiliser la nouvelle stratégie prédéfinie. Vous pouvez également sélectionner une autre stratégie de sécurité prédéfinie ou créer une stratégie personnalisée.

Pour mettre à jour la configuration de négociation SSL pour un équilibreur de charge HTTPS/SSL

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, sous LOAD BALANCING, choisissez Load Balancers.

  3. Sélectionnez votre équilibreur de charge.

  4. Sous l'onglet Listeners, pour Cipher, choisissez Change.

  5. Sur la page Select a Cipher, sélectionnez une stratégie de sécurité en utilisant l'une des options suivantes :

    • (Recommandé) Sélectionnez Stratégie de sécurité prédéfinie, conservez la stratégie par défaut, ELBSecurityPolicy-2016-08, puis choisissez Save (Enregistrer).

    • Sélectionnez Predefined Security Policy, sélectionnez une stratégie prédéfinie autre que la valeur par défaut et choisissez Save.

    • Sélectionnez Custom Security Policy et activez au moins un protocole et un chiffrement comme suit :

      1. Pour SSL Protocols, sélectionnez un ou plusieurs protocoles à activer.

      2. Pour SSL Options, sélectionnez Server Order Preference afin d'utiliser l'ordre indiqué dans le tableau Stratégies de sécurité SSL prédéfinies pour la négociation SSL.

      3. Pour SSL Ciphers, sélectionnez un ou plusieurs chiffrements à activer. Si vous avez déjà un certificat SSL, vous devez activer le chiffrement qui a été utilisé pour créer le certificat, car les chiffrements DSA et RSA sont spécifiques à l'algorithme de signature.

      4. Choisissez Save.

Mettre à jour la configuration de négociation SSL à l'aide de l'interface AWS CLI

Vous pouvez utiliser la stratégie de sécurité prédéfinie par défaut, ELBSecurityPolicy-2016-08, une autre stratégie de sécurité prédéfinie ou une stratégie de sécurité personnalisée.

Pour utiliser une stratégie de sécurité SSL prédéfinie

  1. Utilisez la commande describe-load-balancer-policies suivante pour répertorier les noms des stratégies de sécurité prédéfinies fournies par Elastic Load Balancing :

    aws elb describe-load-balancer-policies --query "PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName}" --output table

    Voici un exemple de sortie :

    ------------------------------------------ | DescribeLoadBalancerPolicies | +----------------------------------------+ | PolicyName | +----------------------------------------+ | ELBSecurityPolicy-2016-08 | | ELBSecurityPolicy-TLS-1-2-2017-01 | | ELBSecurityPolicy-TLS-1-1-2017-01 | | ELBSecurityPolicy-2015-05 | | ELBSecurityPolicy-2015-03 | | ELBSecurityPolicy-2015-02 | | ELBSecurityPolicy-2014-10 | | ELBSecurityPolicy-2014-01 | | ELBSecurityPolicy-2011-08 | | ELBSample-ELBDefaultCipherPolicy | | ELBSample-OpenSSLDefaultCipherPolicy | +----------------------------------------+

    Pour déterminer quels chiffrements sont activés pour une stratégie, utilisez la commande suivante :

    aws elb describe-load-balancer-policies --policy-names ELBSecurityPolicy-2016-08 --output table

    Pour plus d'informations sur la configuration des stratégies de sécurité prédéfinies, consultez Stratégies de sécurité SSL prédéfinies.

  2. Utilisez la commande create-load-balancer-policy pour créer une stratégie de négociation SSL à l'aide de l'une des stratégies de sécurité prédéfinies que vous avez décrites à l'étape précédente. Par exemple, la commande suivante utilise la stratégie de sécurité prédéfinie par défaut :

    aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy --policy-type-name SSLNegotiationPolicyType --policy-attributes AttributeName=Reference-Security-Policy,AttributeValue=ELBSecurityPolicy-2016-08

    Si vous dépassez la limite fixée concernant le nombre de stratégies pour votre équilibreur de charge, utilisez la commande delete-load-balancer-policy pour supprimer toutes les stratégies non utilisées.

  3. (Facultatif) Utilisez la commande describe-load-balancer-policies suivante pour vérifier que la stratégie est créée :

    aws elb describe-load-balancer-policies --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy

    La réponse inclut la description de la stratégie.

  4. Utilisez la commande set-load-balancer-policies-of-listener suivante pour activer la stratégie sur le port 443 de l'équilibreur de charge :

    aws elb set-load-balancer-policies-of-listener --load-balancer-name my-loadbalancer --load-balancer-port 443 --policy-names my-SSLNegotiation-policy

    Note

    La commande set-load-balancer-policies-of-listener remplace l'ensemble de stratégies actuel pour le port de programme d'équilibreur de charge indiqué par l'ensemble de stratégies spécifié. La liste --policy-names doit inclure toutes les stratégies à activer. Si vous omettez une stratégie actuellement activée, celle-ci est désactivée.

  5. (Facultatif) Utilisez la commande describe-load-balancers suivante pour vérifier que la nouvelle stratégie est activée pour le port de l'équilibreur de charge :

    aws elb describe-load-balancers --load-balancer-name my-loadbalancer

    La réponse montre que la stratégie est activée sur le port 443.

    ... { "Listener": { "InstancePort": 443, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTPS" }, "PolicyNames": [ "my-SSLNegotiation-policy" ] } ...

Lorsque vous créez une stratégie de sécurité personnalisée, vous devez activer au moins un protocole et un chiffrement. Les chiffrements DSA et RSA sont spécifiques à l'algorithme de signature et sont utilisés pour créer le certificat SSL. Si vous avez déjà un certificat SSL, veillez à activer le chiffrement qui a été utilisé pour créer le certificat. Le nom de votre stratégie personnalisée ne doit pas commencer par ELBSecurityPolicy- ou ELBSample-, car ces préfixes sont réservés pour les noms des stratégies de sécurité prédéfinies.

Pour utiliser une stratégie de sécurité SSL personnalisée

  1. Utilisez la commande create-load-balancer-policy suivante pour créer une stratégie de négociation SSL à l'aide d'une stratégie de sécurité personnalisée. Exemples :

    aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy --policy-type-name SSLNegotiationPolicyType --policy-attributes AttributeName=Protocol-TLSv1.2,AttributeValue=true AttributeName=Protocol-TLSv1.1,AttributeValue=true AttributeName=DHE-RSA-AES256-SHA256,AttributeValue=true AttributeName=Server-Defined-Cipher-Order,AttributeValue=true

    Si vous dépassez la limite fixée concernant le nombre de stratégies pour votre équilibreur de charge, utilisez la commande delete-load-balancer-policy pour supprimer toutes les stratégies non utilisées.

  2. (Facultatif) Utilisez la commande describe-load-balancer-policies suivante pour vérifier que la stratégie est créée :

    aws elb describe-load-balancer-policies --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy

    La réponse inclut la description de la stratégie.

  3. Utilisez la commande set-load-balancer-policies-of-listener suivante pour activer la stratégie sur le port 443 de l'équilibreur de charge :

    aws elb set-load-balancer-policies-of-listener --load-balancer-name my-loadbalancer --load-balancer-port 443 --policy-names my-SSLNegotiation-policy

    Note

    La commande set-load-balancer-policies-of-listener remplace l'ensemble de stratégies actuel pour le port de programme d'équilibreur de charge indiqué par l'ensemble de stratégies spécifié. La liste --policy-names doit inclure toutes les stratégies à activer. Si vous omettez une stratégie actuellement activée, celle-ci est désactivée.

  4. (Facultatif) Utilisez la commande describe-load-balancers suivante pour vérifier que la nouvelle stratégie est activée pour le port de l'équilibreur de charge :

    aws elb describe-load-balancers --load-balancer-name my-loadbalancer

    La réponse montre que la stratégie est activée sur le port 443.

    ... { "Listener": { "InstancePort": 443, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTPS" }, "PolicyNames": [ "my-SSLNegotiation-policy" ] } ...