<aside>
</aside>
<aside>
<aside> 💡

</aside>
คู่มือนี้จัดทำขึ้นเพื่อเป็นแนวทางสำหรับผู้ดูแลระบบในการตรวจสอบและกำหนดค่าเว็บไซต์ให้รองรับ Transport Layer Security (TLS) Version 1.3 เพื่อยกระดับความมั่นคงปลอดภัยในการรับส่งข้อมูลระหว่างผู้ใช้งานกับระบบเว็บไซต์ และลดความเสี่ยงจากการใช้งานโปรโตคอล TLS เวอร์ชันเก่าที่ไม่ปลอดภัย
การจัดทำคู่มือนี้อ้างอิงแนวทางและข้อเสนอแนะของ สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.) และศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) โดยมีแนวทางสำคัญ ได้แก่
ข้อควรระวัง: ก่อนปรับปรุงระบบ Production ควรสำรอง Configuration เดิม และตรวจสอบความเข้ากันได้ของ Application, Web Server, Reverse Proxy, Load Balancer, API และอุปกรณ์ที่เกี่ยวข้อง เพื่อป้องกันผลกระทบต่อระบบที่ยังไม่รองรับ TLS 1.2 หรือ TLS 1.3
แหล่งอ้างอิง : https://www.thaicert.or.th/2026/08/15/สกมช-แนะหน่วยงานอัปเดตร/
ดำเนินการคำสั่ง
nginx -v
และตรวจสอบ OpenSSL
openssl version
ระบบและ Library ที่ใช้งานต้องรองรับ TLS 1.3
ตัวอย่าง
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
หาก Configuration ของเว็บไซต์แยกเป็นไฟล์ ควรสำรองไฟล์ดังกล่าวด้วย
ค้นหา Configuration ของเว็บไซต์ที่ให้บริการ HTTPS และกำหนด
ssl_protocols TLSv1.2 TLSv1.3;
ตัวอย่าง
server {
listen 443 ssl;
server_name example.moph.go.th;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
# Configuration อื่น ๆ
}
ไม่ควรกำหนด
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
เนื่องจากเป็นการเปิดใช้งาน TLS 1.0 และ TLS 1.1
nginx -t
หากไม่พบข้อผิดพลาด ให้ Reload
systemctl reload nginx
httpd -v
หรือ
apache2 -v
ตรวจสอบ OpenSSL
openssl version
ตำแหน่ง Configuration แตกต่างกันตามระบบปฏิบัติการ เช่น
/etc/httpd/
/etc/apache2/
ควรสำรอง Configuration ก่อนดำเนินการ
ค้นหา Configuration ของ SSL VirtualHost และกำหนด
SSLProtocol-all+TLSv1.2+TLSv1.3
ตัวอย่าง
<VirtualHost *:443>
ServerName example.moph.go.th
SSLEngineon
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/private.key
SSLProtocol-all+TLSv1.2+TLSv1.3
</VirtualHost>
RHEL / Rocky Linux / AlmaLinux
apachectl configtest
จากนั้น
systemctl reload httpd
Ubuntu / Debian
apache2ctl configtest
จากนั้น
systemctl reload apache2
สำหรับ Microsoft IIS การรองรับ TLS ขึ้นอยู่กับ Windows Server และ Schannel ของระบบปฏิบัติการ
ก่อนดำเนินการควรตรวจสอบว่า Windows Server Version ที่ใช้งานรองรับ TLS 1.3
กด
Windows + R
พิมพ์
regedit
จากนั้นไปยัง
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\SecurityProviders
\SCHANNEL
\Protocols
สร้างโครงสร้าง
TLS 1.3
├── Client
└── Server
ภายใต้
SCHANNEL\Protocols
สำหรับ
TLS 1.3\Server
สร้างค่า DWORD (32-bit)
Enabled
กำหนดค่า
1
และสร้าง
DisabledByDefault
กำหนดค่า
0
สามารถกำหนดใน
TLS 1.0\Server
TLS 1.1\Server
โดยกำหนด
Enabled = 0
DisabledByDefault = 1
สำคัญ: การแก้ไข Schannel มีผลต่อบริการอื่นบน Windows Server ด้วย ไม่ใช่เฉพาะ IIS จึงควรตรวจสอบ Application หรือ Service อื่นที่ใช้งาน TLS ก่อนดำเนินการ
หลังเปลี่ยนค่าอาจจำเป็นต้อง Restart Windows Server เพื่อให้ Configuration มีผลสมบูรณ์
หากเว็บไซต์ใช้งาน Cloudflare Proxy การเชื่อมต่อแบ่งออกเป็น 2 ส่วน
ผู้ใช้งาน
│
│ TLS
▼
Cloudflare
│
│ TLS
▼
Origin Server
</aside>