Durchsetzung einer TLS Mindestversion in der AWS SDK for .NET - AWS SDK for .NET

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.

Durchsetzung einer TLS Mindestversion in der AWS SDK for .NET

Um die Sicherheit bei der Kommunikation mit AWS Diensten zu erhöhen, sollten Sie den so konfigurieren AWS SDK for .NET , dass er TLS 1.2 oder höher verwendet.

Der AWS SDK for .NET verwendet den Basiswert. NETLaufzeit, um zu bestimmen, welches Sicherheitsprotokoll verwendet werden soll. Standardmäßig aktuelle Versionen von. NETverwenden Sie das zuletzt konfigurierte Protokoll, das das Betriebssystem unterstützt. Ihre Anwendung kann dieses SDK Verhalten überschreiben, dies wird jedoch nicht empfohlen.

. NETKern

Standardmäßig,. NET Core verwendet das zuletzt konfigurierte Protokoll, das das Betriebssystem unterstützt. AWS SDK for .NET bietet keinen Mechanismus, um dies außer Kraft zu setzen.

Wenn Sie eine verwenden. NET Core-Version vor 2.1, wir empfehlen dringend, dass Sie Ihre aktualisieren. NET Kernversion.

Weitere Informationen zu den einzelnen Betriebssystemen finden Sie im Folgenden.

Windows

In modernen Windows-Distributionen ist die TLS 1.2-Unterstützung standardmäßig aktiviert. Wenn Sie Windows 7 SP1 oder Windows Server 2008 R2 verwenden, müssen Sie sicherstellenSP1, dass die TLS 1.2-Unterstützung in der Registrierung aktiviert ist, wie unter https://learn.microsoft.com/en-us/windows- server/security/tls/tls -registry-settings #tls -12 beschrieben. Wenn Sie eine frühere Verteilung ausführen, müssen Sie Ihr Betriebssystem aktualisieren. Informationen zur TLS 1.3-Unterstützung in Windows finden Sie in der aktuellen Microsoft-Dokumentation für die mindestens erforderlichen Client- oder Serverversionen.

macOS

Wenn Sie laufen. NET Core 2.1 oder höher, TLS 1.2 ist standardmäßig aktiviert. TLS1.2 wird von OS X Mavericks 10.9 oder höher unterstützt. NET Core-Version 2.1 und höher erfordern neuere Versionen von macOS, wie unter beschrieben https://learn.microsoft.com/en-us/dotnet/core/install/windows? tabs=net80&pivots=os-macos.

Wenn du verwendest. NET Kern 1,0,. NET Core verwendet Open SSL auf macOS, eine Abhängigkeit, die separat installiert werden muss. Open SSL fügte Unterstützung für TLS 1.2 in Version 1.0.1 und Unterstützung für TLS 1.3 in Version 1.1.1 hinzu.

Linux

. NETCore unter Linux benötigt OpenSSL, das im Lieferumfang vieler Linux-Distributionen enthalten ist. Aber es kann auch separat installiert werden. Open SSL fügte Unterstützung für TLS 1.2 in Version 1.0.1 und Unterstützung für TLS 1.3 in Version 1.1.1 hinzu. Wenn Sie eine moderne Version von verwenden. NET Core (2.1 oder höher) und einen Paketmanager installiert haben, ist es wahrscheinlich, dass eine modernere Version von Open für Sie installiert SSL wurde.

Zur Sicherheit können Sie openssl version in einem Terminal ausführen und überprüfen, ob die Version höher als 1.0.1 ist.

. NETRahmen

Wenn Sie eine moderne Version von verwenden. NET Framework (4.7 oder höher) und eine moderne Version von Windows (mindestens Windows 8 für Clients, Windows Server 2012 oder höher für Server), TLS 1.2 ist standardmäßig aktiviert und wird verwendet.

Wenn Sie eine verwenden. NET Framework-Laufzeit, die die Betriebssystemeinstellungen nicht verwendet (. NETFramework 3.5 bis 4.5.2) AWS SDK for .NET wird versuchen, die unterstützten Protokolle um Unterstützung für TLS 1.1 und TLS 1.2 zu erweitern. Wenn Sie verwenden. NET Framework 3.5, dies wird nur erfolgreich sein, wenn der entsprechende Hotpatch wie folgt installiert ist:

Warnung

Ab dem 15. August 2024 AWS SDK for .NET wird der Support für eingestellt. NET Framework 3.5 und wird das Minimum ändern. NET Framework-Version auf 4.7.2. Weitere Informationen finden Sie im Blogbeitrag Wichtige Änderungen in Kürze. NET Ziele der Rahmenpläne 3.5 und 4.5 der AWS SDK for .NET.

