Browse Ask a Question
 
Tools Add
Rss Categories

Combination Access Control and Rate Limiting

Author: Partian Co Reference Number: AA-00299 Views: 1989 Created: 2017-07-17 14:24 Last Updated: 2017-11-25 12:44 0 Rating/ Voters
ترکیب Access Control و Rate Limiting
 بعضی مواقع شما قصد دارید به یک Web Crawler در شرایطی که زیاد مورد تقاضا قرار نگیرد و Source IP آن مجاز باشد، اجازه دسترسی بدهید. یا اینکه شما قصد دارید به کاربری که دارای IP Address مربوط به Senior Manager می باشد و همچنین بوسیله یک Malware آلوده نشده، اجازه دسترسی بدهید.

Access Control Rule در شرایط پیچیده مانند آنچه در بالا ذکر گردید انعطاف پذیری بیشتری را ارائه خواهند داد. شما می توانید تعدادی یا تمامی معیار های زیر را جهت کنترل دسترسی با یکدیگر ترکیب کنید:

  • Source IP Address
  • User
  • Rate Limit
  • HTTP Header or Response code
  •  URL
  • Predefined or Custom Attack or Data Leak Signature Violation
  • Transaction or Packet Interval Timeout
  •  Real Browser Enforcement

تنظیمات مربوط به Advanced Access Control Rule

  •  از منوی سمت چپ به مسیر Web Protection > Advanced Protection > Custom Policy رفته و از نوار بالای صفحه گزینه ی Custom Rule را انتخاب می کنیم.


  •  در این مرحله جهت ایجاد یک Rule جدید از نوار بالای صفحه گزینه ی Create New را انتخاب کنید. ولی در صورتی که قصد ایجاد یک Rule جدید بر اساس یکی از Rule های پیش فرض را دارید یکی از این Rule  ها را انتخاب نموده و از نوار بالای صفحه گزینه ی Clone را انتخاب کنید. اگر یکی از  Rule های پیش فرض را Colne می کنید. در ابتدا یک نام برای Rule جدید انتخاب کرده و سپس بر روی گزینه ی OK کلیک کنید.

  • در ادامه جهت ویرایش Rule جدید باید آن را در لیست انتخاب کرده و بر روی گزینه ی Edit کلیک کنید.


نکته:

  • برای فیلد Name یک نام منحصر بفرد انتخاب کرده تا در دیگر بخش های تنظیمات بتوانید به راحتی از آن استفاده کنید. در انتخاب نام مورد نظر از Space یا کاراکتر های خاص استفاده نکنید. همچنین حداکثر طول این نام باید 35 کاراکتر باشد.
  • توسط فیلد Action می توانید تعیین کنید که دستگاه FortiWeb چه اقدامی را در هنگام تشخیص یک Violation انجام دهد. این فیلد دارای گزینه های زیر می باشد:
  1. Alert: با انتخاب این گزینه، درخواست مربوطه پذیرفته شده و یک Alert Email و یا Log Message تولید می شود.
  2. Alert & Deny:  با انتخاب این گزینه، درخواست مربوطه بلاک شده و یک Alert Email و یا Log Message تولید می شود.
  3. Period Block: با انتخاب این گزینه، درخواست های بعدی از سمت این کاربر برای مدت زمانی مشخص بلاک می شود. در این مورد شما باید فیلد Block Period را نیز مقدار دهی کنید.
  • برای فیلد Block Period باید مدت زمانی که درخواست های بعدی از سمت کاربر مربوطه بلاک می شود را تعیین کنید. این فیلد تنها در صورتی که گزینه ی Period Block را برای فیلد Action انتخاب کنید قابل مقدار دهی می باشد. مقدار مجاز برای این فیلد از 1 تا 3600 ثانیه می باشد. مقدار پیش فرض برای این فیلد 60 ثانیه می باشد.
  • زمانی که یک Violation در Log ثبت می شود، هر Log Message شامل یک فیلد به نام Severity Level می شود. توسط گزینه ی Severity می توانید تعیین کنید که دستگاه FortiWeb کدام Severity Level را در زمان وقوع یک Violation استفاده کند. گزینه های موجود برای Severity Level به قرار زیر می باشد:
  1.  Low
  2.  Medium
  3.  High

