ค้นหาเว็บไซต์

วิธีเปิดใช้งาน TLS 1.2/TLS 1.3 บน Windows Server


เรียนรู้วิธีเปิดใช้งาน TLS 1.2 และ TLS 1.3 บน Windows Server และปิดใช้งานโปรโตคอล TLS เวอร์ชันเก่า คุณต้องการสื่อสารที่ปลอดภัยผ่าน Windows Server ของคุณ และในการทำเช่นนั้น คุณต้องเปิดใช้งาน TLS 1.2/TLS 1.3 และปิดการใช้งาน TLS เวอร์ชันเก่า หากคุณมีโปรโตคอล SSL ที่ใช้งานอยู่ คุณควรปิดการใช้งานโปรโตคอลเหล่านี้ด้วย ในบทความนี้ เราจะเปิดใช้งาน TLS 1.2 และ TLS 1.3 บน Windows Server

Transport Layer Security คืออะไร

Transport Layer Security (TLS) และ Secure Sockets Layer (SSL) ซึ่งเป็นรุ่นก่อนหน้านี้ที่เลิกใช้แล้ว เป็นโปรโตคอลการเข้ารหัสที่ออกแบบมาเพื่อให้ความปลอดภัยในการสื่อสารผ่านเครือข่ายคอมพิวเตอร์ โปรโตคอลหลายเวอร์ชันมีการใช้งานอย่างแพร่หลายในแอปพลิเคชัน เช่น การท่องเว็บ อีเมล การส่งข้อความโต้ตอบแบบทันที และระบบเสียงผ่าน IP (VoIP) เว็บไซต์สามารถใช้ TLS เพื่อรักษาความปลอดภัยการสื่อสารทั้งหมดระหว่างเซิร์ฟเวอร์และเว็บเบราว์เซอร์ได้

แนวทางปฏิบัติที่ดีที่สุดของ Windows Server TLS

หมายเหตุ: อนุมัติเฉพาะ TLS 1.3 และ TLS 1.2 เท่านั้น โปรโตคอล TLS 1.3 มีให้เปิดใช้งานใน Windows Server 2022 หรือใหม่กว่าเท่านั้น

Windows Server 2019 และต่ำกว่า

เปิดใช้งาน TLS 1.2 เท่านั้นเพื่อการรักษาความปลอดภัยที่ดีที่สุดบน Windows Server 2019 และเวอร์ชันที่ต่ำกว่า ปิดการใช้งานโปรโตคอลอื่น ๆ ทั้งหมด

ProtocolStatusEnableDisable
TLS 1.3ActiveX✓
TLS 1.2Active✓☓
TLS 1.1Deprecated☓✓
TLS 1.0Deprecated☓✓
SSL 3Deprecated☓✓
SSL 2Deprecated☓✓

Windows Server 2022 และสูงกว่า

เปิดใช้งานเฉพาะ TLS 1.2 และ TLS 1.3 เพื่อการรักษาความปลอดภัยที่ดีที่สุดใน Windows Server 2022 และเวอร์ชันที่ใหม่กว่า ปิดการใช้งานโปรโตคอลอื่น ๆ ทั้งหมด

ProtocolStatusEnableDisable
TLS 1.3Active✓☓
TLS 1.2Active✓☓
TLS 1.1Deprecated☓✓
TLS 1.0Deprecated☓✓
SSL 3Deprecated☓✓
SSL 2Deprecated☓✓

ตรวจสอบการตั้งค่า TLS บน Windows Server

เรียกใช้สคริปต์ Get-TLS.ps1 PowerShell ซึ่งจะแสดงการกำหนดค่า TLS อ่านเพิ่มเติมในบทความตรวจสอบการตั้งค่า TLS บน Windows Server ด้วยสคริปต์ PowerShell

หลังจากรันสคริปต์บน Windows Server 2022 ผลลัพธ์ที่ได้จะเป็นดังนี้

Path                                                                                       Name                     Value    
----                                                                                       ----                     -----    
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                          SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                          SchUseStrongCrypto       Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319                              SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319                              SchUseStrongCrypto       Not Found
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                          SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                          SchUseStrongCrypto       Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727                              SystemDefaultTlsVersions Not Found
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727                              SchUseStrongCrypto       Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault        Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled                  Not Found
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault        Not Found

วิธีเปิดใช้งาน TLS 1.2 บน Windows Server

