Menegakkan TLS versi minimum di AWS SDK for .NET - AWS SDK for .NET

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menegakkan TLS versi minimum di AWS SDK for .NET

Untuk meningkatkan keamanan saat berkomunikasi dengan AWS layanan, Anda harus mengkonfigurasi AWS SDK for .NET untuk menggunakan TLS 1.2 atau yang lebih baru.

AWS SDK for .NET Menggunakan yang mendasarinya. NETruntime untuk menentukan protokol keamanan mana yang akan digunakan. Secara default, versi saat ini dari. NETgunakan protokol terkonfigurasi terbaru yang didukung sistem operasi. Aplikasi Anda dapat mengesampingkan SDK perilaku ini, tetapi tidak disarankan untuk melakukannya.

. NETInti

Secara default,. NET Core menggunakan protokol terkonfigurasi terbaru yang didukung sistem operasi. AWS SDK for .NET Tidak menyediakan mekanisme untuk mengesampingkan ini.

Jika Anda menggunakan. NET Versi inti lebih awal dari 2.1, kami sangat menyarankan Anda meningkatkan versi Anda. NET Versi inti.

Lihat berikut ini untuk informasi spesifik untuk setiap sistem operasi.

Windows

Distribusi modern Windows memiliki dukungan TLS 1.2 yang diaktifkan secara default. Jika Anda menjalankan Windows 7 SP1 atau Windows Server 2008 R2SP1, Anda perlu memastikan bahwa dukungan TLS 1.2 diaktifkan di registri, seperti yang dijelaskan di https://learn.microsoft.com/en-us/windows- server/security/tls/tls -registry-settings #tls -12. Jika Anda menjalankan distribusi sebelumnya, Anda harus meng-upgrade sistem operasi Anda. Untuk informasi tentang dukungan TLS 1.3 di Windows, periksa dokumentasi Microsoft terbaru untuk versi klien atau server minimum yang diperlukan.

macOS

Jika kau berlari. NET Core 2.1 atau yang lebih baru, TLS 1.2 diaktifkan secara default. TLS1.2 didukung oleh OS X Mavericks v10.9 atau yang lebih baru. NET Core versi 2.1 dan yang lebih baru memerlukan versi macOS yang lebih baru, seperti yang dijelaskan di? https://learn.microsoft.com/en-us/ dotnet/core/install/windows tabs=net80&pivots=os-macos.

Jika Anda menggunakan. NET Inti 1.0,. NET Core menggunakan Open SSL di macOS, dependensi yang harus diinstal secara terpisah. Buka dukungan SSL tambahan untuk TLS 1.2 di versi 1.0.1, dan menambahkan dukungan untuk TLS 1.3 di versi 1.1.1.

Linux

. NETCore di Linux membutuhkan OpenSSL, yang dibundel dengan banyak distribusi Linux. Tapi itu juga bisa dipasang secara terpisah. Buka dukungan SSL tambahan untuk TLS 1.2 di versi 1.0.1, dan menambahkan dukungan untuk TLS 1.3 di versi 1.1.1. Jika Anda menggunakan versi modern. NET Core (2.1 atau yang lebih baru) dan telah menginstal manajer paket, kemungkinan versi Open SSL yang lebih modern diinstal untuk Anda.

Yang pasti, Anda dapat menjalankan openssl versiondi terminal dan memverifikasi bahwa versinya lebih lambat dari 1.0.1.

. NETKerangka

Jika Anda menjalankan versi modern. NET Framework (4.7 atau yang lebih baru) dan versi modern Windows (setidaknya Windows 8 untuk klien, Windows Server 2012 atau yang lebih baru untuk server), TLS 1.2 diaktifkan dan digunakan secara default.

Jika Anda menggunakan. NET Framework runtime yang tidak menggunakan pengaturan sistem operasi (. NETFramework 3.5 hingga 4.5.2), AWS SDK for .NET akan mencoba menambahkan dukungan untuk TLS 1.1 dan TLS 1.2 ke protokol yang didukung. Jika Anda menggunakan. NET Framework 3.5, ini akan berhasil hanya jika hot patch yang sesuai diinstal, sebagai berikut:

Awas

Mulai 15 Agustus 2024, dukungan AWS SDK for .NET akan berakhir untuk. NET Framework 3.5 dan akan mengubah minimum. NET Versi kerangka ke 4.7.2. Untuk informasi lebih lanjut, lihat posting blog Perubahan penting yang akan datang. NET Framework 3.5 dan 4.5 target AWS SDK for .NET.

