دليل تأمين خادم IIS ضد الهجمات السيبرانية (IIS Hardening)
يُعد خادم Microsoft IIS أحد أكثر خوادم الويب استقراراً، ولكن تركه بالإعدادات الافتراضية يجعله هدفاً سهلاً للمهاجمين. تأمين الخادم أو ما يعرف بـ (Hardening) هو عملية تقليل مساحة الهجوم عبر إغلاق كافة الأبواب غير الضرورية وتعزيز الدفاعات البرمجية.
1. تأمين بروتوكولات التشفير (TLS 1.2/1.3)
البروتوكولات القديمة مثل SSL 3.0 و TLS 1.0 تعاني من نقاط ضعف هيكلية. يجب إجبار الخادم على استخدام TLS 1.2 كحد أدنى، ويفضل TLS 1.3 للأنظمة الحديثة.
أداة IIS Crypto:
أسرع طريقة هي استخدام أداة IIS Crypto وتطبيق زر Best Practices. هذا سيقوم آلياً بـ:
- تعطيل SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1.
- تفعيل Cipher Suites القوية مثل (ECDHE).
- تعطيل الـ Ciphers الضعيفة مثل DES, MD5, RC4.
2. منع تسريب معلومات السيرفر (Server Fingerprinting)
كشف إصدار IIS يساعد المخترق في البحث عن ثغرات مخصصة. يجب إزالة رأس Server من كافة الاستجابات.
Server، استخدم وحدة URL Rewrite وأنشئ "Outbound Rule" لتعطيل المتغير RESPONSE_SERVER.
3. تقييد الوصول وقيود الـ IP
يجب حماية مسارات الإدارة (مثل /admin) بحيث لا يمكن الوصول إليها إلا من عناوين IP موثوقة.
- ثبّت ميزة IP and Domain Restrictions.
- اضبط Access for Unspecified Clients على Deny.
- أضف استثناءات (Allow) فقط لعنوان الـ IP الخاص بمكتبك أو نظامك الداخلي.
- Dynamic IP Restrictions: فعل هذه الميزة لمنع هجمات Brute Force؛ حيث يقوم IIS بحظر أي IP يقوم بعدد طلبات هائل في ثوانٍ معدودة.
4. فلترة الطلبات واستخدام URL Scan
فلترة الطلبات (Request Filtering) هي خط الدفاع الأول ضد محاولات الاختراق عبر الروابط.
- منع امتدادات الملفات: تأكد من منع الوصول لملفات
.config,.log,.bak. - تحديد حجم الطلب: اضبط
maxAllowedContentLengthلمنع هجمات رفع الملفات الضخمة التي قد تسبب Denial of Service.
../ أو الرموز البرمجية في الـ URL.
5. معالجة الأخطاء وحماية المسارات الفنية
رسائل الخطأ الافتراضية قد تكشف عن مسارات الملفات البرمجية على السيرفر (مثل C:\inetpub\...).
قم بإعداد Custom Error Pages لكل من أخطاء 404 و 500. تأكد من ضبط الإعداد على ExistingResponse="Replace" لضمان عدم ظهور أي معلومات فنية للمستخدم النهائي.
6. رؤوس الأمان (HTTP Security Headers)
هذه الرؤوس تخبر المتصفح بكيفية التعامل مع موقعك بأمان:
- Strict-Transport-Security (HSTS): لإجبار المتصفح على استخدام HTTPS دائماً.
- X-Frame-Options: لمنع وضع موقعك داخل iframe (الحماية من هجمات Clickjacking).
- X-Content-Type-Options: اضبطها على
nosniffلمنع المتصفح من محاولة تخمين نوع الملف.
7. أمان حوض التطبيقات (Application Pool)
العزل هو مفتاح الأمان في الخوادم المشتركة:
- Identity: لا تشغل حوض التطبيقات أبداً بحساب
Administrator. استخدم حساب AppPoolIdentity المحدود. - Recycling: اضبط فترات إعادة تشغيل الحوض (Recycling) لتنظيف الذاكرة ومنع تسريبات الذاكرة (Memory Leaks) من التأثير على السيرفر.
قائمة الفحص النهائية (Checklist):
- تعطيل خاصية Directory Browsing لجميع المواقع.
- حذف وسم
X-AspNet-Versionمن الاستجابات. - منع الوصول لملف
web.configمن المتصفح. - تفعيل Failed Request Tracing لتتبع الأخطاء أمنياً دون عرضها للجمهور.
بتباعك لهذا الدليل، ستكون قد وضعت طبقات دفاعية متعددة تجعل من اختراق خادمك مهمة شاقة تتطلب مجهوداً يفوق قدرة المهاجمين التقليديين.