สคริปต์ Enable-TLS1.2 PowerShell จะตั้งค่าแนวทางปฏิบัติที่ดีที่สุดสำหรับการตั้งค่า TLS สำหรับ Windows Server:

  1. เปิดใช้งาน TLS 1.2
  2. เปิดใช้งาน TLS 1.2 สำหรับ .NET 4.x
  3. เปิดใช้งาน TLS 1.2 สำหรับ .NET 3.5
  4. ปิดการใช้งาน TLS 1.0
  5. ปิดการใช้งาน TLS 1.1
  6. ปิดการใช้งาน TLS 1.3

ดาวน์โหลดสคริปต์ PowerShell Enable-TLS1.2 และบันทึกไว้ในโฟลเดอร์ C:\scripts เรียกใช้ PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้สคริปต์ PowerShell

C:\scripts\.\Enable-TLS1.2.ps1

วิธีเปิดใช้งาน TLS 1.3 บน Windows Server

สคริปต์ Enable-TLS1.3 PowerShell จะตั้งค่าแนวทางปฏิบัติที่ดีที่สุดสำหรับการตั้งค่า TLS สำหรับ Windows Server:

  1. เปิดใช้งาน TLS 1.3
  2. เปิดใช้งาน TLS 1.2
  3. เปิดใช้งาน TLS 1.2 สำหรับ .NET 4.x
  4. เปิดใช้งาน TLS 1.2 สำหรับ .NET 3.5
  5. ปิดการใช้งาน TLS 1.0
  6. ปิดการใช้งาน TLS 1.1

ดาวน์โหลดสคริปต์ PowerShell Enable-TLS1.3 และบันทึกไว้ในโฟลเดอร์ C:\scripts เรียกใช้ PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้สคริปต์ PowerShell

C:\scripts\.\Enable-TLS1.3.ps1

ตรวจสอบว่าเปิดใช้งาน TLS 1.2 บน Window Server แล้ว

เรียกใช้สคริปต์ PowerShell Get-TLS.ps1 เพื่อตรวจสอบว่ามีเพียง TLS 1.2 เท่านั้นที่เปิดใช้งานบน Windows Server

Path                                                                                       Name                     Value
----                                                                                       ----                     -----
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                          SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                          SchUseStrongCrypto           1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319                              SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319                              SchUseStrongCrypto           1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                          SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                          SchUseStrongCrypto           1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727                              SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727                              SchUseStrongCrypto           1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled                      1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault            0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled                      1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault            0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled                      0

ตรวจสอบว่าเปิดใช้งาน TLS 1.3 บน Windows Server แล้ว

เรียกใช้สคริปต์ PowerShell Get-TLS.ps1 เพื่อตรวจสอบว่ามีเพียง TLS 1.3 และ TLS 1.2 เท่านั้นที่เปิดใช้งานบน Windows Server

Path                                                                                       Name                     Value
----                                                                                       ----                     -----
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                          SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                          SchUseStrongCrypto           1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319                              SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319                              SchUseStrongCrypto           1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                          SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                          SchUseStrongCrypto           1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727                              SystemDefaultTlsVersions     1
HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727                              SchUseStrongCrypto           1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server Enabled                      1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server DisabledByDefault            0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client Enabled                      1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client DisabledByDefault            0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server Enabled                      1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server DisabledByDefault            0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Enabled                      1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client DisabledByDefault            0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server DisabledByDefault            1
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client Enabled                      0
HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client DisabledByDefault            1

ทุกอย่างดูดี!

อ่านต่อ: ไม่สามารถติดตั้งผู้ให้บริการ NuGet สำหรับ PowerShell »

บทสรุป

คุณได้เรียนรู้วิธีเปิดใช้งาน TLS 1.2 และ TLS 1.3 บน Windows Server คุณยังได้เรียนรู้วิธีปิดการใช้งานโปรโตคอลที่เลิกใช้แล้ว ตรวจสอบการตั้งค่า TLS ด้วยสคริปต์ PowerShell ก่อนและหลังที่คุณใช้การเปลี่ยนแปลง หากเปิดใช้งานเฉพาะ TLS 1.2 หรือ TLS 1.3 ทุกอย่างก็โอเค

คุณสนุกกับบทความนี้หรือไม่? คุณอาจต้องการแพทช์ SIGRed ล้มเหลวใน Windows Server 2008 R2 อย่าลืมติดตามเราและแบ่งปันบทความนี้

บทความที่เกี่ยวข้อง