วิธีเปิดใช้งาน 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 และเวอร์ชันที่ต่ำกว่า ปิดการใช้งานโปรโตคอลอื่น ๆ ทั้งหมด
| Protocol | Status | Enable | Disable |
|---|---|---|---|
| TLS 1.3 | Active | X | ✓ |
| TLS 1.2 | Active | ✓ | ☓ |
| TLS 1.1 | Deprecated | ☓ | ✓ |
| TLS 1.0 | Deprecated | ☓ | ✓ |
| SSL 3 | Deprecated | ☓ | ✓ |
| SSL 2 | Deprecated | ☓ | ✓ |
Windows Server 2022 และสูงกว่า
เปิดใช้งานเฉพาะ TLS 1.2 และ TLS 1.3 เพื่อการรักษาความปลอดภัยที่ดีที่สุดใน Windows Server 2022 และเวอร์ชันที่ใหม่กว่า ปิดการใช้งานโปรโตคอลอื่น ๆ ทั้งหมด
| Protocol | Status | Enable | Disable |
|---|---|---|---|
| TLS 1.3 | Active | ✓ | ☓ |
| TLS 1.2 | Active | ✓ | ☓ |
| TLS 1.1 | Deprecated | ☓ | ✓ |
| TLS 1.0 | Deprecated | ☓ | ✓ |
| SSL 3 | Deprecated | ☓ | ✓ |
| SSL 2 | Deprecated | ☓ | ✓ |
ตรวจสอบการตั้งค่า 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:
- เปิดใช้งาน TLS 1.2
- เปิดใช้งาน TLS 1.2 สำหรับ .NET 4.x
- เปิดใช้งาน TLS 1.2 สำหรับ .NET 3.5
- ปิดการใช้งาน TLS 1.0
- ปิดการใช้งาน TLS 1.1
- ปิดการใช้งาน 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:
- เปิดใช้งาน TLS 1.3
- เปิดใช้งาน TLS 1.2
- เปิดใช้งาน TLS 1.2 สำหรับ .NET 4.x
- เปิดใช้งาน TLS 1.2 สำหรับ .NET 3.5
- ปิดการใช้งาน TLS 1.0
- ปิดการใช้งาน 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 อย่าลืมติดตามเราและแบ่งปันบทความนี้