كيفية تكوين أداة URLScan

نوصي بشدة بأن يقوم كافة المستخدمين بالترقية إلى معلومات خدمات الإنترنت الإصدار 7.0 من Microsoft التي تعمل على نظام التشغيل Microsoft Windows Server 2008. يعمل IIS 7.0 على زيادة أمان البنية الأساسية لموقع ويب بشكل ملحوظ. لمزيد من المعلومات حول الموضوعات المتعلقة بأمان IIS، قم بزيارة موقع Microsoft التالي على الويب:لمزيد من المعلومات حول IIS 7.0، قم بزيارة موقع Microsoft التالي على الويب:

ملخص

توضح هذه المقالة خطوة بخطوة كيفية تكوين أداة URLScan لحماية خادم الويب الخاص بك من الهجمات والاستغلال.

تثبيت URLScan

لتثبيت URLScan، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
استخدام 307608 URLScan على IIS

تعديل الملف URLScan.ini

يتم تكوين URLScan كافة من خلال الملف URLScan.ini الموجود في المجلد %WINDIR%\System32\Inetsrv\URLscan. لتكوين URLScan فتح هذا الملف في محرر نصوص مثل "المفكرة"، قم بإجراء التغييرات المناسبة وقم بحفظ الملف.

ملاحظة: يجب إعادة تشغيل إنترنت خدمات معلومات (IIS) التغييرات نافذة المفعول. طريقة واحدة يمكنك القيام بذلك بسرعة لتشغيل الأمر IISRESET في موجه الأوامر.

ملف URLScan.ini يحتوي على الأقسام التالية:
  • [Options]: يصف هذا القسم خيارات URLScan عامة.
  • [AllowVerbs] و [DenyVerbs]: يحدد هذا الجزء من الأفعال (التي تعرف أيضا بأساليب HTTP) تسمح URLScan.
  • [دينيهيديرس]: يسرد هذا المقطع رؤوس HTTP غير المسموح بها في طلب HTTP. إذا احتوى طلب HTTP على رأس HTTP المسردة في هذا القسم، URLScan رفض الطلب.
  • [AllowExtensions] و [DenyExtensions]: يحدد هذا القسم ملحقات أسماء الملفات التي يسمح URLScan.
  • [دينيورلسيقوينسيس]: هذا المقطع بسرد سلاسل غير المسموح بها في طلب HTTP. URLScan رفض طلبات HTTP التي تحتوي على سلسلة التي تظهر في هذا القسم.
سيتم وصف كل مقطع بمزيد من التفصيل في هذا المستند.

المقطع [Options]

