วิธีใช้ URLScan บน IIS Windows Server 2022 เพิ่มความปลอดภัยเว็บไซต์และบล็อก Request อันตราย
URLScan เป็นเครื่องมือด้านความปลอดภัยของ Microsoft ที่ถูกออกแบบมาเพื่อช่วยกรอง HTTP Request ก่อนที่จะถูกส่งไปยังเว็บไซต์หรือ Web Application
แม้ปัจจุบัน IIS Windows Server 2022 จะมีฟีเจอร์ Request Filtering ที่มีความสามารถสูงกว่าในหลายด้าน แต่แนวคิดและหลักการของ URLScan ยังคงถูกนำมาใช้ในงาน Hardening Web Server และยังพบได้ในระบบเก่าจำนวนมาก
สำหรับผู้ดูแลระบบที่ต้องดูแล IIS หลายเวอร์ชัน หรือกำลังย้ายระบบจาก IIS รุ่นเก่ามายัง Windows Server 2022 การเข้าใจการทำงานของ URLScan จะช่วยให้สามารถออกแบบ Security Policy ได้อย่างมีประสิทธิภาพมากขึ้น
บทความนี้จะอธิบายหลักการทำงานของ URLScan และแนวทางที่แนะนำสำหรับ IIS Windows Server 2022
🔐 URLScan คืออะไร
URLScan คือ
ISAPI Security Filter
ของ Microsoft
ทำหน้าที่
กรอง Request
ก่อนส่งต่อไปยังเว็บไซต์
สามารถบล็อก
URL
Query String
Extension
HTTP Method
Character พิเศษ
📜 ประวัติของ URLScan
URLScan ได้รับความนิยมมาก
ในยุค
IIS 5.0
IIS 6.0
ก่อนที่ Microsoft
จะพัฒนา
Request Filtering
เข้ามาแทน
🚨 URLScan ป้องกันอะไรได้บ้าง
🛡️ SQL Injection
🛡️ XSS
🛡️ Directory Traversal
🛡️ Vulnerability Scanner
🛡️ Malformed Request
🛡️ Dangerous HTTP Methods
🔍 URLScan ยังใช้กับ IIS 2022 ได้หรือไม่
ทางเทคนิค
สามารถใช้งานได้ในบางกรณี
แต่ Microsoft แนะนำให้ใช้
Request Filtering
แทน
เนื่องจาก
มีประสิทธิภาพกว่า
และรองรับ IIS รุ่นใหม่โดยตรง
🎯 URLScan vs Request Filtering
| คุณสมบัติ | URLScan | Request Filtering |
|---|---|---|
| รองรับ IIS รุ่นใหม่ | ⚠️ | ✅ |
| ติดตั้งเพิ่ม | ✅ | ❌ |
| จัดการผ่าน GUI | ❌ | ✅ |
| รองรับ Production | ⚠️ | ✅ |
| Microsoft แนะนำ | ❌ | ✅ |
🚀 แนวทางที่แนะนำบน IIS Windows Server 2022
แทนที่จะติดตั้ง URLScan
ให้ใช้
Request Filtering
ซึ่งมีความสามารถใกล้เคียงกัน
และดูแลรักษาง่ายกว่า
🔒 บล็อก File Extension
เปิด
Request Filtering
เลือก
File Name Extensions
เพิ่ม
.bak
.config
.sql
🔒 บล็อก Dangerous HTTP Verbs
เลือก
HTTP Verbs
เพิ่ม
TRACE
TRACK
🔒 บล็อก Query String อันตราย
ตัวอย่าง
--
union
select
drop
🔒 ซ่อน Hidden Segments
เพิ่ม
App_Data
bin
App_Code
📦 จำกัด Request Size
กำหนด
Maximum Allowed Content Length
ป้องกัน
Large Request Attack
Upload Abuse
⚙️ ตัวอย่าง web.config
<requestFiltering>
<hiddenSegments>
<add segment="App_Data"/>
</hiddenSegments>
</requestFiltering>
🔍 ตรวจสอบว่า Request Filtering ทำงานหรือไม่
เปิด
IIS Logs
ตำแหน่ง
C:\inetpub\logs\LogFiles
มองหา
404.7
404.11
404.18
แสดงว่ามี Request ถูกบล็อก
🌐 ตรวจสอบผ่าน Security Scanner
ใช้
Nessus
OpenVAS
Acunetix
Qualys
เพื่อตรวจสอบ
Security Policy
⚠️ ข้อควรระวัง
บล็อกมากเกินไป
Application อาจทำงานไม่ได้
API อาจถูกปฏิเสธ
Upload File อาจล้มเหลว
ต้องทดสอบทุกครั้งหลังแก้ไข
❌ ความเข้าใจผิดที่พบบ่อย
URLScan ดีกว่า Request Filtering
❌ ไม่จริง
URLScan จำเป็นสำหรับ IIS 2022
❌ ไม่จำเป็น
ติดตั้ง URLScan แล้วปลอดภัย
❌ ไม่จริง
ยังต้องใช้
HTTPS
Security Headers
WAF
Logging
ร่วมด้วย
📋 URLScan Migration Checklist
✅ ใช้ Request Filtering
✅ ปิด TRACE
✅ ซ่อน Hidden Segments
✅ บล็อก Dangerous Extensions
✅ จำกัด Request Size
✅ ตรวจสอบ IIS Logs
✅ ทดสอบเว็บไซต์หลังแก้ไข
🛡️ Best Practices
① ใช้ Request Filtering แทน URLScan
② บล็อก HTTP Verbs ที่ไม่จำเป็น
③ ซ่อนโฟลเดอร์สำคัญ
④ จำกัด Upload Size
⑤ ใช้ WAF เพิ่มเติม
⑥ เปิด Audit Logging
⑦ ทำ Security Assessment ทุกไตรมาส
ทีมงาน comsiam แนะนำให้ใช้ Request Filtering บน IIS Windows Server 2022 แทน URLScan เนื่องจากได้รับการสนับสนุนโดยตรงจาก Microsoft และสามารถจัดการผ่าน IIS Manager ได้ง่ายกว่า เหมาะสำหรับการดูแลระบบ Production ในระยะยาว
🎯 สรุป
URLScan เป็นเครื่องมือด้านความปลอดภัยที่เคยได้รับความนิยมอย่างมากใน IIS รุ่นเก่า แต่สำหรับ IIS Windows Server 2022 แนวทางที่แนะนำคือการใช้ Request Filtering ซึ่งมีความสามารถใกล้เคียงกันและรองรับระบบรุ่นใหม่ได้ดีกว่า
การกำหนดกฎสำหรับ File Extension, HTTP Verbs, Hidden Segments และ Request Size อย่างเหมาะสม จะช่วยลดความเสี่ยงจากการโจมตีเว็บไซต์และเพิ่มความปลอดภัยให้กับ IIS ได้อย่างมีประสิทธิภาพในสภาพแวดล้อม Production