Erzwingen einer Mindestversion von TLS - AWS SDK for JavaScript

Wir haben das Kommende end-of-support für AWS SDK for JavaScript v2 angekündigt. Wir empfehlen Ihnen, auf AWS SDK for JavaScript Version 3 zu migrieren. Termine, weitere Details und Informationen zur Migration finden Sie in der verlinkten Ankündigung.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erzwingen einer Mindestversion von TLS

Wichtig

Die Version AWS SDK for JavaScript v2 handelt automatisch die höchste TLS-Version aus, die von einem bestimmten AWS Service-Endpunkt unterstützt wird. Sie können optional eine TLS-Mindestversion erzwingen, die für Ihre Anwendung erforderlich ist, z. B. TLS 1.2 oder 1.3. Beachten Sie jedoch, dass TLS 1.3 von einigen AWS Service-Endpunkten nicht unterstützt wird, sodass einige Aufrufe fehlschlagen können, wenn Sie TLS 1.3 erzwingen.

Um die Sicherheit bei der Kommunikation mit AWS Diensten zu erhöhen, konfigurieren Sie den AWS SDK for JavaScript für die Verwendung von TLS 1.2 oder höher.

Transport Layer Security (TLS) ist ein Protokoll, das von Webbrowsern und anderen Anwendungen verwendet wird, um die Privatsphäre und Integrität der über ein Netzwerk ausgetauschten Daten zu gewährleisten.

Überprüfen und Erzwingen von TLS in Node.js

Wenn Sie das AWS SDK for JavaScript mit Node.js verwenden, wird die zugrunde liegende Sicherheitsebene Node.js verwendet, um die TLS-Version festzulegen.

Node.js 12.0.0 und höher verwenden eine Mindestversion von OpenSSL 1.1.1b, die TLS 1.3 unterstützt. AWS SDK for JavaScript Version 3 verwendet standardmäßig TLS 1.3, sofern verfügbar, verwendet jedoch standardmäßig eine niedrigere Version, falls erforderlich.

Überprüfen der Version von OpenSSL und TLS

Führen Sie den folgenden Befehl aus, um die von Node.js verwendete Version von OpenSSL auf Ihrem Computer abzurufen.

node -p process.versions

Die Version von OpenSSL in der Liste ist die von Node.js verwendete Version, wie im folgenden Beispiel gezeigt.

openssl: '1.1.1b'

Um die von Node.js verwendete Version von TLS auf Ihrem Computer abzurufen, starten Sie die Knoten-Shell und führen Sie die folgenden Befehle in der angegebenen Reihenfolge aus.

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

Der letzte Befehl gibt die TLS-Version aus, wie im folgenden Beispiel gezeigt.

'TLSv1.3'

Node.js verwendet standardmäßig diese Version von TLS und versucht, eine andere Version von TLS auszuhandeln, wenn ein Aufruf nicht erfolgreich ist.

Erzwingen einer Mindestversion von TLS

Node.js verhandelt eine Version von TLS, wenn ein Aufruf fehlschlägt. Sie können während dieser Verhandlung die zulässige Mindestversion von TLS durchsetzen, entweder wenn Sie ein Skript über die Befehlszeile ausführen oder per Anfrage in Ihrem Code. JavaScript

Um die minimale TLS-Version über die Befehlszeile anzugeben, müssen Sie Node.js Version 11.0.0 oder höher verwenden. Um eine bestimmte Node.js-Version zu installieren, installieren Sie zuerst Node Version Manager (nvm) mit den Schritten unter Node Version Manager Installing and Updating. Führen Sie dann die folgenden Befehle aus, um eine bestimmte Version von Node.js zu installieren und zu verwenden.

nvm install 11 nvm use 11
Enforcing TLS 1.2

Um zu erzwingen, dass TLS 1.2 die minimal zulässige Version ist, geben Sie beim Ausführen des Skripts das Argument --tls-min-v1.2 an, wie im folgenden Beispiel gezeigt.

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

Um die zulässige TLS-Mindestversion für eine bestimmte Anfrage in Ihrem JavaScript Code anzugeben, verwenden Sie den httpOptions Parameter, um das Protokoll anzugeben, wie im folgenden Beispiel gezeigt.

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

Um zu erzwingen, dass TLS 1.3 die zulässige Mindestversion ist, geben Sie das --tls-min-v1.3 Argument bei der Ausführung Ihres Skripts an, wie im folgenden Beispiel gezeigt.

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

Um die zulässige TLS-Mindestversion für eine bestimmte Anfrage in Ihrem JavaScript Code anzugeben, verwenden Sie den httpOptions Parameter, um das Protokoll anzugeben, wie im folgenden Beispiel gezeigt.

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' } ) }) });

Überprüfen und Erzwingen von TLS in einem Browserskript

Wenn Sie das SDK für JavaScript in einem Browserskript verwenden, steuern die Browsereinstellungen die verwendete TLS-Version. Die vom Browser verwendete Version von TLS kann nicht vom Skript erkannt oder festgelegt werden und muss vom Benutzer konfiguriert werden. Informationen zur Überprüfung und Erzwingung der in einem Browserskript verwendeten Version von TLS finden Sie in den Anweisungen für den jeweiligen Browser.

Microsoft Internet Explorer
  1. Öffnen Sie Internet Explorer.

  2. Wählen Sie in der Menüleiste die Option ExtrasInternetoptionen — Registerkarte Erweitert.

  3. Scrollen Sie nach unten zur Kategorie Sicherheit und aktivieren Sie manuell das Optionsfeld für TLS 1.2 verwenden.

  4. Klicken Sie auf OK.

  5. Schließen Sie Ihren Browser und starten Sie Internet Explorer neu.

Microsoft Edge
  1. Geben Sie im Suchfeld des Windows-Menüs Internetoptionen ein.

  2. Klicken Sie unter Beste Übereinstimmung auf Internetoptionen.

  3. Scrollen Sie im Fenster Interneteigenschaften auf der Registerkarte Erweitert nach unten zum Abschnitt Sicherheit.

  4. Markieren Sie das Kontrollkästchen User TLS 1.2.

  5. Klicken Sie auf OK.

Google Chrome
  1. Öffnen Sie Google Chrome.

  2. Klicken Sie auf Alt F und wählen Sie Einstellungen.

  3. Scrollen Sie nach unten und wählen Sie Erweiterte Einstellungen anzeigen... .

  4. Scrollen Sie nach unten zum Abschnitt System und klicken Sie auf Proxyeinstellungen öffnen... .

  5. Wählen Sie die Registerkarte Erweitert aus.

  6. Scrollen Sie nach unten zur Kategorie Sicherheit und aktivieren Sie manuell das Optionsfeld für TLS 1.2 verwenden.

  7. Klicken Sie auf OK.

  8. Schließen Sie Ihren Browser und starten Sie Google Chrome neu.

Mozilla Firefox
  1. Öffnen Sie Firefox.

  2. Geben Sie in der Adressleiste about:config ein und drücken Sie die Eingabetaste.

  3. Geben Sie im Suchfeld tls ein. Suchen Sie den Eintrag für security.tls.version.min und doppelklicken Sie darauf.

  4. Setzen Sie den Integer-Wert auf 3, um zu erzwingen, dass das Protokoll von TLS 1.2 als Standard verwendet wird.

  5. Klicken Sie auf OK.

  6. Schließen Sie Ihren Browser und starten Sie Mozilla Firefox neu.

Apple Safari

Es gibt keine Optionen zum Aktivieren von SSL-Protokollen. Wenn Sie Safari Version 7 oder höher verwenden, wird TLS 1.2 automatisch aktiviert.