في المقطع [Options] ، يمكنك تكوين عدة خيارات URLScan. يحتوي كل بند في هذا القسم بالتنسيق التالي:
OptionName=OptionValue
الخيارات المتوفرة، والقيم الافتراضية كما يلي:
  • UseAllowVerbs=1

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 1. إذا تم تعيين هذا الخيار إلى 1، يسمح URLScan فقط طلبات HTTP التي تستخدم الأفعال المسرودة في المقطع [AllowVerbs] . URLScan منع أية طلبات لا تستخدم هذه الأفعال. إذا تم تعيين هذا الخيار إلى 0، URLScan يتجاهل القسم [AllowVerbs] ، وبدلاً من ذلك بحظر طلبات استخدام الأفعال المذكورة في المقطع [DenyVerbs] .
  • UseAllowExtensions=0

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين هذا الخيار إلى 0، كتل URLScan طلبات ملحقات أسماء الملفات المسرودة في المقطع [DenyExtensions] ، ولكن يسمح أي ملف آخر طلبات ملحقات أسماء. إذا تم تعيين هذا الخيار إلى 1، URLScan يسمح فقط طلبات الملفات ذات الملحقات المسردة في القسم [AllowExtensions] ، وكتل طلبات أي ملفات أخرى.
  • NormalizeUrlBeforeScan=1

    يتلقى IIS الطلبات التي يتم ترميز URL. وهذا يعني أن بعض الحروف يمكن استبدالها بعلامة النسبة المئوية (%) متبوعاً برقم معين. على سبيل المثال، % 20 يناظر مسافة، حيث طلب http://myserver/My%20Dir/My%20File.htm هو نفسه طلب http://myserver/My Dir/My File.htm. يتم تسوية عملية فك ترميز URL الطلبات. بشكل افتراضي، يتم تعيين هذا الخيار إلى 1. إذا تم تعيين الخيار نورماليزيورلبيفوريسكان إلى 1، URLScan بتحليل الطلب الذي تم فك ترميزه. إذا كان يتم تعيينه إلى 0، URLScan بتحليل الطلب أونديكوديد بدلاً من ذلك. يؤدي تحديد هذا الخيار إلى 0 تعيق قدرة URLScan منع أنواع معينة من الهجمات.
  • VerifyNormalization=1

    لعلامة النسبة المئوية (%) نفسه يمكن أن يكون URL ترميز، يمكن لمهاجم إرسال طلب معد بعناية إلى ملقم أساسي يتم ترميز مزدوج. في حالة حدوث ذلك، قد يقبل IIS طلب سترفض إلا أنها غير صالحة. بشكل افتراضي، يتم تعيين هذا الخيار إلى 1. إذا تم تعيين الخيار فيريفينورماليزيشن إلى 1، URLScan طبيعتها URL مرتين. إذا كانت مختلفة عن محدد موقع المعلومات URL بعد التسوية الأولى بعد تطبيع الثاني، URLScan رفض الطلب. وهذا يمنع الهجمات التي تعتمد على طلبات ثنائية الترميز.
  • AllowHighBitCharacters=0

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين هذا الخيار إلى 0، URLScan يرفض أي الطلبات التي تحتوي على أحرف غير ASCII. وهذا منع أنواع معينة من الهجمات، ولكن تعوق أيضا طلبات لملفات قانونية معينة، مثل الملفات ذات الأسماء غير الإنجليزية.
  • AllowDotInPath=0

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين هذا الخيار إلى 0، URLScan يرفض أي طلب يحتوي على عدة نقاط (.). وهذا يمنع محاولات لإخفاء ملحقات أسماء الملفات الخطيرة طلبات عن طريق وضع ملحق اسم ملف أمن في مسار معلومات أو استعلام سلسلة جزء من عنوان URL. على سبيل المثال، إذا تم تعيين هذا الخيار إلى 1، URLScan قد يؤدي طلب http://servername/BadFile.exe/SafeFile.htm لأنه يعتقد أنه طلب صفحة HTML، عندما يكون الفعل طلب ملف تنفيذي (.exe) باسم صفحة HTML في منطقة PATH_INFO. عند تعيين هذا الخيار 0، قد ترفض URLScan أيضا طلبات للدلائل التي تحتوي على نقاط.
  • RemoveServerHeader=0

    بشكل افتراضي، ملقم ويب بإرجاع رأس يعرف برنامج ملقم ويب الذي يكون قيد التشغيل في كافة الاستجابات. هذا زيادة تعرض الملقم لأنه يمكن تحديد أحد المهاجمين تشغيل ملقم IIS ثم الهجوم مشاكل IIS، بدلاً من محاولة لمهاجمة ملقم IIS باستخدام عمليات استغلال مصممة على ملقمات ويب الأخرى المعروفة. بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا قمت بتعيين الخيار RemoveServerHeader إلى 1، منع الملقم من إرسال رأس يعرف كخادم IIS. إذا قمت بتعيين RemoveServerHeader إلى 0، لا يزال يتم إرسال رأس الصفحة.
  • التيرناتيسيرفيرنامي = (غير محدد بشكل افتراضي)

    إذا تم تعيين RemoveServerHeader إلى 0، يمكنك تحديد سلسلة في الخيار التيرناتيسيرفيرنامي لتحديد ما سيتم تمريرها في عنوان الخادم مرة أخرى. إذا تم تعيين RemoveServerHeader إلى 1، يتم تجاهل هذا الخيار.
  • EnableLogging=1

    بشكل افتراضي، يحتفظ URLScan سجل كامل لكافة الطلبات الممنوعة في WINDIR%\System32\Inetsrv\URLScan في المائة. يمكنك تعيين EnableLogging إلى 0 إذا كنت لا تريد الاحتفاظ بهذا السجل.
  • PerProcessLogging=0

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين هذا الخيار إلى 1، URLScan إنشاء سجل منفصل لكل عملية الذي يستضيف URLScan.dll. إذا كان يتم تعيينه إلى 0، تسجيل كافة العمليات إلى نفس الملف.
  • PerDayLogging=1

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 1. إذا تم تعيين هذه القيمة إلى 1، URLScan يقوم بإنشاء ملف سجل جديد كل يوم. يتم تسمية كل ملف السجل Urlscan. .Log MMDDYY، أين
    MMDDYY هو تاريخ ملف السجل. إذا تم تعيين هذه القيمة إلى 0، يتم حفظ كافة التسجيل في نفس الملف، بغض النظر عن التاريخ.
  • AllowLateScanning=0

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين هذا الخيار إلى 0، يتم تشغيل URLScan كعامل تصفية ذات أولوية عليا، مما يعني أن ينفذ قبل أي إنترنت برمجة تطبيقات خادم واجهة (ISAPI) عوامل التصفية الأخرى المثبتة على الخادم. إذا تم تعيين هذا الخيار إلى 1، يعمل URLScan كعامل تصفية ذات الأفضلية المنخفضة، حيث أن عوامل التصفية الأخرى تعديل URL قبل URLScan إجراء أي تحليل. ملحقات ملقم FrontPage (FPSE) يتطلب هذا الخيار تعيين إلى 1.
  • RejectResponseUrl = (غير محدد بشكل افتراضي)

    يحدد هذا الخيار المسار الظاهري لملف التي يتم تنفيذها عند URLScan منع طلب. يسمح هذا لتخصيص الاستجابة التي تم إرسالها إلى العميل للطلبات الممنوعة. يجب تحديد RejectResponseUrl كمسار ظاهري للملف المناسب، مثل/Path/To/RejectResponseHandler.asp. يمكنك تحديد ملف URLScan عادة حظر، مثل صفحة صفحات ملقم نشطة (ASP). يمكنك أيضا استخدام متغيرات الملقم التالية من الصفحة:
    • HTTP_URLSCAN_STATUS_HEADER: يحدد هذا لماذا تم حظر الطلب.
    • HTTP_URLSCAN_ORIGINAL_VERB: يحدد هذا الفعل الأصلي من طلب المحظورة (على سبيل المثال، الحصول على وظيفة، رأس أو التصحيح).
    • HTTP_URLSCAN_ORIGINAL_URL: يحدد هذا العنوان الأصلي من طلب المحظورة.
    إذا قمت بتعيين RejectResponseUrl على القيمة الخاصة ل /~ *، يستخدم URLScan وضع التسجيل فقط. وهذا يسمح IIS لخدمة كل الطلبات، ولكن يقوم بإضافة إدخال إلى سجل URLScan لأية طلبات يتم عادة حظر. هذا مفيد إذا كنت تريد اختبار ملف URLScan.ini.

    إذا لم تحدد قيمة ل RejectResponseUrlURLScan يستخدم القيمة الافتراضية ل /< مرفوض ب UrlScan >.

  • UseFastPathReject=0

    بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين هذا الخيار إلى 1، يتجاهل الإعداد RejectResponseUrl URLScan وإرجاع رسالة خطأ 404 فورا إلى المستعرض. هذا أسرع من معالجة RejectResponseUrl، ولكن لا تسمح العديد من خيارات التسجيل. إذا تم تعيين هذا الخيار إلى 0، URLScan يستخدم الإعداد RejectResponseUrl لمعالجة الطلب.

