ทำความเข้าใจกับ HTTP Security Headers

HTTP security headers คือคำสั่งที่ส่งมาจากเว็บเซิร์ฟเวอร์เพื่อบอกให้เบราว์เซอร์รู้ว่าควรจัดการกับเนื้อหาของเว็บไซต์อย่างไร โดยทำหน้าที่เป็นชั้นป้องกันที่สำคัญต่อการโจมตีทางเว็บที่พบบ่อย Strict-Transport-Security (HSTS) บังคับให้ใช้การเชื่อมต่อ HTTPS, Content-Security-Policy (CSP) ป้องกันการแทรกสคริปต์, X-Frame-Options บล็อกการโจมตีแบบ clickjacking และ X-Content-Type-Options หยุดการโจมตีแบบ MIME-type sniffing

การขาด security headers ทำให้เว็บไซต์เสี่ยงต่อรูปแบบการโจมตีที่เป็นที่รู้จักกันดี หากไม่มี HSTS ผู้ใช้อาจถูกลดระดับการเชื่อมต่อไปเป็น HTTP และถูกดักจับข้อมูลได้ หากไม่มี CSP สคริปต์ที่ถูกแทรกเข้ามาอาจขโมยข้อมูลของผู้ใช้ได้ และหากไม่มี X-Frame-Options ผู้โจมตีสามารถฝังเว็บไซต์ของคุณไว้ใน iframe ที่มองไม่เห็น เพื่อหลอกให้ผู้ใช้คลิกปุ่มที่ซ่อนอยู่

วิธีปรับปรุงระดับความปลอดภัยของคุณ

ตั้งค่า security headers บนเว็บเซิร์ฟเวอร์ของคุณ (Nginx, Apache, Caddy) หรือ CDN (Cloudflare, AWS CloudFront) เริ่มต้นด้วย headers ที่มีผลกระทบสูงสุดก่อน ได้แก่ HSTS ที่มีค่า max-age ยาวนาน, CSP แบบเข้มงวด, X-Frame-Options ที่ตั้งค่าเป็น DENY และ X-Content-Type-Options ที่ตั้งค่าเป็น nosniff ซึ่งส่วนใหญ่สามารถเพิ่มได้ด้วยการตั้งค่าเพียงบรรทัดเดียว