Erzwingen einer TLS-Mindestversion - AWS SDK for JavaScript

Das AWS SDK for JavaScript V3-API-Referenzhandbuch beschreibt im Detail alle API-Operationen für die AWS SDK for JavaScript Version 3 (V3).

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 TLS-Mindestversion

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

Wichtig

v AWS SDK for JavaScript 3 verhandelt automatisch die TLS-Version der höchsten Ebene, die von einem bestimmten AWS Service-Endpunkt unterstützt wird. Sie können optional eine TLS-Mindestversion erzwingen, die von Ihrer Anwendung benötigt wird, 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.

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 mit AWS SDK for JavaScript Node.js verwenden, wird die zugrunde liegende Node.js-Sicherheitsebene 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. Die AWS SDK for JavaScript v3 verwendet standardmäßig TLS 1.3, wenn verfügbar, aber bei Bedarf eine niedrigere Version.

Ü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 die minimal zulässige TLS-Version während dieser Aushandlung erzwingen, entweder beim Ausführen eines Skripts über die Befehlszeile oder pro Anfrage in Ihrem JavaScript Code.

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 zunächst Node Version Manager (nvm) mithilfe der Schritte unter Installieren und Aktualisieren von Node Version Manager. 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
Enforce 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 mindestens zulässige TLS-Version für eine bestimmte Anforderung in Ihrem JavaScript Code anzugeben, verwenden Sie den httpOptions Parameter , um das Protokoll anzugeben, wie im folgenden Beispiel gezeigt.

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

Um zu erzwingen, dass TLS 1.3 die minimal zulässige Version ist, geben Sie das Argument an, wenn Sie Ihr --tls-min-v1.3 Skript ausführen, wie im folgenden Beispiel gezeigt.

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

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

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

Überprüfen und Erzwingen von TLS in einem Browserskript

Wenn Sie das SDK für JavaScript in einem Browserskript verwenden, steuern Browsereinstellungen die verwendete Version von TLS. 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 Registerkarte ToolsInternetoptionenErweitert aus.

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

  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 Optimale Übereinstimmung auf Internetoptionen.

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

  4. Aktivieren Sie das Kontrollkästchen Benutzer-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 aus.

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

  4. Scrollen Sie nach unten zum Abschnitt System und klicken Sie auf Proxy-Einstellungen öffnen....

  5. Wählen Sie die Registerkarte Erweitert aus.

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

  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 die 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 Ganzzahlwert auf 3, um das Protokoll von TLS 1.2 als Standard zu erzwingen.

  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.