View a markdown version of this page

Appliquer une version minimale de TLS - AWS SDK pour JavaScript

La AWS SDK pour JavaScript v2 a atteint la fin du support. Nous vous recommandons de migrer vers la AWS SDK pour JavaScript version 3. Pour plus de détails et d'informations sur la manière de migrer, veuillez consulter cette annonce.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Appliquer une version minimale de TLS

Pour renforcer la sécurité lors de la communication avec AWS les services, configurez le AWS SDK pour JavaScript pour utiliser TLS 1.2 ou version ultérieure.

Transport Layer Security (TLS) est un protocole utilisé par les navigateurs web et d'autres applications pour assurer la confidentialité et l'intégrité des données échangées sur un réseau.

Pour utiliser la cryptographie post-quantique, vous devez d'abord activer TLS 1.3. Pour plus d'informations, consultez la section Activation du TLS post-quantique hybride.

Important

Le 10 juin 2024, nous avons annoncé que TLS 1.3 était disponible sur les points de terminaison des API de AWS service dans chacune des AWS régions. La AWS SDK pour JavaScript v2 ne négocie pas la version TLS elle-même. Au lieu de cela, il utilise la version TLS déterminée par Node.js, qui est configurable viahttps.Agent. AWS recommande d'utiliser la version Active LTS actuelle de Node.js.

Vérifiez et appliquez le protocole TLS dans Node.js

Lorsque vous utilisez le AWS SDK pour JavaScript with Node.js, la couche Node.js de sécurité sous-jacente est utilisée pour définir la version TLS.

Node.js Les versions 12.0.0 et ultérieures utilisent une version minimale d'OpenSSL 1.1.1b, qui prend en charge le protocole TLS 1.3. La AWS SDK pour JavaScript v2 utilise par défaut TLS 1.3 lorsqu'il est disponible, mais utilise par défaut une version inférieure si nécessaire.

Vérifier la version d'OpenSSL et TLS

Pour obtenir la version d'OpenSSL utilisée par Node.js sur votre ordinateur, exécutez la commande suivante.

node -p process.versions

La version d'OpenSSL figurant dans la liste est la version utilisée par Node.js, comme illustré dans l'exemple suivant.

openssl: '1.1.1b'

Pour obtenir la version de TLS utilisée par Node.js sur votre ordinateur, démarrez le shell Node et exécutez les commandes suivantes, dans l'ordre.

> var tls = require("tls"); > var tlsSocket = new tls.TLSSocket(); > tlsSocket.getProtocol();

La dernière commande génère la version TLS, comme illustré dans l'exemple suivant.

'TLSv1.3'

Node.js utilise par défaut cette version de TLS et essaie de négocier une autre version de TLS si un appel échoue.

Vérification des versions TLS minimale et maximale prises en charge

Les développeurs peuvent vérifier les versions TLS minimale et maximale prises en charge à Node.js l'aide du script suivant :

var tls = require("tls"); console.log("Supported TLS versions:", tls.DEFAULT_MIN_VERSION + " to " + tls.DEFAULT_MAX_VERSION);

La dernière commande affiche les versions minimale et maximale de TLS par défaut, comme illustré dans l'exemple suivant.

Supported TLS versions: TLSv1.2 to TLSv1.3

Appliquer une version minimale de TLS

Node.js négocie une version de TLS en cas d'échec d'un appel. Vous pouvez appliquer la version TLS minimale autorisée lors de cette négociation, soit lors de l'exécution d'un script depuis la ligne de commande, soit par requête dans votre JavaScript code.

Pour spécifier la version minimale de TLS à partir de la ligne de commande, vous devez utiliser Node.js la version 11.4.0 ou ultérieure. Pour installer une Node.js version spécifique, installez d'abord Node Version Manager (nvm) en suivant les étapes décrites dans Installation et mise à jour de Node Version Manager. Exécutez ensuite les commandes suivantes pour installer et utiliser une version spécifique de Node.js.

nvm install 11 nvm use 11
Enforcing TLS 1.2

Pour faire en sorte que TLS 1.2 soit la version minimale autorisée, spécifiez l'argument --tls-min-v1.2 lors de l'exécution de votre script, comme indiqué dans l'exemple suivant.

