การรักษาความปลอดภัยของเว็บไซต์เป็นสิ่งสำคัญ โดยเฉพาะในยุคที่การโจมตีทางไซเบอร์เพิ่มมากขึ้น Security Headers เป็นหนึ่งในวิธีที่ง่ายและมีประสิทธิภาพในการปกป้องเว็บไซต์ของคุณจากภัยคุกคาม เช่น การโจมตีแบบ Cross-Site Scripting (XSS), Clickjacking และการดักจับข้อมูล (Sniffing)
Security Headers คืออะไร?
Security Headers คือชุดของคำสั่งที่เว็บเซิร์ฟเวอร์ส่งไปยังเว็บเบราว์เซอร์ เพื่อกำหนดนโยบายความปลอดภัยในระหว่างที่ผู้ใช้เข้าชมเว็บไซต์ ตัวอย่างเช่น การบังคับให้เชื่อมต่อผ่าน HTTPS หรือการป้องกันการประมวลผลเนื้อหาแบบไม่ปลอดภัย
ประเภทของ Security Headers ที่สำคัญ
- Content-Security-Policy (CSP)
- ป้องกันการโจมตีประเภท Cross-Site Scripting (XSS) และการฝังโค้ดอันตราย
- ตัวอย่างการใช้งาน
Header set Content-Security-Policy "default-src 'self';"
- คำสั่งนี้จะอนุญาตให้โหลดเนื้อหาจากโดเมนของตัวเองเท่านั้น
- X-XSS-Protection
- ป้องกันการโจมตีแบบ XSS โดยบังคับให้เบราว์เซอร์บล็อกหน้าเว็บที่มีโค้ดอันตราย
- ตัวอย่างการใช้งาน
Header set X-XSS-Protection "1; mode=block"
- X-Content-Type-Options
- ป้องกันเบราว์เซอร์จากการเดาประเภทของไฟล์ที่อาจนำไปสู่การโจมตี
- ตัวอย่างการใช้งาน
Header set X-Content-Type-Options "nosniff"
- Strict-Transport-Security (HSTS)
- บังคับให้ผู้ใช้เชื่อมต่อผ่าน HTTPS เสมอ
- ตัวอย่างการใช้งาน
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
- Referrer-Policy
- ควบคุมข้อมูล Referrer ที่เบราว์เซอร์ส่งไปยังเว็บไซต์อื่น
- ตัวอย่างการใช้งาน
Header set Referrer-Policy "strict-origin-when-cross-origin"
- Permissions-Policy
- ควบคุมการเข้าถึงฟีเจอร์ของเบราว์เซอร์ เช่น กล้อง, ไมโครโฟน, และตำแหน่งที่ตั้ง
- ตัวอย่างการใช้งาน
Header set Permissions-Policy "geolocation=(), microphone=(), camera=()"
วิธีการตั้งค่า Security Headers
1. เพิ่มในไฟล์ .htaccess
(สำหรับเซิร์ฟเวอร์ Apache)
คุณสามารถเพิ่ม Security Headers ได้ในไฟล์ .htaccess
ที่อยู่ใน root directory ของเว็บไซต์:
# Security Headers
Header set Content-Security-Policy "upgrade-insecure-requests"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "geolocation=(), microphone=(), camera=()"
2. ใช้ปลั๊กอิน (สำหรับ WordPress)
หากคุณใช้ WordPress สามารถติดตั้งปลั๊กอิน เช่น HTTP Headers หรือ iThemes Security เพื่อเพิ่ม Security Headers ได้โดยไม่ต้องแก้ไขโค้ด
3. เพิ่มผ่านโค้ด PHP
ในเว็บไซต์ที่ใช้ PHP คุณสามารถเพิ่ม Security Headers ได้ในไฟล์ functions.php
หรือไฟล์หลักของระบบ:
header("Content-Security-Policy: upgrade-insecure-requests");
header("X-XSS-Protection: 1; mode=block");
header("X-Content-Type-Options: nosniff");
header("Strict-Transport-Security: max-age=31536000; includeSubDomains; preload");
header("Referrer-Policy: strict-origin-when-cross-origin");
header("Permissions-Policy: geolocation=(), microphone=(), camera=()");
ตรวจสอบการทำงานของ Security Headers
หลังจากเพิ่ม Security Headers แล้ว คุณสามารถตรวจสอบได้ว่าทำงานถูกต้องหรือไม่โดยใช้เครื่องมือต่อไปนี้:
สรุป
การเพิ่ม Security Headers เป็นขั้นตอนสำคัญในการปกป้องเว็บไซต์ของคุณจากการโจมตีประเภทต่าง ๆ แม้จะเป็นการตั้งค่าที่ไม่ซับซ้อน แต่สามารถลดความเสี่ยงได้อย่างมาก อย่าลืมตรวจสอบว่าเซิร์ฟเวอร์ของคุณรองรับโมดูลที่จำเป็น เช่น mod_headers
และใช้ HTTPS ในการเชื่อมต่อเพื่อให้การตั้งค่าทำงานได้อย่างสมบูรณ์
Share this content: