

 Das [AWS SDK für JavaScript V3-API-Referenzhandbuch](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) beschreibt detailliert alle API-Operationen für die AWS SDK für 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 Sie eine TLS-Mindestversion
<a name="enforcing-tls"></a>

Um die Sicherheit bei der Kommunikation mit AWS Diensten zu erhöhen, konfigurieren Sie den AWS SDK für 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.

**Wichtig**  
Am 10. Juni 2024 haben wir [angekündigt](https://aws.amazon.com/blogs//security/faster-aws-cloud-connections-with-tls-1-3/), dass TLS 1.3 auf AWS Service-API-Endpunkten in allen AWS Regionen verfügbar ist. Die Version AWS SDK für JavaScript v3 handelt nicht selbst über die TLS-Version aus. Stattdessen wird die von Node.js festgelegte TLS-Version verwendet, die über konfiguriert werden kann`https.Agent`. AWS empfiehlt die Verwendung der aktuellen Active LTS-Version von Node.js.

## Überprüfen und Erzwingen von TLS in Node.js
<a name="node-verify-enforce-tls"></a>

Wenn Sie die AWS SDK für JavaScript zusammen 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. Node.js verwendet standardmäßig TLS 1.3, sofern verfügbar. Sie können bei Bedarf explizit eine andere Version angeben.

### Überprüfen der Version von OpenSSL und TLS
<a name="verify-tls-version"></a>

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.

### Überprüfung der unterstützten Mindest- und Höchstwerte der unterstützten TLS-Versionen
<a name="checking-tls-version-min-max"></a>

Entwickler können die Mindest- und Höchstzahl der unterstützten TLS-Versionen in Node.js mithilfe des folgenden Skripts überprüfen:

```
import tls from "tls";
console.log("Supported TLS versions:", tls.DEFAULT_MIN_VERSION + " to " + tls.DEFAULT_MAX_VERSION);
```

Der letzte Befehl gibt die standardmäßige minimale und maximale TLS-Version aus, wie im folgenden Beispiel gezeigt.

```
Supported TLS versions: TLSv1.2 to TLSv1.3
```

### Erzwingen einer Mindestversion von TLS
<a name="enforce-tls-version"></a>

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

Um die TLS-Mindestversion von der Befehlszeile aus anzugeben, müssen Sie Node.js Version 11.4.0 oder höher verwenden. Um eine bestimmte Version von Node.js zu installieren, installieren Sie zunächst Node Version Manager (nvm) mithilfe der unter [Installation und Aktualisierung des Node Version Managers beschriebenen](https://github.com/nvm-sh/nvm#installing-and-updating) Schritte. 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 zulässige TLS-Mindestversion für eine bestimmte Anfrage in Ihrem JavaScript Code anzugeben, verwenden Sie den `minVersion` 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(
            {
                minVersion: 'TLSv1.2'
            }
        )
    })
});
```

------
#### [ Enforce 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 `minVersion` 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(
            {
                minVersion: 'TLSv1.3'
            }
        )
    })
});
```

------

## Überprüfen und Erzwingen von TLS in einem Browserskript
<a name="browser-verify-enforce-tls"></a>

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**.

1. Wählen Sie in der Menüleiste die Option **Extras** — **Internetoptionen** — Registerkarte **Erweitert**.

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

1. Klicken Sie auf **OK**.

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

------
#### [ Microsoft Edge ]

1. Geben Sie im Suchfeld des Windows-Menüs Folgendes ein*Internet options*.

1. Klicken Sie unter **Beste Übereinstimmung** auf **Internetoptionen**.

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

1. Markieren Sie das Kontrollkästchen **User TLS 1.2**.

1. Klicken Sie auf **OK**.

------
#### [ Google Chrome ]

1. Öffnen Sie **Google Chrome**.

1. Klicken Sie auf **Alt F** und wählen Sie **Einstellungen**.

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

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

1. Wählen Sie die Registerkarte **Erweitert** aus.

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

1. Klicken Sie auf **OK**.

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

------
#### [ Mozilla Firefox ]

1. Öffnen Sie **Firefox**.

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

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

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

1. Klicken Sie auf **OK**.

1. 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.

------

## Die TLS-Version wird in AWS SDK für JavaScript v3-Anfragen abgerufen
<a name="retrieve-tls-version"></a>

Sie können die in einer AWS SDK-Anfrage verwendete TLS-Version mit dem folgenden Skript protokollieren:

```
import { S3Client, ListBucketsCommand } from "@aws-sdk/client-s3";
import tls from "tls";

const client = new S3Client({ region: "us-east-1" });

const tlsSocket = new tls.TLSSocket();

client.middlewareStack.add((next, context) => async (args) => {
  console.log(`Using TLS version: ${tlsSocket.getProtocol()}`);
    return next(args);
});
```

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

```
Using TLS version: TLSv1.3
```