[AllowVerbs] ومقاطع [DenyVerbs]

تعريف المقاطع [AllowVerbs] و [DenyVerbs] الأفعال HTTP (تعرف أيضا بأساليب) تسمح URLScan. الأفعال HTTP الشائعة تتضمن الحصول على وظيفة، رئيس ووضع. استخدام تطبيقات أخرى، مثل FPSE وويب التأليف الموزع وتعيين الإصدار (WebDAV) أفعال إضافية.

يكون لكل [AllowVerbs] والمقاطع [DenyVerbs] نفس بناء الجملة. تتكون قائمة الأفعال HTTP، ويظهر كل فعل على السطر الخاص به.

URLScan يقرر أي قسم للاستخدام استناداً إلى قيمة الخيار UseAllowVerbs في المقطع [Options] . بشكل افتراضي، يتم تعيين هذا الخيار إلى 1. إذا تم تعيين UseAllowVerbs إلى 1، يسمح URLScan فقط طلبات استخدام الأفعال المسرودة في المقطع [AllowVerbs] . تم رفض طلب لا يستخدم أحد هذه الأفعال. في هذه الحالة، يتم تجاهل المقطع [DenyVerbs] .

إذا تم تعيين UseAllowVerbs إلى 0، يرفض URLScan طلبات استخدام الأفعال المدرجة بشكل واضح في المقطع [DenyVerbs] . يتم السماح بأي طلبات استخدام الأفعال التي لا تظهر في هذا القسم. في هذه الحالة، يتجاهل URLScan القسم [AllowVerbs] .

