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

Erzwingen 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,. NETCore 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. NETCore-Version vor 2.1, wir empfehlen Ihnen dringend, Ihre zu aktualisieren. NETKernversion.

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/tls-registry-settingswindows-server/security/tls/ #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. NETCore 2.1 oder höher, TLS 1.2 ist standardmäßig aktiviert. TLS1.2 wird von OS X Mavericks v10.9 oder höher unterstützt. . NETCore-Version 2.1 und höher erfordern neuere Versionen von macOS, wie unter https://learn.microsoft.com/en-us/dotnet/core/install/windows? beschrieben. tabs=net80&pivots=os-macos.

Wenn du verwendest. NETKern 1.0,. NETCore 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. NETCore (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. NETFramework (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. NETFramework-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. NETFramework 3.5, dies ist nur erfolgreich, wenn der entsprechende Hotpatch wie folgt installiert ist:

Warnung

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

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

Für detaillierte bewährte Methoden zur Verwendung von. TLS NETFramework 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 AWS SDK for .NET Sie das AWS für alle Aufrufe von 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. NETRahmen. 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. NETFolgen Sie in Runtime 2.0 den weiter oben angegebenen Anweisungen zum AWS SDK for .NET und. NETFramework 3.5.

    Warnung

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

  • Bei der Verwendung. NETRuntime 4.0, folgen Sie den Anweisungen, die Sie zuvor in Bezug auf AWS SDK for .NET und gegeben haben. NETFramework 4+.

Windows 6.0 PowerShell

Windows PowerShell 6.0 und neuer laufen auf. NETKern. Sie können überprüfen, welche Version von. NETCore 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 in Bezug auf die AWS SDK for .NET und die entsprechende Version von. NETKern.

Xamarin

Für Xamarin finden Sie die Anweisungen unter xamarin/cross-platform/app-fundamentals/https://learn.microsoft.com/en-us/. 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 Implementierung von/auf Native 1.2+ gesetzt sein. SSL TLS 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/ScriptingRuntimeUpgradeDokumentation/Manual/ .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 NETCore 3.1 wird nur in Browsern unterstützt, die dies unterstützen, wie unter WebAssembly aspnet/core/blazor/supported-platforms beschrieben. https://learn.microsoft.com/en-us/ Alle WebAssembly gängigen Browser TLS unterstützten 1.2 vor der Unterstützung. 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.