วิธีซ่อน 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

Popular posts from this blog

Windows Server 2022 ยังน่าใช้ในปีนี้หรือไม่? คำตอบสำหรับคนกำลังวางระบบใหม่

สเปกเครื่องสำหรับติดตั้ง Windows Server 2022 เลือกอย่างไรให้คุ้มและใช้งานได้ยาว

Windows Server 2022 คืออะไร? คู่มือสำหรับมือใหม่