Lorsque vous configurez un écouteur HTTPS pour un Application Load Balancer (ALB), une politique de sécurité TLS définit les versions de protocole TLS et les suites de chiffrement prises en charge pour la négociation avec les clients. ALB propose plusieurs politiques prédéfinies courantes. Pour répondre à des exigences de sécurité spécifiques, utilisez une politique personnalisée.
Fonctionnement
Un ALB utilise une politique de sécurité TLS pour définir les versions de protocole TLS et les suites de chiffrement prises en charge lors de la négociation TLS. Au cours du processus de handshake, le client envoie un message Client Hello répertoriant les versions de protocole TLS et les suites de chiffrement qu'il prend en charge. L'ALB évalue cette liste par rapport à la politique, sélectionne une combinaison prise en charge mutuellement et répond par un Server Hello. La combinaison sélectionnée détermine ensuite la méthode d'échange de clés et de génération de clé de session.
Politiques par défaut
Les normes de sécurité et de conformité peuvent exiger l'utilisation de politiques de sécurité TLS spécifiques pour ALB. Développez le tableau ci-dessous pour afficher les versions TLS et les suites de chiffrement prises en charge par chaque politique par défaut, puis sélectionnez celle qui répond à vos besoins. Si les politiques par défaut ne satisfont pas vos exigences, créez une politique personnalisée.
La politique
tls_cipher_policy_1_0_to_1_3est prise en charge uniquement par les instances ALB Extensible Edition.Pour les applications orientées Internet sans exigences de compatibilité particulières, nous recommandons la politique
tls_cipher_policy_1_2ou une politique plus stricte.
Console
Accédez à la page Politiques de sécurité TLS dans la console ALB. L'onglet Default Policy affiche les détails de chaque politique.
API
Appelez l'opération ListSystemSecurityPolicies pour interroger les politiques par défaut.
Politiques personnalisées
Les politiques personnalisées sont prises en charge uniquement par les instances ALB Standard et WAF-enabled, et non par les instances Basic ou Extensible Edition.
Créer une politique personnalisée
Console
Accédez à la page Politiques de sécurité TLS dans la console ALB et sélectionnez la région où votre instance ALB est déployée.
-
Cliquez sur Create Custom Policy, configurez les paramètres suivants, puis cliquez sur Create.
Minimum Version : Pour garantir la sécurité, nous vous recommandons de sélectionner TLS 1.2 or Later sauf si votre application a des exigences de compatibilité spécifiques.
Enable TLS 1.3 : Pour assurer la sécurité et l'efficacité du réseau, nous vous recommandons d'activer cette option si elle est compatible avec votre application.
Cipher Suite : Les suites de chiffrement sélectionnées doivent être compatibles avec la version du protocole TLS.
Une fois la politique créée, sélectionnez-la lorsque vous configurez une politique de sécurité TLS pour un écouteur.
API
Appelez CreateSecurityPolicy pour créer une politique personnalisée. Notez que la politique personnalisée doit se trouver dans la même région que l'instance ALB.
Pour utiliser un certificat d'algorithme SM pour le chiffrement HTTPS, sélectionnez la suite de chiffrement d'algorithme SM (ECC-SM2-WITH-SM4-SM3) lors de la création d'une politique personnalisée. Pour plus d'informations, consultez Configurer HTTPS basé sur SM sur ALB pour une communication sécurisée .
Mettre à jour les protocoles TLS et les suites de chiffrement
Console
Accédez à la page Politiques de sécurité TLS dans la console ALB et sélectionnez la région de la politique personnalisée.
Recherchez la politique personnalisée cible, cliquez sur Modify dans la colonne Actions, puis mettez à jour les versions de protocole TLS et les suites de chiffrement dans la boîte de dialogue Modify TLS Security Policy.
API
Appelez UpdateSecurityPolicyAttribute pour mettre à jour les attributs d'une politique personnalisée.
Copier une politique personnalisée vers une autre région
Console
Accédez à la page Politiques de sécurité TLS dans la console ALB et sélectionnez la région de la politique personnalisée.
Recherchez la politique personnalisée cible, cliquez sur Replicate to Other Regions dans la colonne Actions, sélectionnez la région de destination, puis cliquez sur OK.
API
Appelez ListSecurityPolicies pour obtenir les paramètres TLSVersions et Ciphers de la politique personnalisée source. Ensuite, appelez CreateSecurityPolicy et transmettez ces valeurs de paramètre pour créer une nouvelle politique dans la région de destination.
Supprimer une politique personnalisée
Pour supprimer une politique personnalisée associée à un écouteur, vous devez d'abord modifier la politique de sécurité TLS de l'écouteur ou supprimer l'écouteur.
Console
Accédez à la page Politiques de sécurité TLS dans la console ALB et sélectionnez la région de la politique personnalisée.
Recherchez la politique personnalisée cible, cliquez sur Delete dans la colonne Actions, puis cliquez sur OK.
API
Appelez DeleteSecurityPolicy pour supprimer une politique personnalisée.
Configurer une politique de sécurité TLS pour un écouteur
Les instances ALB Extensible Edition prennent en charge uniquement la politique par défaut tls_cipher_policy_1_0_to_1_3.
Console
Lorsque vous créez un écouteur HTTPS, sélectionnez une TLS Security Policy dans l'onglet Configure SSL Certificate. Lorsque vous créez rapidement un écouteur HTTPS, sélectionnez une TLS Security Policy dans la boîte de dialogue Quick Create Listener.
Pour modifier une politique de sécurité TLS, accédez à l'onglet Listener sur la page des détails de l'instance et cliquez sur l'ID de l'écouteur HTTPS cible. Dans les Listener Details, modifiez la TLS Security Policy dans la zone SSL Certificate.
API
Lorsque vous appelez CreateListener ou UpdateListenerAttribute, définissez le paramètre SecurityPolicyId sur l'ID de la politique de sécurité TLS.
Appelez ListSystemSecurityPolicies pour interroger le
SecurityPolicyIdd'une politique par défaut.Appelez ListSecurityPolicies pour interroger le
SecurityPolicyIdd'une politique personnalisée.
Facturation
Les politiques de sécurité TLS sont gratuites, mais vous êtes soumis à la facturation pour l'instance ALB elle-même.
Environnement de production
Sécurité du trafic backend : Pour une sécurité de bout en bout, déployez votre instance ALB et vos serveurs backend dans le même VPC et utilisez des groupes de sécurité pour contrôler strictement l'accès.
Version du protocole TLS : Si votre application n'a pas d'exigences de compatibilité particulières, utilisez TLS 1.2 et TLS 1.3.
Rollback : Si vous rencontrez des problèmes après avoir modifié une politique de sécurité TLS, annulez immédiatement les modifications en modifiant la configuration de l'écouteur. Effectuez ces changements pendant les heures creuses.
Algorithme d'échange de clés : Si votre application n'a pas d'exigences de compatibilité particulières, évitez d'utiliser les suites de chiffrement d'échange de clés RSA suivantes dans un environnement de production :
AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,AES128-SHA,AES256-SHAetDES-CBC3-SHA. Ces suites de chiffrement ne prennent pas en charge le secret persistant (PFS) et sont vulnérables aux attaques par canal auxiliaire. Privilégiez les suites de chiffrement utilisant ECDHE ou DHE.
Dépannage des avertissements « not secure »
Après avoir configuré une politique de sécurité TLS de niveau élevé, telle que tls_cipher_policy_1_2_strict_with_1_3, le navigateur d'un client peut toujours afficher un avertissement « Not Secure » ou « Insecure Connection » lors de l'accès à votre site. Examinez les causes potentielles suivantes.
Le client ou le navigateur est incompatible avec la version TLS sélectionnée : Certains navigateurs ou systèmes d'exploitation plus anciens ne prennent pas en charge TLS 1.2 ou versions ultérieures. Cette incompatibilité entraîne l'échec du handshake et déclenche un avertissement de sécurité. Pour écarter les problèmes de compatibilité client, testez avec la dernière version d'un navigateur grand public comme Chrome ou Firefox. La prise en charge de TLS 1.3 peut varier selon les versions de Safari sur macOS ; passez à Chrome pour vérifier la connexion.
Le certificat a expiré ou le nom de domaine ne correspond pas : Une politique de sécurité TLS contrôle uniquement la négociation des versions de protocole et des suites de chiffrement ; elle n'affecte pas la validité du certificat. Si le certificat a expiré ou si le nom de domaine sur le certificat ne correspond pas au nom de domaine auquel vous accédez, le navigateur affichera également un avertissement de sécurité. Vérifiez que le certificat lié à l'écouteur ALB est valide et que son champ CN ou SAN couvre le nom de domaine consulté.
Le client a mis en cache d'anciennes informations de connexion TLS : Un navigateur peut mettre en cache les informations de session d'une connexion précédente qui utilisait un ancien protocole TLS, ce qui entraîne l'affichage temporaire de l'ancien statut de sécurité. Pour vérifier la nouvelle configuration, effacez le cache et l'état SSL de votre navigateur, puis rechargez la page, ou ouvrez la page en mode navigation privée.
Utilisez un outil en ligne pour vérifier le résultat réel de la négociation : Utilisez un outil en ligne tel que SSL Labs (
https://www.ssllabs.com/ssltest/) pour analyser le nom de domaine de votre site. Vous pouvez alors afficher les versions de protocole TLS, les suites de chiffrement et la chaîne de certificats réellement prises en charge par ALB, et confirmer que la politique a été appliquée correctement.
Mappage des noms de suites de chiffrement TLS
Le tableau suivant établit la correspondance entre les suites de chiffrement au format OpenSSL, au format standard IANA et en notation hexadécimale.