چگونه درخواست ها را با ماژول Dynamic IP Address Restrictions محدود کنیم؟
Dynamic IP Address Restrictions (به اختصارDIPR ) یا محدودیت IP های دینامیک یکی از پرکاربردترین قابلیتها برای کارشناسان IT و سرویس های ارائه دهنده هاست است. DIPR به آنها کمک میکند تا بتوانند از طریق محدود کردن موقت IP از حملات DOS (عدم سرویس دهی denial-of-service) سرویسها یا سوء استفاده از پسوردهای کاربران به روش Brute-force از سرویس گیرندگان HTTP جلوگیری کنند. این ماژول میتواند به گونهای تنظیم شود که بتوان آنالیز و مسدود کردن IP را در سطح وب سرور یا سطح وب سایت انجام داد. مدیر سرور یا مدیر سایت میتواند مشخص کند که در صورت مسدود کردن مشتری، چه صفحه ای را در پاسخ درخواست HTTP برگرداند: غیرمجاز Unauthorized (401)؛ ممنوع Forbidden (403)؛ یا یافت نشد Not Found (404). همچنین می توانید گزینه Deny Action Type را روی Abort تنظیم کنید تا اتصال را بدون بازگشت هیچ نشانه ای قطع شود. این ویژگیها در IIS 7 پشتیبانی نمیشود اما در IIS 8.0 و IIS 10 در دسترس است. همچنین این ماژول، IPv6 را بطور کامل پشتیبانی می کند.
رد درخواست IP های دینامیک در IIS 7.0 به صورت دستی انجام میشود در صورتی که این تنظیمات از ۸.۰ IIS به بعد کاملا به صورت اتوماتیک انجام میگردد.
در IIS 8.0 و نسخه های بالاتر قابلیتهای جدیدی نسبت به IIS قبلی وجود دارد. از این ویژگیها میتوان موارد زیر را نام برد :
– فیلتر نمودن آدرس IP های دینامیک. این ویژگی به مدیران سایت این امکان را میدهد تا درخواستهای ارسالی از یک آدرس را محدود نمایند.
– امکان نمایش خطاهای اختصاصی برای آدرسهای بسته شده مانند خطای HTTP 403. به شما پیشنهاد می شود برای درک بیشتر و کسب اطلاع عمیق تر درباره خطای forbidden 403 چیست به مقاله نوشته شده در همین زمینه مراجعه نمایید.
– محدود کردن IP آدرسهایی که از ابزارهایی مانند Proxy Server ها، ارسال میشوند.
برای استفاده از این ویژگی، هنگام نصب IIS باید مطابق شکل زیر ویژگی مربوطه انتخاب شود :
تنظیمات رد درخواست بر اساس تعداد درخواستهای کاربران، تعداد درخواستهای همزمان و درخواستهایی که در یک زمان خاص ارسال میگردند قابل تغییر هستند. برای انجام هر کدام از این تنظیمات میتوانید طبق مراحل زیر، اقدام نمایید.
تنظیمات IIS برای جلوگیری از دسترسی بر اساس درخواست HTTP
- در ویندوز سرور نصب شده لاگین نمایید.
- وارد صفحه Internet Information Services (IIS) Manager شوید.
- نام سرور خود را انتخاب نمایید. سپس در صفحه جاری برروی آیکن IP Address and Domain Restrictions کلیک نمایید.
- در قسمت Actions برروی Edit Dynamic Restriction Settings کلیک نمایید.
- هنگامی که صفحه تنظیمات Dynamic IP نمایان گردید، گزینه Deny IP Address based on the number of concurrent requests را انتخاب کنید. این تنظیم برای جلوگیری از درخواستهای زیاد از سوی کاربران، میباشد. با فعال نمودن گزینه Deny IP Address based on the number of requests over a period of time، از ارسال درخواستها در یک تایم مشخص و به صورت مداوم، جلوگیری خواهدشد.
- و در پایان بر روی OK کلیک نمایید.
تنظیمات IIS هنگام جلوگیری از آدرسهای IP
در IIS 7 و ورژنهای قبلی IIS خطای “۴۰۳.۶ Forbidden” را برای کاربر محدود شده، ارسال مینماید. اما در IIS 8.0 و نسخههای جدیدتر،مدیریت سایت، قابلیت محدود کردن با روشهای مختلف را در اختیار دارد.
برای پیکربندی رفتاری که IIS هنگام جلوگیری آدرس IP از آن استفاده خواهد کرد، میتوانید مراحل زیر را انجام دهید:
- در ویندوز سرور نصب شده لاگین نمایید.
- وارد صفحه Internet Information Services (IIS) Manager شوید.
- بر روی سرویس خود (نام سایت) کلیک نمایید و سپس برروی امکانات IP Address and Domain Restrictions کلیک نمایید.
- در Actions برروی Edit Feature Settings کلیک نمایید.
- در صفحه تغییرات تنظیمات Deny Action Type را انتخاب نمایید. سپس از لیست موجود Action مورد نیاز را انتخاب نمایید.
- Unauthorized: خطای HTTP 401
- Forbidden: خطای HTTP 403
- Not Found: خطای HTTP 404
- Abort: خطای ارتباط HTTP
- و در پایان برروی OK کلیک نمایید.
تنظیمات IIS برای Proxy Mode
یکی از چالشهای مربوط به فیلتر IP این است که بسیاری از مشتری ها به IIS از طریق یک یا چند فایروال، load-balancing یا پروکسی سرورها دسترسی پیدا میکنند. بنابراین ممکن است آدرس IP همیشه به عنوان سرور در مسیر درخواستی که به سرور IIS نزدیکترین است، ظاهرشود. در تنظیمات IIS 8.0، مدیر سرور میتواند علاوه بر آدرس IP مشتری، هدر HTTP-Fored-for HTTP را بررسی کند تا مشخص شود که چه درخواستهایی مسدود شدهاست. به این رفتار “Proxy Mode” گفته میشود.
برای پیکربندی IIS در حالت proxy mode از مراحل زیر، استفاده کنید:
در ویندوز سرور ۲۰۱۲ لاگین نمایید.
- وارد صفحه Internet Information Services (IIS) Manager شوید.
- برروی سرویس خود ( نام سایت ) کلیک نمایید. سپس برروی امکانات IP Address and Domain Restrictions کلیک نمایید.
- در Actions برروی Edit Feature Settingsکلیک نمایید.
- در صفحه تنظیمات مربوطه Enable Proxy Mode را فعال نمایید.
- در پایان برروی OK کلیک نمایید.
نمونه پیکربندی
قطعه کد زیر، نمونهای از پیکربندی و نحوه تنظیم محدودیتهای آدرس IP را نشان میدهد.
XML
<system.webServer>
<security>
<dynamicIpSecurity enableLoggingOnlyMode=”true”>
<denyByConcurrentRequests enabled=”true” maxConcurrentRequests=”۱۰″ />
<denyByRequestRate enabled=”true” maxRequests=”۳۰″
requestIntervalInMilliseconds=”۳۰۰″ />
</dynamicIpSecurity>
</security>
</system.webServer>
[irp posts=”۷۶۶۸″ name=”مسدود نمودن درخواستهای مزاحم با استفاده از ماژول Dynamic IP Restriction در IIS 7.5″]