مقدار پیش فرض برای این گزینه Medium می باشد.

  •  توسط فیلد Trigger Action مشخص خواهید کرد هنگامی که یک Log و یا Alert Email در رابطه با یک Violation ایجاد می شود، دستگاه FortiWeb از کدام Trigger استفاده کند. به عنوان مثال شما می توانید FortiAnalyzer را به عنوان Trigger  انتخاب کنید.
  • با فعال کردن گزینه ی Real Browser Enforcement مشخص می کنید که دستگاه FortiWeb یک JavaScript را به سمت کاربر برگرداند. این عمل جهت تست کاربر می باشد که آیا درخواست در واقع از سمت یک مرورگر فرستاده می شود یا اینکه از سمت ابزار های خودکار از قبیل ربات ها می باشد. اگر کاربر در تست رد شد و یا این که نتیجه را تا قبل از اتمام Validation Timeout بازگشت نداد، دستگاه FortiWeb اقدام به اعمال Action خواهد نمود. اگر نتیجه ی تست مشخص کرد که درخواست از سمت یک مرورگر است، Action فوق بر روی کاربر اعمال نخواهد شد.
  • توسط فیلد Validation Timeout ماکزیمم مقدار زمانی که دستگاه FortiWeb جهت دریافت نتیجه ی تست از سمت کاربر منتظر می ماند را می توانید مشخص کنید.
  •  بعد از کلیک بر روی گزینه ی OK بر روی گزینه ی Create New کلیک کنید. با انتخاب این گزینه شما می توانید یک Custom Rule جدید ایجاد کنید.


  • توسط فیلد Filter Type شما می توانید یکی از فیلتر  هایی که یک درخواست باید جهت مجاز شناخته شدن، از آن عبور کند را انتخاب کنید. با انتخاب هر فیلتر یک منوی جدید جهت تنظیمات خواهید داشت. در زیر به بررسی اجمالی فیلتر های موجود می پردازیم:

Source IPv4/IPv6: در این فیلتر IP Address مربوط به کاربری که مجاز شناخته می شود را وارد کنید. بر اساس تنظیمات انجام شده در مورد چگونگی یافتن IP Address مربوط به کاربر توسط دستگاه FortiWeb، این IP Address می تواند به جای نمایش در یک IP Header در یک HTTP Header نمایش داده شود. جهت آشنایی با تنظیمات انجام شده در مورد چگونگی یافتن IP Address مربوط به کاربر توسط دستگاه FortiWeb می توانید به آموزش   تعریف X-Header در FortiWeb مراجعه نمایید.


User: در این مورد جهت Match شدن درخواست با فیلتر، باید از یک نام کاربری در تنظیمات استفاده کنید. همچنین باید شرایط Match شدن این فیلتر  با درخواست را تعیین کنید به این ترتیب که اگر درخواست فوق شامل نام کاربری مشخص شده در تنظیمات باشد، بتواند با فیلتر فوق Match شود؟ و یا این که اگر درخواست شامل یک نام کاربری به غیر از نام کاربری مشخص شده در تنظیمات باشد، بتواند با فیلتر فوق Match شود؟  لازم به ذکر است انتخاب این فیلتر نیازمند این است که شما یک User Tracking Policy را در هر Protection Profile ای که از این Advanced Access Policy استفاده می کند، انتخاب کنید. جهت آشنایی با User Tracking Policy به آموزش مربوط به Tracking Users مراجعه کنید.


URL: برای این فیلتر از یک Regular Expression جهت مقایسه و Match شدن با یک یا چند URL استفاده خواهید کرد. لازم به ذکر است که Regular Expression فوق نباید شامل Host Name شود. همچنین باید شرایط Match شدن این فیلتر را تعیین کنید. به این ترتیب که اگر URL شامل Regular Expression باشد عملیات Match شدن انجام شود؟ و یا این که اگر URL شامل Regular Expression نباشد، عملیات Match شدن انجام شود؟


HTTP Header: این فیلتر به یک HTTP Header Name و مقدار این HTTP Header در فیلد Header Value اشاره می کند. اگر مقدار Request Header با مقدار دقیق آنچه در فیلد Header Value و یا Regular Expression که در تنظیمات وارد کرده اید یکسان باشد، درخواست با فیلتر فوق Match می شود. توجه داشته باشید مقدار ی که در فیلد Header Value وارد می کنید به حروف بزرگ و کوچک حساس می باشد.

اگر گزینه ی Header Value Reverse Match را فعال کنید، درخواست در شرایطی با فیلتر فوق Match می شود که Request Header شامل مقدار دقیق تعیین شده در فیلد Header Value یا مقدار Regular Expression نباشد.



