Erzwingen einer TLS-Mindestversion in 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.

Erzwingen einer TLS-Mindestversion in 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.

Die bestimmt AWS SDK for .NET anhand der zugrundeliegenden.NET-Laufzeit, welches Sicherheitsprotokoll verwendet werden soll. Standardmäßig verwenden aktuelle Versionen von .NET das zuletzt konfigurierte Protokoll, das vom Betriebssystem unterstützt wird. Ihre Anwendung kann dieses SDK-Verhalten überschreiben, dies wird jedoch nicht empfohlen.

.NET Core

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

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

Weitere Informationen zu den einzelnen Betriebssystemen finden Sie im Folgenden.

Windows

Bei modernen Windows-Verteilungen ist die TLS 1.2-Unterstützung standardmäßig aktiviert. Wenn Sie Windows 7 SP1 oder Windows Server 2008 R2 SP1 verwenden, müssen Sie 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. Wenn Sie eine frühere Verteilung ausführen, müssen Sie Ihr Betriebssystem aktualisieren. Informationen zur Unterstützung von TLS 1.3 in Windows finden Sie in der neuesten Microsoft-Dokumentation für die mindestens erforderlichen Client- oder Serverversionen.

macOS

Wenn Sie .NET Core 2.1 oder höher ausführen, ist TLS 1.2 standardmäßig aktiviert. TLS 1.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 https://learn.microsoft.com/en-us/dotnet/core/install/windows?tabs=net80&pivots=os-macos beschrieben.

Bei Verwendung von .NET Core 1.0 nutzt .NET Core OpenSSL unter macOS eine Abhängigkeit, die separat installiert werden muss. OpenSSL 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

.NET Core ist unter Linux OpenSSL erforderlich, das mit vielen Linux-Verteilungen geliefert wird. Aber es kann auch separat installiert werden. OpenSSL 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 .NET Core (2.1 oder höher) verwenden und einen Paketmanager installiert haben, wurde wahrscheinlich eine modernere Version von OpenSSL für Sie installiert.

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.

.NET Framework.

Wenn Sie eine moderne Version von .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) ausführen, ist TLS 1.2 standardmäßig aktiviert und wird verwendet.

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

Warnung

Ab dem 15. August 2024 AWS SDK for .NET wird der Support für.NET Framework 3.5 eingestellt und die Mindestversion von .NET Framework auf 4.6.2 geändert. Weitere Informationen finden Sie im Blogbeitrag Wichtige Änderungen für die Ziele .NET Framework 3.5 und 4.5 von. AWS SDK for .NET

Wenn Ihre Anwendung auf einem neueren.NET Framework unter Windows 7 SP1 oder Windows Server 2008 R2 SP1 ausgeführt wird, müssen Sie 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.

Detaillierte bewährte Methoden für die Verwendung von TLS mit.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 die 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 Framework. Mit dem folgenden Befehl können Sie überprüfen, PowerShell von welcher .NET-Laufzeit (2.0 oder 4.0) verwendet wird.

$PSVersionTable.CLRVersion
  • Wenn Sie .NET Runtime 2.0 verwenden, befolgen Sie die obigen Anweisungen in Bezug auf AWS SDK for .NET und .NET Framework 3.5.

    Warnung

    Ab dem 15. August 2024 AWS SDK for .NET wird der Support für.NET Framework 3.5 eingestellt und die Mindestversion von .NET Framework auf 4.6.2 geändert. Weitere Informationen finden Sie im Blogbeitrag Wichtige Änderungen für die Ziele .NET Framework 3.5 und 4.5 von. AWS SDK for .NET

  • Wenn Sie .NET Runtime 4.0 verwenden, befolgen Sie die obigen Anweisungen in Bezug auf AWS SDK for .NET und .NET Framework 4+.

Windows PowerShell 6.0

Windows PowerShell 6.0 und neuer laufen auf.NET Core. Mit dem folgenden Befehl können Sie überprüfen, welche Version von .NET Core verwendet wird.

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

Folgen Sie den zuvor angegebenen Anweisungen für die AWS SDK for .NET und die entsprechende Version von.NET Core.

Xamarin

Informationen zu Xamarin finden Sie in den 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 SSL/TLS-Implementierung auf Native TLS 1.2+ eingestellt sein.

Für iOS

  • iOS 7 oder höher erforderlich.

  • Projekteigenschaften, iOS Build: Die HttpClient Implementierung muss auf NS gesetzt seinUrlSession.

Für macOS

  • macOS 10.9 oder höher erforderlich.

  • Projektoptionen, Build, Mac Build: Die HttpClient Implementierung muss auf NS eingestellt seinUrlSession.

Unity

Sie müssen Unity 2018.2 oder höher verwenden und die .NET 4.x gleichwertige Skripting-Laufzeit verwenden. 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. Die .NET 4.x gleichwertige Skripting-Laufzeit ermöglicht die TLS 1.2-Unterstützung für alle Unity-Plattformen, auf denen Mono oder IL2CPP ausgeführt wird. Weitere Informationen finden Sie unter https://blog.unity.com/technology/ scripting-runtime-improvements-in -unity-2018-2.

Browser (für Blazor) WebAssembly

WebAssembly läuft im Browser statt auf dem Server und verwendet den Browser für die Verarbeitung von HTTP-Verkehr. Daher wird die TLS-Unterstützung durch die Browser-Unterstützung bestimmt.

Blazor WebAssembly, in der Vorschauversion 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 für Ihren Browser der Fall ist, kann Ihre App bei Ausführung über TLS 1.2 kommunizieren.

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