Mengelola protokol SSL/TLS dan cipher suite untuk Layanan Federasi Direktori Aktif

Dokumentasi berikut ini menyediakan informasi tentang cara menonaktifkan dan mengaktifkan protokol TLS/SSL tertentu dan cipher suite yang digunakan Layanan Federasi Direktori Aktif (AD FS).

Suite TLS/SSL, Schannel, dan sandi di Layanan Federasi Direktori Aktif

Protokol Keamanan Lapisan Transportasi (TLS) menyediakan komunikasi aman terenkripsi melalui jaringan. Protokol Secure Sockets Layer (SSL) mengenkripsi pertukaran data sensitif yang dikirimkan antara server web dan browser web yang mirip dengan TLS. Layanan Federasi Direktori Aktif (AD FS) menggunakan protokol ini untuk komunikasi. Saat ini, ada beberapa versi protokol ini.

Security Channel (Schannel) adalah Penyedia Dukungan Keamanan (SSP) yang mengimplementasikan protokol autentikasi standar internet SSL, TLS, dan DTLS. Antarmuka Penyedia Dukungan Keamanan (SSPI) adalah API yang digunakan oleh sistem Windows untuk melakukan fungsi terkait keamanan termasuk autentikasi. SSPI berfungsi sebagai antarmuka umum untuk beberapa SSP, termasuk Schannel SSP.

Rangkaian sandi adalah sekumpulan algoritma kriptografi. Implementasi Schannel SSP dari protokol TLS/SSL menggunakan algoritma dari rangkaian sandi untuk membuat kunci dan mengenkripsi informasi. Cipher suite menentukan satu algoritma untuk setiap tugas berikut:

  • Pertukaran kunci
  • Enkripsi massal
  • Autentikasi pesan

Layanan Federasi Direktori Aktif menggunakan Schannel.dll untuk melakukan interaksi komunikasi yang aman. Saat ini Layanan Federasi Direktori Aktif mendukung semua protokol dan cipher suite yang didukung Schannel.dll.

Mengelola protokol TLS/SSL dan cipher suite

Penting

Bagian ini berisi langkah-langkah yang memberi tahu Anda cara mengubah registri. Namun, masalah serius mungkin terjadi jika Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah ini secara cermat.

Ketahuilah bahwa mengubah pengaturan keamanan default untuk SCHANNEL dapat merusak atau mencegah komunikasi antara klien dan server tertentu. Ini terjadi jika komunikasi aman diperlukan dan mereka tidak memiliki protokol untuk menegosiasikan komunikasi dengan.

Jika Anda menerapkan perubahan ini, perubahan tersebut harus diterapkan ke semua server Layanan Federasi Direktori Aktif Anda di farm Anda. Setelah menerapkan perubahan ini, reboot diperlukan.

Di hari dan usia saat ini, memperkuat server Anda dan menghapus suite sandi yang lebih tua atau lemah menjadi prioritas utama bagi banyak organisasi. Suite perangkat lunak tersedia yang menguji server Anda dan memberikan informasi terperinci tentang protokol dan suite ini. Agar tetap patuh atau mencapai peringkat yang aman, menghapus atau menonaktifkan protokol yang lebih lemah atau cipher suite telah menjadi suatu keharusan. Sisa dokumen ini memberikan panduan tentang cara mengaktifkan atau menonaktifkan protokol dan cipher suite tertentu.

Kunci registri berikut terletak di lokasi yang sama: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Gunakan Editor Registri atau PowerShell untuk mengaktifkan atau menonaktifkan protokol dan cipher suite ini.

Screenshot of the Registry Editor showing the registry keys located in the Protocols folder.

Mengaktifkan dan menonaktifkan SSL 3.0

Gunakan kunci registri berikut dan nilainya untuk mengaktifkan dan menonaktifkan SSL 3.0.

Mengaktifkan SSL 3.0

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server Aktif 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client Aktif 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client DisabledByDefault 00000000

Menonaktifkan SSL 3.0

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client DisabledByDefault 00000001

Menggunakan PowerShell untuk menonaktifkan SSL 3.0

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'SSL 3.0 has been disabled.'

Mengaktifkan dan menonaktifkan TLS 1.0

Gunakan kunci registri berikut dan nilainya untuk mengaktifkan dan menonaktifkan TLS 1.0.

Penting

Menonaktifkan TLS 1.0 merusak kepercayaan WAP ke Layanan Federasi Direktori Aktif. Jika Anda menonaktifkan TLS 1.0, Anda harus mengaktifkan autentikasi yang kuat untuk aplikasi Anda. Untuk informasi selengkapnya, lihat Mengaktifkan autentikasi yang kuat untuk aplikasi .NET

Mengaktifkan TLS 1.0

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Aktif 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Aktif 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 00000000

Nonaktifkan TLS 1.0

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Diaktifkan"=000000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault 00000001

Menggunakan PowerShell untuk menonaktifkan TLS 1.0

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.0 has been disabled.'

Mengaktifkan dan menonaktifkan TLS 1.1

Gunakan kunci registri berikut dan nilainya untuk mengaktifkan dan menonaktifkan TLS 1.1.

Mengaktifkan TLS 1.1

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Aktif 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Aktif 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 00000000

Nonaktifkan TLS 1.1

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault 00000001

Menggunakan PowerShell untuk menonaktifkan TLS 1.1

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.1 has been disabled.'

Menonaktifkan TLS 1.2

TLS 1.2 diaktifkan secara default dimulai dengan Windows Server 2012. Anda dapat menggunakan kunci registri berikut dan nilainya untuk menonaktifkan TLS 1.2.

Catatan

Tidak disarankan untuk menonaktifkan TLS 1.2.

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Aktif 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault 00000001

Menggunakan PowerShell untuk menonaktifkan TLS 1.2

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.2 has been disabled.'

Mengaktifkan atau menonaktifkan hash, cipher, dan cipher suite

Mengontrol cipher, hash, dan algoritma pertukaran kunci, selain Ukuran kunci, melalui registri tidak didukung. Hash, sandi, dan algoritma pertukaran kunci dikontrol melalui PowerShell, MDM, atau Cipher Suite Ordering.

Untuk daftar lengkap suite sandi yang didukung, lihat Cipher Suites di TLS/SSL (Schannel SSP). Artikel ini menyediakan tabel suite yang diaktifkan secara default, dan menunjukkan suite mana yang didukung tetapi tidak diaktifkan secara default. Untuk memprioritaskan suite sandi, lihat Memprioritaskan Schannel Cipher Suites.

Mengaktifkan autentikasi yang kuat untuk aplikasi .NET

Aplikasi .NET Framework 3.5/4.0/4.5.x dapat mengalihkan protokol default ke TLS 1.2 dengan mengaktifkan kunci registri SchUseStrongCrypto. Kunci registri ini memaksa aplikasi .NET untuk menggunakan TLS 1.2.

Penting

Untuk Layanan Federasi Direktori Aktif di Windows Server 2016 dan Windows Server 2012 R2, Anda perlu menggunakan kunci .NET Framework 4.0/4.5.x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\. NETFramework\v4.0.30319

Untuk .NET Framework 3.5, gunakan kunci registri berikut:

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\. NETFramework\v2.0.50727 SchUseStrongCrypto 00000001

Untuk .NET Framework 4.0/4.5.x, gunakan kunci registri berikut:

Jalur Nama Nilai Data Nilai
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\. NETFramework\v4.0.30319 SchUseStrongCrypto 00000001

Screenshot of Registry Editor that highlights the SchUseStrongCrypto key

New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null

Informasi Tambahan