Access Rate Limit: در این فیلد تعداد درخواست ها از سمت هر کاربر را در هر ثانیه  مشخص می کنید. جهت آشنایی با نوع تنظیمات انجام شده در مورد چگونگی یافتن IP Address مربوط به کاربر توسط دستگاه FortiWeb می توانید از لینک   تعریف X-Header در FortiWeb استفاده کنید. این IP Address می تواند به جای نمایش در یک IP Header در یک HTTP Header نمایش داده شود. لازم به ذکر است شما تنها می توانید یک فیلتر Access Rate Limit را به هر Rule اضافه کنید.


Signature Violation: در این مورد، Match شدن درخواست با فیلتر در صورتی اتفاق می افتد که دستگاه FortiWeb گروهی مشخص از Attack Signature ها را در درخواست یا Response، شناسایی کند. گروه های Attack Signature به قرار زیر می باشند.

  1. Cross Site Scripting
  2. Cross Site Scripting (Extended)
  3. SQL Injection
  4. SQL Injection (Extended)   
  5. SQL Injection (Syntax Based Detection)
  6. Generic Attacks
  7. Generic Attacks (Extended)
  8. Known Exploits
  9. Custom Signature (group or individual rule)

جهت استفاده از هر کدام از این گروه ها در یک Advanced Access Control Rule ابتدا باید آن را در تنظیمات مربوط به Signature ها فعال کنید. جهت آشنایی بیشتر به آموزش Defining Custom Data Leak & Attack Signatures  مراجعه کنید.



Transaction Timeout: در این مورد عملیات Match شدن درخواست با فیلتر در صورتی اتفاق می افتد که مقدار زمان Lifetime مربوط به یک HTTP Transaction از مقدار معین شده برای فیلد Transaction Timeout در تنظیمات فوق بیشتر شود. مقدار مجاز برای فیلد Transaction Timeout از 1 تا 3600 ثانیه می باشد.


HTTP Response Code: در این مورد عملیات Match شدن درخواست با فیلتر در صورتی اتفاق می افتد که یک HTTP Response Code با یک یا گروهی از کدهایی که در فیلد HTTP Response Code در تنظیمات فوق مشخص کرده اید مطابقت کند. برای مثال 404 یا 500-503


Content Type: در این مورد عملیات Match شدن HTTP Response با فیلتر در صورتی اتفاق می افتد که با یکی از مقادیر مشخص شده در فیلد Content Type Set در تنظیمات فوق مطابقت داشته باشد.


Packet Interval Timeout: در این مورد عملیات Match شدن درخواست با فیلتر در صورتی اتفاق می افتد که بازه زمانی بین پکت هایی که از سمت کاربر یا سرور فرستاده می شوند از مقدار زمان مشخص شده در فیلد Packet Interval Timeout پیشی بگیرد. مقدار مجاز برای فیلد Packet Interval Timeout از 1 تا 60 ثانیه می باشد.


  • در ادامه و پس از انتخاب یکی از فیلتر  های ذکر شده در بالا و انجام تنظیمات مربوطه بر روی گزینه ی OK کلیک کرده تا مجددا به صفحه ی تنظیمات Rule باز گردید. شما می توانید مرحله ی قبل را جهت اضافه کردن هر کدام از فیلتر های دیگر به Access Rule مجددا تکرار کنید. به عنوان مثال شما می توانید فیلتر های URL و HTTP Header و Source IP را جهت تعیین مجاز بودن یا نبودن یک درخواست با هم ترکیب کنید. لازم به ذکر است که در هر Rule شما تنها از یک فیلتر Access Rate Limit می توانید استفاده کنید.
  • در مرحله ی بعد از منوی سمت چپ به مسیر  Web Protection > Advanced Protection > Custom Policy رفته و از نوار بالای صفحه بر روی گزینه ی Custom Policy کلیک کرده و گزینه ی Create New را انتخاب کنید.



  • پس از انتخاب یک نام برای Policy فوق و کلیک بر روی OK، گزینه Create New را انتخاب کنید.


  •   توسط فیلد Custom Rule می توانید Rule هایی که در مراحل قبل ساختید را به Policy فوق اضافه کنید.
  • جهت اعمال Advanced Access Policy فوق، آن را به عنوان یک Custom Policy در یک Protection Profile انتخاب کنید.





Rss Comments
  • There are no comments for this article.
Info Add Comment
Nickname: Your Email: Subject: Comment:
Enter the code below:
Info Ask a Question