Security Headers

HSTS คืออะไร และควรเปิดใช้งานหรือไม่

A
admin
17 กรกฎาคม 2568 1 ครั้ง
แชร์:

HSTS คืออะไร

HTTP Strict Transport Security (HSTS) กำหนดใน RFC 6797 เป็นกลไกที่ให้เซิร์ฟเวอร์บอกเบราว์เซอร์ว่าโฮสต์นี้ต้องใช้ HTTPS เท่านั้นเป็นเวลา max-age วินาที

การทำงาน

1. ผู้ใช้เข้าเว็บผ่าน HTTPS สำเร็จ
2. เซิร์ฟเวอร์ส่ง Strict-Transport-Security
3. เบราว์เซอร์บันทึกโฮสต์ไว้ใน HSTS cache
4. ครั้งถัดไปแม้ผู้ใช้พิมพ์ http:// เบราว์เซอร์จะอัปเกรดเป็น HTTPS ก่อนส่งคำขอ

HSTS จึงช่วยลด SSL stripping บนเครือข่ายที่ไม่น่าเชื่อถือ หลังจากเยี่ยมชมครั้งแรกที่ปลอดภัยแล้ว

HSTS Preload

รายการ preload ของ Chromium ถูกฝังในเบราว์เซอร์หลัก ทำให้โดเมนใช้ HTTPS ตั้งแต่ครั้งแรก เงื่อนไขปัจจุบันประกาศที่ hstspreload.org โดยสรุปต้องมี

  • ใบรับรองที่ถูกต้องและ redirect HTTP ไป HTTPS
  • max-age อย่างน้อย 31536000 (หนึ่งปี)
  • includeSubDomains
  • คำว่า preload
code
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

การถอนจาก preload list ใช้เวลาตามรอบอัปเดตเบราว์เซอร์ ไม่ใช่ทันที

ข้อควรระวัง

  • เปิด HSTS เมื่อ HTTPS ทำงานครบทุกเส้นทางแล้ว
  • includeSubDomains จะบังคับ HTTPS กับทุกซับโดเมน รวมโฮสต์ภายในที่อาจยังไม่มีใบรับรอง
  • ส่ง HSTS เฉพาะบนคำตอบ HTTPS อย่าส่งบน HTTP ตาม RFC 6797

แนะนำให้เริ่มจาก max-age สั้น เช่น 5 นาที ระหว่างทดสอบ แล้วค่อยเพิ่มเป็นหนึ่งปีเมื่อมั่นใจ

สรุป

HSTS ควรเปิดบนเว็บที่ให้บริการสาธารณะผ่าน HTTPS แล้ว Preload เป็นทางเลือกเมื่อองค์กรพร้อมผูกโดเมนทั้งโซนกับ HTTPS ระยะยาว

แหล่งอ้างอิง

หมวดหมู่: Security Headers