المقطع [دينيهيديرس]

عندما يطلب عميل صفحة من ملقم ويب، فإنه يرسل عادة عبر بعض رؤوس HTTP التي تحتوي على معلومات إضافية حول الطلب. رؤوس HTTP الشائعة ما يلي:
  • المضيف:

    هذا الرأس يحتوي على اسم ملقم ويب.
  • قبول:

    رأس الصفحة بتعريف أنواع الملفات التي يمكن التعامل مع العميل.
  • عميل المستخدم:

    هذا الرأس يحتوي على اسم المستعرض الذي طلب الصفحة.
  • التخويل:

    رأس الصفحة تعريف أساليب المصادقة التي يعتمد العميل.
قد العملاء إرسال عناوين أخرى للخادم لتحديد معلومات إضافية.

في المقطع [دينيهيديرس] ، تقوم بتعريف رؤوس HTTP إلى رفض URLScan. إذا تلقي URLScan طلب يحتوي على أي رأس المسردة في هذا القسم، وترفض الطلب. يتكون هذا القسم من قائمة رؤوس HTTP، بكل رأس يظهر على السطر الخاص به. يجب أن يتبع أسماء عناوين بنقطتين (:) (على سبيل المثال، اسم الرأس:).

[AllowExtensions] ومقاطع [DenyExtensions]

تحتوي معظم الملفات ملحق اسم ملف الذي يعرف ما هو نوع ملف. على سبيل المثال، إنهاء أسماء الملفات ل Word المستندات عادة ما تنتهي في.doc، أسماء ملفات HTML عادة في.html أو.htm وعادة ما تنتهي أسماء الملفات كنص عادي في النص. المقاطع [AllowExtensions] و [DenyExtensions] تسمح لك بتحديد الملحقات التي سيتم حظر URLScan. على سبيل المثال، يمكنك تكوين URLScan لرفض طلبات الملفات.exe لمنع مستخدمي ويب من تنفيذ تطبيقات على النظام الخاص بك.

يكون لكل [AllowExtensions] والمقاطع [DenyExtensions] نفس بناء الجملة. تتكون قائمة ملحقات أسماء الملفات، ويظهر كل ملحق على السطر الخاص به. يبدأ الامتداد بنقطة (.) (على سبيل المثال،.ext).