Wenn Ihre Anwendung auf einem neueren läuft. NET Framework unter Windows 7 SP1 oder Windows Server 2008 R2SP1, Sie müssen sicherstellen, dass die TLS 1.2-Unterstützung in der Registrierung aktiviert ist, wie unter https://learn.microsoft.com/en-us/windows- server/security/tls/tls -registry-settings #tls -12 beschrieben. Bei neueren Versionen von Windows ist es standardmäßig aktiviert.

Für detaillierte bewährte Methoden zur Verwendung mit. TLS NET Framework finden Sie im Microsoft-Artikel unter https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls.

AWS Tools for PowerShell

AWS Tools for PowerShellVerwenden Sie das AWS SDK for .NET für alle Aufrufe von AWS Diensten. Das Verhalten Ihrer Umgebung hängt wie folgt von der Version von Windows ab, die PowerShell Sie verwenden.

Windows PowerShell 2.0 bis 5.x

Windows PowerShell 2.0 bis 5.x laufen auf. NET Rahmen. Sie können überprüfen, welche. NETRuntime (2.0 oder 4.0) wird mit PowerShell dem folgenden Befehl verwendet.

$PSVersionTable.CLRVersion
  • Bei der Verwendung von. NET Runtime 2.0, folgen Sie den Anweisungen oben in Bezug auf AWS SDK for .NET und. NET Rahmen 3.5.

    Warnung

    Ab dem 15. August 2024 AWS SDK for .NET wird der Support für eingestellt. NET Framework 3.5 und wird das Minimum ändern. NET Framework-Version auf 4.7.2. Weitere Informationen finden Sie im Blogbeitrag Wichtige Änderungen in Kürze. NET Ziele der Rahmenpläne 3.5 und 4.5 der AWS SDK for .NET.

  • Bei der Verwendung. NET Runtime 4.0, folgen Sie den Anweisungen oben in Bezug auf AWS SDK for .NET und. NET Rahmen 4+.

Windows 6.0 PowerShell

Windows PowerShell 6.0 und neuer laufen auf. NET Kern. Sie können überprüfen, welche Version von. NET Core wird verwendet, indem der folgende Befehl ausgeführt wird.

[System.Reflection.Assembly]::GetEntryAssembly().GetCustomAttributes([System.Runtime.Versioning.TargetFrameworkAttribute], $true).FrameworkName

Folgen Sie den zuvor angegebenen Anweisungen zu AWS SDK for .NET und der entsprechenden Version von. NET Kern.

Xamarin

Für Xamarin finden Sie die Anweisungen unter https://learn.microsoft.com/en-us/ xamarin/cross-platform/app-fundamentals/transport -layer-security. Zusammenfassend:

Für Android

  • Android 5.0 oder höher erforderlich.

  • Projekteigenschaften, Android-Optionen: Die HttpClient Implementierung muss auf Android und die TLS Implementierung vonSSL/auf Native 1.2+ gesetzt sein. TLS

Für iOS

  • iOS 7 oder höher erforderlich.

  • Projekteigenschaften, iOS Build: HttpClient Implementierung muss auf eingestellt sein NSUrlSession.

Für macOS

  • macOS 10.9 oder höher erforderlich.

  • Projektoptionen, Build, Mac Build: HttpClient Implementierung muss auf eingestellt sein NSUrlSession.

Unity

Sie müssen Unity 2018.2 oder höher verwenden und das verwenden. NET4.x-Äquivalente Scripting-Laufzeit. Sie können dies in den Projekteinstellungen, der Konfiguration und dem Player festlegen, wie unter https://docs.unity3d.com/2019.1/ Documentation/Manual/ScriptingRuntimeUpgrade .html beschrieben. Das. NET4.x Equivalent Scripting Runtime ermöglicht die TLS 1.2-Unterstützung für alle Unity-Plattformen, auf denen Mono oder ausgeführt wird. IL2CPP

Browser (für Blazor) WebAssembly

WebAssembly läuft im Browser statt auf dem Server und verwendet den Browser für die Verarbeitung HTTP des Datenverkehrs. Daher hängt TLS die Unterstützung von der Browserunterstützung ab.

Blazor WebAssembly, in der Vorschau für. ASP NET Core 3.1 wird nur in Browsern unterstützt, die dies unterstützen WebAssembly, wie unter https://learn.microsoft.com/en-us/aspnet/core/blazor/supported-platforms beschrieben. Alle gängigen Browser unterstützten TLS 1.2 vor der Unterstützung WebAssembly. Wenn dies bei Ihrem Browser der Fall ist, kann Ihre App, wenn sie ausgeführt wird, über TLS 1.2 kommunizieren.

Weitere Informationen und Verifizierung finden Sie in der Dokumentation Ihres Browsers.