Appliquer une TLS version minimale - AWS SDK for JavaScript

Le guide de API référence AWS SDK for JavaScript V3 décrit en détail toutes les API opérations de la AWS SDK for JavaScript version 3 (V3).

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 TLS version minimale

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

Important

La AWS SDK for JavaScript v3 négocie automatiquement la TLS version de plus haut niveau prise en charge par un point de terminaison de AWS service donné. Vous pouvez éventuellement appliquer une TLS version minimale requise par votre application, telle que TLS 1.2 ou 1.3, mais veuillez noter que TLS la version 1.3 n'est pas prise en charge par certains points de terminaison du AWS Service. Certains appels peuvent donc échouer si vous appliquez la version TLS 1.3.

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

Vérifier et appliquer TLS dans Node.js

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

Node.js 12.0.0 et versions ultérieures utilisent une version minimale d'Open SSL 1.1.1b, compatible avec TLS la version 1.3. La AWS SDK for JavaScript version 3 utilise par défaut la version TLS 1.3 lorsqu'elle est disponible, mais utilise par défaut une version inférieure si nécessaire.

Vérifiez la version d'Open SSL and TLS

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

node -p process.versions

La version d'Open SSL dans la liste est la version utilisée par Node.js, comme indiqué dans l'exemple suivant.

openssl: '1.1.1b'

Pour obtenir la version 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 affiche la TLS version, comme indiqué 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.

Appliquer une version minimale de TLS

Node.js négocie une version de TLS lorsqu'un appel échoue. Vous pouvez appliquer la TLS version minimale autorisée au cours 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 TLS version minimale à partir de la ligne de commande, vous devez utiliser Node.js version 11.0.0 ou ultérieure. Pour installer une version spécifique de Node.js, installez d'abord le gestionnaire de version de Node (nvm) en suivant les étapes décrites dans la section Installation et mise à jour du gestionnaire de versions de Node. Ensuite, exécutez les commandes suivantes pour installer et utiliser une version spécifique de Node.js.

nvm install 11 nvm use 11
Enforce TLS 1.2

Pour confirmer que la version TLS 1.2 est la version minimale autorisée, spécifiez l'--tls-min-v1.2argument 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 TLS version minimale autorisée pour une requête spécifique dans votre JavaScript code, utilisez le httpOptions paramètre pour spécifier le protocole, comme indiqué dans l'exemple suivant.

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

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

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

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

import https from "https"; import { NodeHttpHandler } from "@smithy/node-http-handler"; import { DynamoDBClient } from "@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 formulaire JavaScript dans un script de navigateur, les paramètres du navigateur TLS contrôlent la version utilisée. La version 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 TLS utilisée dans un script de navigateur, reportez-vous aux instructions propres à votre navigateur.

Microsoft Internet Explorer
  1. Ouvrez Internet Explorer.

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

  3. Faites défiler l'écran jusqu'à la catégorie de sécurité, cochez manuellement la case TLSUse 1.2.

  4. Cliquez sur OK.

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

Microsoft Edge
  1. Dans le champ de recherche du menu Windows, tapez Internet options.

  2. Sous Meilleure correspondance, cliquez sur Options Internet.

  3. Dans la fenêtre Propriétés Internet, sous l'onglet Avancé, faites défiler la page 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 l'écran 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. Faites défiler la page jusqu'à la catégorie de sécurité, cochez manuellement la case TLSUse 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 de 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 SSL protocoles. Si vous utilisez Safari version 7 ou supérieure, la version TLS 1.2 est automatiquement activée.