URLScan يقرر أي قسم للاستخدام استناداً إلى قيمة أوسيلوويكستينسيونس في المقطع [Options] . بشكل افتراضي، يتم تعيين هذا الخيار إلى 0. إذا تم تعيين أوسيلوويكستينسيونس إلى 0، يرفض URLScan فقط من طلبات الملف ملحقات أسماء المسردة في القسم [DenyExtensions] . يتم السماح بأي ملحقات أسماء الملفات التي لم يتم سردها في هذا القسم. يتم تجاهل المقطع [AllowExtensions] .

إذا تم تعيين أوسيلوويكستينسيونس إلى 1، URLScan يرفض طلبات أي ملف ملحقات أسماء غير مذكورة صراحة في المقطع [AllowExtensions] . يتم السماح بطلبات فقط لملحق اسم ملف المسردة في هذا القسم. يتم تجاهل المقطع [DenyExtensions] .

للحصول على معلومات إضافية حول كيفية تكوين URLScan للسماح بطلبات للملفات التي ليس لديها ملحق، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
312376 كيفية تكوين URLScan للسماح لطلبات بملحق خالية في IIS

المقطع [دينيورلسيقوينسيس]

يمكنك تكوين URLScan منع الطلبات التي تحتوي على تسلسلات معينة من الأحرف في عنوان URL. على سبيل المثال، يمكنك حظر الطلبات التي تحتوي على نقطتين متتابعتين (..)، التي تستخدم بشكل متكرر مع الاستغلال الاستفادة من الثغرات اجتياز الدليل. لتحديد تسلسل أحرف لحظر، وضع التسلسل على خط بمفرده في المقطع [دينيورلسيقوينسيس] .

لاحظ أن إضافة الحروف قد يؤثر سلبا على Outlook Web Access (OWA) ل Microsoft Exchange. عند فتح رسالة من OWA، سطر موضوع الرسالة يتضمن URL الذي طلب من الخادم. لأن الملف URLScan.ini بحظر أي الطلبات التي تحتوي على علامة النسبة المئوية (%)، وعلامة الضم (&)، المستخدمين تلقي رسالة خطأ 404 عند محاولة فتح رسالة بخط موضوع مثل "زيادة المبيعات بنسبة 100%" أو "بوب وسمر قادمون إلى المدينة". لحل هذه المشكلة، يمكنك إزالة هذا التسلسل من القسم [دينيورلسيقوينسيس] . لاحظ أن هذا يقلل أمان نظراً لأن من المحتمل أن تسمح طلبات ضارة الوصول إلى الملقم.

للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
325965 أداة URLScan قد يسبب مشاكل في Outlook Web Access

تكوين URLScan للاستخدام مع تطبيقات تعتمد على IIS

تطبيقات مثل Microsoft Visual Studio.NET و FPSE تبادل تعتمد على IIS للوظائف الصحيحة. إذا لم يتم تكوين URLScan بشكل صحيح، قد تتوقف هذه التطبيقات تعمل بشكل صحيح.


للحصول على معلومات إضافية حول كيفية تكوين URLScan للعمل مع هذه التطبيقات، انقر فوق أرقام المقالات التالية لعرضها في "قاعدة المعارف ل Microsoft":
تكوين IIS Lockdown و URLscan 309508 في بيئة Exchange

كيفية استخدام URLScan مع FrontPage 2000 309394

كيفية استخدام URLScan باستخدام FrontPage 2002 318290

310588 فصل مجموعة أدوات أمان ASP.NET تصحيح الأخطاء في Visual Studio.NET

مزيد من المعلومات

إذا كان Urlscan.ini غير موجود في المجلد %WINDIR%\System32\Inetsrv\URLscan، تلقي العميل استجابة خطأ 404. لحل هذه المشكلة، استعادة الملف Urlscan.ini من نسخة احتياطية أو نسخ الملف Urlscan.ini من ملقم متطابقة.

المراجع

للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
325864 كيفية تثبيت واستخدام معالج تأمين IIS

خصائص

رقم الموضوع: 326444 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات