วิธีเพิ่ม Security Header บน IIS Windows Server 2022 ให้ผ่าน Security Scan และเพิ่มความปลอดภัยเว็บไซต์
หลังจากติดตั้ง SSL Certificate, เปิด HTTPS และเปิด HSTS แล้ว ยังมีอีกหนึ่งหัวข้อสำคัญที่ผู้ดูแลระบบมักมองข้าม นั่นคือการเพิ่ม Security Header
Security Header คือ HTTP Header ที่ Web Server ส่งให้ Browser เพื่อกำหนดนโยบายด้านความปลอดภัยเพิ่มเติม ช่วยลดความเสี่ยงจากการโจมตีหลายรูปแบบ เช่น XSS, Clickjacking, MIME Sniffing และ Data Injection
ปัจจุบันเครื่องมือ Security Scan เช่น Qualys, Nessus, Acunetix, Detectify และ SecurityHeaders.com มักตรวจสอบ Header เหล่านี้เป็นอันดับแรก หากไม่มีการตั้งค่า เว็บไซต์อาจได้รับคะแนนความปลอดภัยต่ำแม้จะใช้ HTTPS แล้วก็ตาม
บทความนี้จะแนะนำ Security Header ที่ควรเปิดบน IIS Windows Server 2022 พร้อมวิธีตั้งค่าแบบละเอียด
🔐 Security Header คืออะไร
Security Header คือข้อมูลที่ส่งผ่าน HTTP Response
ตัวอย่าง
HTTP Response Header
Browser จะนำ Header เหล่านี้ไปใช้กำหนดพฤติกรรมด้าน Security
🚨 ทำไม Security Header จึงสำคัญ
ช่วยป้องกัน
🔒 Cross-Site Scripting (XSS)
🔒 Clickjacking
🔒 MIME Type Confusion
🔒 Data Injection
🔒 Protocol Downgrade Attack
🔒 Information Disclosure
📋 Security Header ที่แนะนำ
สำหรับ IIS Windows Server 2022
ควรมีอย่างน้อย
✅ Strict-Transport-Security
✅ X-Content-Type-Options
✅ X-Frame-Options
✅ Referrer-Policy
✅ Permissions-Policy
✅ Content-Security-Policy
🖥️ วิธีเพิ่ม Security Header บน IIS
เปิด
inetmgr
เลือกเว็บไซต์
เปิด
HTTP Response Headers
คลิก
Add...
① เพิ่ม X-Content-Type-Options
Header Name
X-Content-Type-Options
Value
nosniff
ประโยชน์
ป้องกัน Browser เดาประเภทไฟล์ผิด
② เพิ่ม X-Frame-Options
Header Name
X-Frame-Options
Value
SAMEORIGIN
ประโยชน์
ป้องกัน Clickjacking
③ เพิ่ม Referrer-Policy
Header Name
Referrer-Policy
Value
strict-origin-when-cross-origin
ประโยชน์
ควบคุมข้อมูล Referrer
④ เพิ่ม Permissions-Policy
Header Name
Permissions-Policy
Value
camera=(), microphone=(), geolocation=()
ประโยชน์
ปิดการเข้าถึงอุปกรณ์ที่ไม่จำเป็น
⑤ เพิ่ม Content-Security-Policy
Header Name
Content-Security-Policy
Value
default-src 'self';
ประโยชน์
ป้องกัน XSS
⑥ เพิ่ม HSTS
Header Name
Strict-Transport-Security
Value
max-age=31536000;
includeSubDomains
ประโยชน์
บังคับใช้ HTTPS
⚙️ เพิ่ม Security Header ผ่าน web.config
ตัวอย่าง
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Content-Type-Options"
value="nosniff" />
<add name="X-Frame-Options"
value="SAMEORIGIN" />
<add name="Referrer-Policy"
value="strict-origin-when-cross-origin" />
<add name="Permissions-Policy"
value="camera=(), microphone=()" />
</customHeaders>
</httpProtocol>
</system.webServer>
🔍 วิธีตรวจสอบ Header
เปิดเว็บไซต์
https://example.com
กด
F12
เลือก
Network
เลือก Request หลัก
ดู
Response Headers
🌐 ตรวจสอบผ่าน PowerShell
Invoke-WebRequest `
https://example.com
ดู Header ที่ส่งกลับ
🚀 ตรวจสอบผ่าน Security Scan
สามารถใช้เครื่องมือ
SecurityHeaders
Mozilla Observatory
Qualys SSL Labs
Nessus
Acunetix
เพื่อประเมินคะแนน Security
❌ ปัญหาที่พบบ่อย
CSP เข้มเกินไป
เว็บไซต์โหลด JavaScript ไม่ได้
X-Frame-Options บล็อกระบบภายใน
ที่ใช้ iframe
Permissions-Policy ปิดฟังก์ชันบางส่วน
ของเว็บไซต์
Header ซ้ำ
ตั้งค่าทั้ง IIS และ Web Application
📋 Security Header Checklist
✅ HSTS
✅ CSP
✅ X-Frame-Options
✅ X-Content-Type-Options
✅ Referrer-Policy
✅ Permissions-Policy
✅ HTTPS Redirect
✅ TLS 1.2 หรือ TLS 1.3
🛡️ Best Practices
① เปิด HTTPS ก่อน
② เปิด HSTS
③ ใช้ CSP อย่างระมัดระวัง
④ ทดสอบเว็บไซต์ทุกครั้งหลังเพิ่ม Header
⑤ ตรวจสอบ Security Score เป็นประจำ
⑥ บันทึก Configuration ทุกครั้งก่อนแก้ไข
ทีมงาน comsiam มักเพิ่ม Security Header เป็นส่วนหนึ่งของ Web Server Hardening Checklist ทุกครั้งหลังติดตั้ง IIS ใหม่ เพราะเป็นวิธีที่ง่าย รวดเร็ว และช่วยเพิ่มคะแนน Security ได้อย่างชัดเจนโดยไม่ต้องลงทุนเพิ่มเติม
🎯 สรุป
Security Header เป็นหนึ่งในมาตรการพื้นฐานที่ช่วยเพิ่มความปลอดภัยให้กับ IIS Windows Server 2022 และเว็บไซต์ทุกประเภท โดยช่วยลดความเสี่ยงจาก XSS, Clickjacking, MIME Sniffing และการโจมตีผ่าน Browser ในรูปแบบต่าง ๆ
การเพิ่ม Header ที่เหมาะสมร่วมกับ SSL, HTTPS Redirect, HSTS และ TLS 1.2/TLS 1.3 จะช่วยให้เว็บไซต์มีมาตรฐานความปลอดภัยที่สูงขึ้น ผ่านการตรวจสอบจาก Security Scanner และพร้อมสำหรับการใช้งานในสภาพแวดล้อม Production ระดับองค์กร