วิธีซ่อน IIS Version บน Windows Server 2022 ป้องกันการเปิดเผยข้อมูลระบบให้ผู้โจมตี
หนึ่งในข้อมูลแรกที่ Hacker, Bot Scanner และ Vulnerability Scanner พยายามค้นหาจาก Web Server คือเวอร์ชันของซอฟต์แวร์ที่กำลังใช้งานอยู่
สำหรับ IIS หาก Server ส่งข้อมูลเวอร์ชันกลับไปใน HTTP Response Header ผู้โจมตีอาจนำข้อมูลดังกล่าวไปค้นหาช่องโหว่ที่ตรงกับเวอร์ชันนั้นได้ทันที
แม้ว่าการซ่อน IIS Version จะไม่ได้ป้องกันการโจมตีทั้งหมด แต่ถือเป็นแนวทางสำคัญของ Security Hardening ที่ช่วยลดการเปิดเผยข้อมูล (Information Disclosure) และเป็นหนึ่งในข้อแนะนำของ Security Audit หลายมาตรฐาน
บทความนี้จะแนะนำวิธีซ่อน IIS Version บน Windows Server 2022 อย่างละเอียด พร้อมแนวทางตรวจสอบหลังดำเนินการ
🔐 IIS Version Disclosure คืออะไร
เมื่อ Browser หรือ Scanner เชื่อมต่อมายัง IIS
Server อาจตอบกลับ Header
เช่น
Server: Microsoft-IIS/10.0
ข้อมูลนี้ทำให้ทราบทันทีว่า
IIS Version 10
กำลังทำงานอยู่
🚨 ความเสี่ยงจากการเปิดเผย IIS Version
🔍 Hacker รู้ประเภท Web Server
🔍 ค้นหาช่องโหว่เฉพาะเวอร์ชันได้ง่ายขึ้น
🔍 Vulnerability Scanner ให้คะแนนลดลง
🔍 เพิ่มข้อมูลสำหรับ Reconnaissance
📋 ตรวจสอบว่า IIS เปิดเผย Version หรือไม่
เปิด Command Prompt
ใช้คำสั่ง
curl -I https://example.com
ตัวอย่างผลลัพธ์
Server: Microsoft-IIS/10.0
หากพบลักษณะนี้
แสดงว่ายังเปิดเผยข้อมูลอยู่
🌐 ตรวจสอบผ่าน Browser
กด
F12
เลือก
Network
ดู
Response Headers
ตรวจสอบ Header
Server
🚀 วิธีซ่อน IIS Version ผ่าน Registry
เปิด
regedit
ไปที่
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\HTTP
\Parameters
สร้าง DWORD
DisableServerHeader
กำหนดค่า
1
🔄 รีสตาร์ท HTTP Service
หลังแก้ไข Registry
รีบูต Server
หรือ
iisreset
แนะนำ
shutdown /r /t 0
เพื่อให้ค่ามีผลสมบูรณ์
⚙️ วิธีซ่อน Header ผ่าน URL Rewrite
ติดตั้ง
URL Rewrite Module
สร้าง Outbound Rule
ค้นหา
RESPONSE_Server
แทนที่ด้วย
Blank
หรือ
Web Server
⚙️ วิธีลบ Header ผ่าน web.config
ตัวอย่าง
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By"/>
</customHeaders>
</httpProtocol>
</system.webServer>
ช่วยลดข้อมูลที่เปิดเผย
เพิ่มเติม
🔒 ซ่อน X-Powered-By Header
ค่าเริ่มต้นของ IIS
มักแสดง
X-Powered-By: ASP.NET
สามารถลบออกได้
ผ่าน
HTTP Response Headers
ใน IIS Manager
🔍 ตรวจสอบหลังแก้ไข
รัน
curl -I https://example.com
ผลลัพธ์ที่ดี
ไม่ควรพบ
Microsoft-IIS/10.0
📊 ตรวจสอบผ่าน PowerShell
Invoke-WebRequest `
https://example.com
ดู Header
Server
🌐 ตรวจสอบผ่าน Security Scanner
เครื่องมือยอดนิยม
Nessus
OpenVAS
Acunetix
Qualys
มักตรวจสอบ Header นี้
โดยอัตโนมัติ
⚠️ ข้อควรระวัง
ซ่อน Version ไม่ได้แปลว่าปลอดภัย
ยังต้องอัปเดต IIS อยู่เสมอ
ต้องใช้ Security Header ร่วมด้วย
ต้องปิด Service ที่ไม่จำเป็น
❌ ความเข้าใจผิดที่พบบ่อย
ซ่อน Version แล้ว Hacker หาไม่เจอ
❌ ไม่จริง
ไม่ต้อง Patch ระบบแล้ว
❌ ไม่จริง
ใช้แทน Firewall ได้
❌ ไม่ได้
📋 IIS Hardening Checklist
✅ ซ่อน IIS Version
✅ ลบ X-Powered-By
✅ ปิด TRACE
✅ เปิด HSTS
✅ เปิด Security Headers
✅ ใช้ TLS 1.2 และ TLS 1.3
✅ ปิด SSL รุ่นเก่า
🛡️ Best Practices
① ซ่อน IIS Version ทุกเครื่อง
② ลบ Header ที่ไม่จำเป็น
③ ตรวจสอบด้วย Security Scanner
④ Patch Windows Server สม่ำเสมอ
⑤ เปิด Logging และ Monitoring
⑥ ใช้ WAF ร่วมด้วย
⑦ ตรวจสอบ Security Baseline ทุกไตรมาส
ทีมงาน comsiam มักซ่อน IIS Version และลบ Header ที่เปิดเผยข้อมูลระบบทุกครั้งก่อนนำ Web Server ขึ้น Production เพราะเป็นขั้นตอนที่ทำได้ง่าย ใช้เวลาเพียงไม่กี่นาที และช่วยลดข้อมูลที่ผู้โจมตีสามารถนำไปใช้วิเคราะห์ระบบได้
🎯 สรุป
การซ่อน IIS Version บน Windows Server 2022 เป็นหนึ่งในแนวทาง Security Hardening ที่ช่วยลดการเปิดเผยข้อมูลระบบให้กับผู้โจมตีและเครื่องมือสแกนช่องโหว่
แม้จะไม่ใช่มาตรการป้องกันหลัก แต่เมื่อใช้งานร่วมกับ HTTPS, HSTS, Security Headers, WAF และการอัปเดตระบบอย่างสม่ำเสมอ จะช่วยยกระดับความปลอดภัยของ IIS และลดความเสี่ยงจากการโจมตีได้อย่างมีประสิทธิภาพสำหรับสภาพแวดล้อม Production