node --tls-min-v1.2 yourScript.js

Pour spécifier la version TLS minimale autorisée pour une requête spécifique de votre JavaScript code, utilisez le httpOptions paramètre pour spécifier le protocole, comme illustré dans l'exemple suivant.

const https = require("https"); const {NodeHttpHandler} = require("@aws-sdk/node-http-handler"); const {DynamoDBClient} = require("@aws-sdk/client-dynamodb"); const client = new DynamoDBClient({ region: "us-west-2", requestHandler: new NodeHttpHandler({ httpsAgent: new https.Agent( { secureProtocol: 'TLSv1_2_method' } ) }) });
Enforcing TLS 1.3

Pour faire en sorte que TLS 1.3 soit la version minimale autorisée, spécifiez l'--tls-min-v1.3argument lors de l'exécution de votre script, comme illustré dans l'exemple suivant.

node --tls-min-v1.3 yourScript.js

Pour spécifier la version TLS minimale autorisée pour une requête spécifique de votre JavaScript code, utilisez le httpOptions paramètre pour spécifier le protocole, comme illustré dans l'exemple suivant.

const https = require("https"); const {NodeHttpHandler} = require("@aws-sdk/node-http-handler"); const {DynamoDBClient} = require("@aws-sdk/client-dynamodb"); const client = new DynamoDBClient({ region: "us-west-2", requestHandler: new NodeHttpHandler({ httpsAgent: new https.Agent( { secureProtocol: 'TLSv1_3_method' } ) }) });

Vérifier et appliquer TLS dans un script de navigateur

Lorsque vous utilisez le SDK pour JavaScript dans un script de navigateur, les paramètres du navigateur contrôlent la version de TLS utilisée. La version de TLS utilisée par le navigateur ne peut pas être découverte ou définie par script et doit être configurée par l'utilisateur. Pour vérifier et appliquer la version de TLS utilisée dans un script de navigateur, veuillez consulter les instructions de votre navigateur spécifique.

Microsoft Internet Explorer
  1. Ouvrez Internet Explorer.

  2. Dans la barre de menus, choisissez Outils - Options Internet - onglet Avancé.

  3. Descendez jusqu'à la catégorie Sécurité, cochez manuellement la case d'option Utiliser TLS 1.2.

  4. Cliquez sur OK.

  5. Fermez votre navigateur et redémarrez Internet Explorer.

Microsoft Edge
  1. Dans la zone de recherche du menu Windows, tapezInternet options.

  2. Sous Meilleure correspondance, cliquez sur Options Internet.

  3. Dans la fenêtre Propriétés Internet, dans l'onglet Avancé, faites défiler l'écran jusqu'à la section Sécurité.

  4. Cochez la case User TLS 1.2.

  5. Cliquez sur OK.

Google Chrome
  1. Ouvrez Google Chrome.

  2. Cliquez sur Alt F et sélectionnez Paramètres.

  3. Faites défiler la page vers le bas et sélectionnez Afficher les paramètres avancés... .

  4. Faites défiler la page jusqu'à la section Système et cliquez sur Ouvrir les paramètres du proxy... .

  5. Sélectionnez l'onglet Avancé.

  6. Descendez jusqu'à la catégorie Sécurité, cochez manuellement la case d'option Utiliser TLS 1.2.

  7. Cliquez sur OK.

  8. Fermez votre navigateur et redémarrez Google Chrome.

Mozilla Firefox
  1. Ouvrez Firefox.

  2. Dans la barre d'adresse, tapez about:config et appuyez sur Entrée.

  3. Dans le champ de recherche, saisissez tls. Recherchez et double-cliquez sur l'entrée relative à security.tls.version.min.

  4. Définissez la valeur entière sur 3 pour forcer le protocole TLS 1.2 à être le protocole par défaut.

  5. Cliquez sur OK.

  6. Fermez votre navigateur et redémarrez Mozilla Firefox.

Apple Safari

Il n'existe aucune option pour activer les protocoles SSL. Si vous utilisez Safari version 7 ou supérieure, TLS 1.2 est automatiquement activé.