วิธีเปิด Request Filtering บน IIS Windows Server 2022 ป้องกันการโจมตีเว็บไซต์ตั้งแต่ชั้นแรก
Request Filtering เป็นหนึ่งในฟีเจอร์ด้านความปลอดภัยที่สำคัญที่สุดของ IIS Windows Server 2022 แต่กลับเป็นฟีเจอร์ที่ผู้ดูแลระบบจำนวนมากมองข้าม
ฟีเจอร์นี้ช่วยให้ IIS สามารถตรวจสอบและกรอง HTTP Request ได้ก่อนที่ Request จะถูกส่งไปยังเว็บไซต์หรือ Web Application ช่วยลดความเสี่ยงจากการโจมตีหลายรูปแบบ เช่น SQL Injection, XSS, Directory Traversal, File Upload Attack และ Vulnerability Scanning
กล่าวง่าย ๆ คือ Request Filtering ทำหน้าที่เป็น "ด่านตรวจความปลอดภัยด่านแรก" ของ IIS
บทความนี้จะอธิบายวิธีเปิดใช้งานและตั้งค่า Request Filtering บน IIS Windows Server 2022 อย่างละเอียด พร้อมแนวทางที่ใช้จริงใน Production
🔐 Request Filtering คืออะไร
Request Filtering คือฟีเจอร์ของ IIS
ที่ใช้ตรวจสอบ
URL
Query String
HTTP Method
File Extension
Request Size
Hidden Segment
ก่อนส่งต่อไปยังเว็บไซต์
หาก Request ไม่ผ่านกฎที่กำหนด
IIS จะบล็อกทันที
🎯 Request Filtering ป้องกันอะไรได้บ้าง
🛡️ SQL Injection
🛡️ Cross-Site Scripting (XSS)
🛡️ Directory Traversal
🛡️ File Upload Attack
🛡️ Vulnerability Scanner
🛡️ Information Disclosure
🛡️ Malicious HTTP Request
📋 ตรวจสอบว่าติดตั้งแล้วหรือไม่
เปิด
IIS Manager
เลือกเว็บไซต์
หากพบเมนู
Request Filtering
แสดงว่าพร้อมใช้งาน
🚀 วิธีเปิด Request Filtering
เปิด
IIS Manager
เลือกเว็บไซต์
เปิด
Request Filtering
จะพบหน้าจอหลัก
สำหรับตั้งค่ากฎต่าง ๆ
🔒 ปิด File Extension ที่ไม่ต้องการ
เลือกแท็บ
File Name Extensions
คลิก
Deny File Name Extension
ตัวอย่าง
.bak
.config
.sql
.zip
ช่วยป้องกันการดาวน์โหลดไฟล์สำคัญ
🔒 ปิด HTTP Method ที่ไม่จำเป็น
เลือก
HTTP Verbs
เพิ่ม
TRACE
เพิ่ม
TRACK
ช่วยลดความเสี่ยงด้าน Security
🔒 บล็อก URL ที่ไม่ต้องการ
เลือก
URL
กำหนดคำที่ต้องการบล็อก
เช่น
cmd.exe
powershell
wp-admin
(หากไม่ใช่ WordPress)
🔒 บล็อก Query String อันตราย
เลือก
Deny Query String Sequence
ตัวอย่าง
--
union
select
drop
ช่วยลด SQL Injection
🔒 ซ่อนโฟลเดอร์สำคัญ
เลือก
Hidden Segments
เพิ่ม
bin
App_Data
App_Code
IIS จะไม่อนุญาตให้เข้าถึง
📦 จำกัดขนาด File Upload
เลือก
Edit Feature Settings
กำหนด
Maximum Allowed Content Length
ตัวอย่าง
50 MB
ช่วยลด Upload Attack
📊 จำกัด URL Length
ตัวอย่าง
2048 Characters
ช่วยลดการโจมตีผ่าน URL ยาวผิดปกติ
🔍 ตรวจสอบ Log เมื่อถูกบล็อก
เปิด
C:\inetpub\logs\LogFiles
มักพบ
404.7
หรือ
404.11
หรือ
404.18
หมายถึง Request Filtering ทำงาน
🌐 ตั้งค่าผ่าน web.config
ตัวอย่าง
<requestFiltering>
<fileExtensions>
<add fileExtension=".bak"
allowed="false" />
</fileExtensions>
</requestFiltering>
🔍 ตรวจสอบ Event Viewer
เปิด
eventvwr.msc
ตรวจสอบ
Application Logs
และ
System Logs
⚠️ ข้อควรระวัง
บล็อกมากเกินไป
Application อาจทำงานผิดปกติ
URL บางส่วนใช้งานไม่ได้
File Upload ไม่ผ่าน
API บางตัวถูกบล็อก
ควรทดสอบก่อนใช้งานจริง
❌ ความเข้าใจผิดที่พบบ่อย
มี Firewall แล้วไม่ต้องใช้ Request Filtering
❌ ไม่จริง
HTTPS ป้องกัน SQL Injection
❌ ไม่จริง
Antivirus ป้องกัน Web Attack
❌ ไม่ครบทุกประเภท
📋 Request Filtering Checklist
✅ บล็อก Extension อันตราย
✅ บล็อก TRACE
✅ ซ่อน App_Data
✅ จำกัด Upload Size
✅ จำกัด URL Length
✅ ตรวจสอบ IIS Logs
✅ ทดสอบ Application หลังแก้ไข
🛡️ Best Practices
① เปิด Request Filtering ทุกเว็บไซต์
② ปิด HTTP Verbs ที่ไม่จำเป็น
③ ซ่อน Hidden Segments
④ จำกัด File Upload
⑤ ใช้ร่วมกับ WAF
⑥ ตรวจสอบ Logs ทุกสัปดาห์
⑦ ทบทวน Security Policy ทุกไตรมาส
ทีมงาน comsiam มักเปิด Request Filtering เป็นมาตรฐานบน IIS Windows Server 2022 ทุกเครื่องก่อนนำขึ้น Production เพราะเป็นฟีเจอร์ที่ใช้ทรัพยากรน้อย ติดตั้งง่าย และช่วยหยุดการโจมตีได้ตั้งแต่ก่อนถึง Application Layer
🎯 สรุป
Request Filtering เป็นหนึ่งในฟีเจอร์ด้านความปลอดภัยที่สำคัญที่สุดของ IIS Windows Server 2022 โดยช่วยกรอง URL, Query String, File Extension และ HTTP Method ที่มีความเสี่ยงก่อนถึงเว็บไซต์
เมื่อใช้งานร่วมกับ HTTPS, Security Headers, WAF และการพัฒนาเว็บไซต์ที่ปลอดภัย จะช่วยลดความเสี่ยงจาก SQL Injection, XSS และ Web Attack รูปแบบต่าง ๆ ได้อย่างมีประสิทธิภาพ เหมาะสำหรับการใช้งานในระบบ Production และองค์กรทุกขนาด