Jika aplikasi Anda berjalan pada yang lebih baru. NET Framework pada Windows 7 SP1 atau Windows Server 2008 R2SP1, Anda perlu memastikan bahwa dukungan TLS 1.2 diaktifkan di registri, seperti yang dijelaskan di https://learn.microsoft.com/en-us/windows- server/security/tls/tls -registry-settings #tls -12. Versi Windows yang lebih baru telah mengaktifkannya secara default.

Untuk praktik terbaik terperinci untuk digunakan TLS dengan. NET Framework, lihat artikel Microsoft di https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls.

AWS Tools for PowerShell

AWS Tools for PowerShellgunakan AWS SDK for .NET untuk semua panggilan ke AWS layanan. Perilaku lingkungan Anda tergantung pada versi Windows yang PowerShell Anda jalankan, sebagai berikut.

Windows PowerShell 2.0 hingga 5.x

Windows PowerShell 2.0 hingga 5.x dijalankan. NET Kerangka kerja. Anda dapat memverifikasi yang mana. NETruntime (2.0 atau 4.0) sedang digunakan PowerShell dengan menggunakan perintah berikut.

$PSVersionTable.CLRVersion
  • Saat menggunakan. NET Runtime 2.0, ikuti petunjuk yang diberikan sebelumnya mengenai AWS SDK for .NET dan. NET Kerangka 3.5.

    Awas

    Mulai 15 Agustus 2024, dukungan AWS SDK for .NET akan berakhir untuk. NET Framework 3.5 dan akan mengubah minimum. NET Versi kerangka ke 4.7.2. Untuk informasi lebih lanjut, lihat posting blog Perubahan penting yang akan datang. NET Framework 3.5 dan 4.5 target AWS SDK for .NET.

  • Saat menggunakan. NET Runtime 4.0, ikuti petunjuk yang diberikan sebelumnya mengenai AWS SDK for .NET dan. NET Kerangka kerja 4+.

Windows PowerShell 6.0

Windows PowerShell 6.0 dan yang lebih baru berjalan. NET Inti. Anda dapat memverifikasi versi mana. NET Core sedang digunakan dengan menjalankan perintah berikut.

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

Ikuti instruksi yang diberikan sebelumnya mengenai AWS SDK for .NET dan versi yang relevan dari. NET Inti.

Xamarin

Untuk Xamarin, lihat petunjuk di https://learn.microsoft.com/en-us/ xamarin/cross-platform/app-fundamentals/transport -layer-security. Ringkasnya:

Untuk Android

  • Membutuhkan Android 5.0 atau yang lebih baru.

  • Properties Proyek, Opsi Android: HttpClient implementasi harus disetel ke Android dan TLS implementasiSSL/disetel ke Native TLS 1.2+.

Untuk iOS

  • Memerlukan iOS 7 atau yang lebih baru.

  • Project Properties, iOS Build: HttpClient implementasi harus disetel ke NSUrlSession.

Untuk macOS

  • Memerlukan macOS 10.9 atau yang lebih baru.

  • Project Options, Build, Mac Build: HttpClient implementasi harus diatur ke NSUrlSession.

Unity

Anda harus menggunakan Unity 2018.2 atau yang lebih baru, dan menggunakan file. NET4.x Runtime skrip yang setara. Anda dapat mengatur ini di Pengaturan Proyek, Konfigurasi, Pemain, seperti yang dijelaskan https://docs.unity3d.com/2019.1/Documentation/Manual/ScriptingRuntimeUpgradedi.html. Itu. NET4.x Runtime scripting setara memungkinkan dukungan TLS 1.2 untuk semua platform Unity yang menjalankan Mono atau. IL2CPP

Browser (untuk Blazor WebAssembly)

WebAssembly berjalan di browser bukan di server, dan menggunakan browser untuk menangani HTTP lalu lintas. Oleh karena itu, TLS dukungan ditentukan oleh dukungan browser.

Blazor WebAssembly, dalam pratinjau untuk. ASP NET Core 3.1, hanya didukung di browser yang mendukung WebAssembly, seperti yang dijelaskan di https://learn.microsoft.com/en-us/aspnet/core/blazor/supported-platform. Semua browser mainstream didukung TLS 1.2 sebelum mendukung WebAssembly. Jika ini adalah kasus untuk browser Anda, maka jika aplikasi Anda berjalan, itu dapat berkomunikasi lebih dari TLS 1.2.

Lihat dokumentasi browser Anda untuk informasi dan verifikasi selengkapnya.