Blogs

การเปิดการใช้งาน HSTS ใน WordPress

สำหรับมาตรฐานอินเตอร์เน็ตที่ผ่านมา หลายๆคน จะคุ้ยเคยกับ HTTP มาก่อน เพราะในช่วงที่อินเตอร์เน็ตเข้ามาช่วงแรก ใช้มาตรฐาน HTTP protocol ในการสื่อสาร แต่ข้อเสียคือ หากโดนดักข้อมูลเพื่อต้องการจะดูข้อมูลในการส่งก็จะสามารถทำได้ง่าย ทำให้มาตรฐานนี้มีความปลอดภัยต่ำ และ ทางได้พัฒนามาตรฐาน HTTPS เพื่อให้มีการเข้ารหัสระหว่างการรับส่งข้อมูล แต่ก็ยังเจอปัญหา SSLstrip เป็นหนึ่งในวิธีที่นิยมใช้กันในการทำ Man-in-the-middle เพื่อต้องการดูข้อมูล โดยแบ่ง https ออกระหว่างทางให้กลายเป็น http แล้วคราวนี้ attacker ก็แอบอ่านเหมือนเดิม  และหลายเว็บไซต์ การทำ HTTPS ก็ยังเป็นวิธีที่ใช้การเอา HTTPS มาครอบ HTTP ไว้เท่านั้น ไฟล js css  ข้อมูลภายในก็ยังเป็น HTTP เช่นเดิม  คราวนี้ ก็เลยมี มาตรฐานอินเตอร์เน็ตออกใหม่ HTTP Strict Transport Security (HSTS) เป็นการเพิ่มมาตรฐานในการส่งข้อมูลมากขึ้นโดยจะให้มีการระบุให้ส่งข้อมูลผ่าน HTTPS เท่านั้นและ ระบุเวลา cached in the browser ไปด้วย และเมื่อหมดเวลาก็จะมีการส่งคำสั่งไปใหม่ คร่าวๆการทำงานก็จะประมาณนี้ หากใครสนใจเพิ่มเติมลองไปศึกษาเพิ่มเติมกันได้ เกี่ยวกับ HSTSสำหรับวันนี้ผมจะมาสอน การเปิดการใช้งาน HSTS ใน WordPress เราสามารถทำได้อย่างไร เราไปดูกันเลยครับ

การเปิดการใช้งาน HTTP STRICT TRANSPORT SECURITY (HSTS) ใน WordPress

สำหรับการเปิดการใช้งาน ใหเราทำการเพิ่มคำสั่ง Scripts นี้ ลงไปในไฟล์ .htaccess ใน Server ที่เราใช้งาน

# Enable HSTS on WordPress blog
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS

1. คำสั่ง นี้จะสั่งให้ส่งข้อมูลกันแบบ Strict-Transport-Security  เท่านั้น!
2. max-age = กำหนดเวลา cached in the browser  หลัง Request ไป !
3.บังคับใช้ใน SubDomains ด้วยไม่มีการเว้นแต่อย่างใด

สำหรับมาตรฐานนี้เว็บบราวเซอร์ที่รองรับในปัจจุบัน

หลักจากทำการติดตั้งเรียบร้อย ทำการลบ cached in the browser และเพื่อตรวจสอบว่าเราทำการติดตั้งสำเร็จ ให้ทำการลองตรวจสอบผ่าน ลิงค์

เมื่อผลการทดสอบออกมา จาก HTS header Report จะสังเกตุได้คือ จะมีการเพิ่ม strict-transport-security  ขึ้นมาแล้ว แสดงว่าเว็บไซต์ของเรามีการใช้งาน HSTS เรียบร้อยแล้ว และมีการรายงาน Score เป็น  A  สีเขียว

หมายเหตุ

สำหรับใครที่ต้องการจะใช้ HSTS เว็บไซต์ต้องเป็น HTTPS มาก่อนไม่สามารถทำจาก HTTP ปกติได้ ให้ทำการตรวจสอบ Server ต้องใส่ SSL ถูกต้อง