اطمینان از تنظیم maxAllowedContentLength (Not Scored)
Profile Applicability
• Level 2 – IIS 10
Description
فیلتر درخواست MaxAllowedContentLenght حداکثر اندازه درخواست http است که با بایت اندازه گیری میشود که میتواند از یک Client به سرور ارسال شود. پیکربندی این مقدار باعث میشود اندازه کل درخواست، محدود به یک مقدار پیکربندی شده باشد. توصیه میشود که اندازه کلی request ها به حداکثر مقدار مناسب برای سرور، سایت یا برنامه محدود شود.
Rationale
تنظیم مقدار مناسب که تست شده باشد برای فیلتر maxAllowedContentLength باعث کاهش ضربه request ای که به طور غیر عادی بزرگ هست به IIS یا وب اپلیکیشنها میشود. این به اطمینان از در دسترس بودن محتوا و خدمات وب کمک میکند و همچنین میتواند به کاهش خطر حملات از نوع buffer overflow در component های مدیریت نشده کمک کند.
Audit
با بالاتر رفتن حجم یک درخواست از مقدار تنظیم شده در request filter، IIS یک Status Code 404.13 را ایجاد میکند.
برای تأیید دستی تغییرات، web.config را برای وب سایت یا برنامهای که فیلتر درخواست در آن تنظیم شده است پیدا و باز کنید. اطمینان حاصل کنید که مقدار تعیین شده برای maxAllowedContentL length همان چیزی است که مشخص شده است. مثال زیر حداکثر 28.6MB را نشان میدهد:
یا
برای تایید از طریق PowerShell دستور زیر را وارد کنید:
Remediation
فیلتر درخواست MaxAllowedContentLength میتواند برای یک سرور، وب سایت یا اپلیکیشن از طریق IIS Manager GUI، با استفاده از دستورات AppCmd.exe در یک پنجره command-line یا Edit کردن مستقیم فایلهای پیکربندی WMI تنظیم شود. برای پیکربندی از طریق مراحل گفته شده در IIS Manager GUI مراحل زیر را دنبال نمایید:
1- IIS Manager را باز کنید.
2- در صفحه Connections روی سرور، سایت، اپلیکیشن یا دایرکتوری مورد نظر برای پیکربندی کلیک کنید.
3- در صفحه Home روی Request Filtering، دوبار کلیک کنید.
4- در صفحه Actions روی Edit Features Settings کلیک کنید.
5- زیر بخش Request limits، حداکثر طول محتوا را به بایت کنید که به برنامهها امکان میدهد عملکرد مورد نظر خود را حفظ کنند، مانند 30000000 (تقریبا 28.6 (MB
برای پیکربندی از طریق AppCmd.exe دستور زیر را وارد کنید:
یا
دستور زیر را در PowerShell برای پیکربندی وارد کنید:
Default Value
زمانی که request filtering روی یک سیستم نصب میشود مقدار پیشفرض آن:
maxAllowedContentLength=“30000000” است که قریبا معادل 28.6 MB است.
منابع:
www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits
learn.iis.net/page.aspx/143/use-request-filtering/
مطالب این بخش توسط جناب آقای نوربخش تهیه شده است.