<aside>

</aside>

<aside>

<aside> 💡

image.png

</aside>

1. วัตถุประสงค์

คู่มือนี้จัดทำขึ้นเพื่อเป็นแนวทางสำหรับผู้ดูแลระบบในการตรวจสอบและกำหนดค่าเว็บไซต์ให้รองรับ 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/สกมช-แนะหน่วยงานอัปเดตร/


2. การตั้งค่า Nginx

2.1 ตรวจสอบ Version

ดำเนินการคำสั่ง

nginx -v

และตรวจสอบ OpenSSL

openssl version

ระบบและ Library ที่ใช้งานต้องรองรับ TLS 1.3

2.2 สำรอง Configuration

ตัวอย่าง

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

หาก Configuration ของเว็บไซต์แยกเป็นไฟล์ ควรสำรองไฟล์ดังกล่าวด้วย

2.3 กำหนด TLS Protocol

ค้นหา 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

2.4 ตรวจสอบ Configuration

nginx -t

หากไม่พบข้อผิดพลาด ให้ Reload

systemctl reload nginx

3. การตั้งค่า Apache HTTP Server

3.1 ตรวจสอบ Version

httpd -v

หรือ

apache2 -v

ตรวจสอบ OpenSSL

openssl version

3.2 สำรอง Configuration

ตำแหน่ง Configuration แตกต่างกันตามระบบปฏิบัติการ เช่น

/etc/httpd/
/etc/apache2/

ควรสำรอง Configuration ก่อนดำเนินการ

3.3 กำหนด TLS Protocol

ค้นหา 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>

3.4 ตรวจสอบ Configuration

RHEL / Rocky Linux / AlmaLinux

apachectl configtest

จากนั้น

systemctl reload httpd

Ubuntu / Debian

apache2ctl configtest

จากนั้น

systemctl reload apache2

4. การตั้งค่า Microsoft IIS

สำหรับ Microsoft IIS การรองรับ TLS ขึ้นอยู่กับ Windows Server และ Schannel ของระบบปฏิบัติการ

ก่อนดำเนินการควรตรวจสอบว่า Windows Server Version ที่ใช้งานรองรับ TLS 1.3

4.1 เปิด Registry Editor

กด

Windows + R

พิมพ์

regedit

จากนั้นไปยัง

HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\SecurityProviders
\SCHANNEL
\Protocols

4.2 การเปิด TLS 1.3

สร้างโครงสร้าง

TLS 1.3
 ├── Client
 └── Server

ภายใต้

SCHANNEL\Protocols

สำหรับ

TLS 1.3\Server

สร้างค่า DWORD (32-bit)

Enabled

กำหนดค่า

1

และสร้าง

DisabledByDefault

กำหนดค่า

0

4.3 ปิด TLS 1.0 และ TLS 1.1

สามารถกำหนดใน

TLS 1.0\Server
TLS 1.1\Server

โดยกำหนด

Enabled = 0
DisabledByDefault = 1

สำคัญ: การแก้ไข Schannel มีผลต่อบริการอื่นบน Windows Server ด้วย ไม่ใช่เฉพาะ IIS จึงควรตรวจสอบ Application หรือ Service อื่นที่ใช้งาน TLS ก่อนดำเนินการ

หลังเปลี่ยนค่าอาจจำเป็นต้อง Restart Windows Server เพื่อให้ Configuration มีผลสมบูรณ์


5. กรณีเว็บไซต์ใช้งาน Cloudflare

หากเว็บไซต์ใช้งาน Cloudflare Proxy การเชื่อมต่อแบ่งออกเป็น 2 ส่วน

ผู้ใช้งาน
    │
    │ TLS
    ▼
Cloudflare
    │
    │ TLS
    ▼
Origin Server

</aside>