اطمینان از غیرفعال بودن قابلیت debug (Scored)
Profile Applicability
• Level 2 – IIS 10
Description
توسعه دهندگان اغلب حالت debug mode را در حین توسعه فعال سازی ASP.NET فعال میکنند پس به این دلیل مجبور نیستند هر بار که تغییراتی را در یک resource handler ایجاد میکنند، browsers cache خود را پاک کنند.
مشکل از جایی شروع میشود که این قابلیت روی on بماند یا روی true تنظیم شود. مجموع خروجی debug که به end user نمایش داده میشود به افراد مخرب این امکان را میدهد تا اطلاعات دقیقس در مورد اپلیکیشنها بدست آورند.
مستند امن سازی وب سرور IIS 10 – بخش پانزدهم
این یک توصیه دفاع در عمق است که وجود deployment retail=”true” در فایل پیکربندی machine.config مهم تر از هر debug setting دیگری است. توصیه میشود debugging همچنان خاموش باشد.
Rationale
تنظیم compilation debug به false تضمین میکند که اطلاعات Error هایی که شامل محتوا هستند به طور غیر عمدی در هنگام استفاده از اپلیکیشن نمایش داده نمیشوند که باعث کاهش احتمال لو رفتن اطلاعات و قرار گرفتن آنها در دستان افراد خطرناک میشود.
Audit
فایل web.config مربوطه را پیدا کرده و باز کنید. سویچ را پیدا و تایید کنید که روی false تنظیم شده باشد.
یا
برای تایید از طریق PowerShell دستور زیر را وارد کنید:
Remediation
برای اعمال این تغییرات از طریق UI:
1-IIS Manager خود را باز کنید و به سرور، سایت یا اپلیکیشن مورد نظرتان بروید.
2-در Features View روی .NET Compilation دوبا کلیک کنید.
3- در صفحه .NET Compilation، در بخش Behavior، اطمینان حاصل کنید که قسمت Debug روی False تنظیم شده است.
4-در پایان روی Apply در پنجره Actions کلیک کنید.
نکته:
سوئیچ compilation debug در فایل web.config موجود نخواهد بود مگر اینکه به صورت دستی اضافه شده باشد ، یا قبلاً با استفاده از رابط کاربری گرافیکی Manager IIS پیکربندی شده باشد.
یا
دستور زیر را برای پیکربندی در PowerShell وارد کنید:
Default Value
Debug باینریها به طور پیشفرض فعال نیستند.
منابع:
technet.microsoft.com/en-us/library/cc725812%28WS.10%29.aspx
مطالب این بخش برگرفته از مستند امن سازی وب سرور IIS مربوط به وب سایت CIS می باشد.
مطالب این بخش توسط جناب آقای نوربخش تهیه شده است.