Browse Ask a Question
 
Tools Add
Rss Categories

Defeating Cross-Site Request Forgery (CSRF) Attacks

Author: Partian Co Reference Number: AA-00315 Views: 2698 Created: 2017-08-02 14:24 Last Updated: 2017-11-26 14:01 0 Rating/ Voters
حفاظت از وب سرور در برابر حملات Cross-Site Request Forgery - CSRF

در حملات از نوع CSRF، هکر با بهره گیری از اعتمادی که یک سایت به مرورگر یک کاربر دارد، از دستورات غیر مجاز استفاده می کند.

ویژگی CRSF Protection زمانی که دستگاه FortiWeb در حالت Offline Protection یا Transparent Inspection قرار دارد قابل پشتیبانی نمی باشد.

جهت حفاظت از وب سرور در برابر حملات CSRF باید دو لیست ایجاد کرد:

  1.  یک لیست از صفحات وب، جهت محافظت در برابر حملات CSRF
  2. یک لیست متناظر از URL های موجود در درخواست هایی که توسط صفحات وب فوق تولید می شوند.

تنظیمات مربوط به حفاظت از وب سرور در برار حملات CSRF

  • از منوی سمت چپ به مسیر  Web Protection > Advanced Protection > CSRF Protection رفته و از نوار بالای صفحه گزینه ی Create New را انتخاب کنید.


نکته:

  • برای فیلد Name یک نام منحصر بفرد انتخاب کرده تا در دیگر بخش های تنظیمات بتوانید به راحتی از آن استفاده کنید. در انتخاب نام مورد نظر از Space یا کاراکتر های خاص استفاده نکنید.
  • توسط فیلد 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

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

  •  توسط فیلد Trigger Action مشخص خواهید کرد هنگامی که یک Log و یا Alert Email در رابطه با یک Violation ایجاد می شود، دستگاه FortiWeb از کدام Trigger استفاده کند. به عنوان مثال شما می توانید FortiAnalyzer را به عنوان Trigger  انتخاب کنید.
  •  بر روی گزینه ی OK کلیک کرده و به منظور ایجاد یک لیست از صفحات وب جهت محافظت در برابر حملات CSRF، در قسمت Page List Table گزینه ی Create New را انتخاب کنید.


نکته:

  • Host Status: جهت اعمال این Rule بر روی درخواست هایی که از سمت صفحات وب خاص فرستاده می شوند، این گزینه را فعال کنید.
  • Host: توسط این فیلد یک Host Name انتخاب می کنید تا با فیلد Host مربوط به درخواست، جهت Match شدن مقایسه شود. برای این فیلد باید یک Host Name یا IP Address وارد کنید.
  • Request Type: توسط این فیلد مشخص خواهید کرد که مقدار فیلد Full URL در تنظیمات فوق توسط یک URL کامل یا بخشی از آن و یا توسط یک Regular Expression مقدار دهی شود.
  • زمانی که گزینه ی Regular Expression را انتخاب می کنید نیاز به وارد کردن URL به صورت کامل برای فیلد Full URL نیست. در واقع Regular Expression ترکیبی از  علامت ها و کاراکتر ها می باشد که الگویی را جهت جستجوی URL فراهم می کند. در نتیجه اگر قسمتی از URL شامل این الگو شود عملیات Match شدن انجام و Rule فوق بر روی درخواست اعمال می شود. به عنوان مثال دو راه برای وارد کردن ?www.test.com / وجود دارد:
  1. اگر برای فیلد Request Type گزینه ی Simple String را انتخاب کرده اید:  www.test.com/
  2. اگر برای فیلد Request Type گزینه ی Regular Expression را انتخاب کرده اید: test\.com
  • در بعضی از موارد درخواستی که به سمت یک صفحه ی وب فرستاده می شود و درخواستی که صفحه ی وب تولید می کند دارای URL مشابه می باشند. جهت حل این مشکل می توانید از ویژگی Parameter Filter استفاده کنید. به صورتی که به هر کدام از URL های فوق یک Parameter Filter اضافه کنید. با فعال کردن گزینه ی Parameter Filter  باید یک نام و یک مقدار برای پارامتر به ترتیب در فیلد های Parameter Name و Parameter Value تعیین کنید. همچنین توسط فیلد Parameter Value Type مشخص خواهید کرد که مقدار فیلد Parameter Value چگونه مقدار دهی شود. این فیلد دارای دو گزینه ی Simple String و Regular Expression می باشد.
  •  جهت اضافه کردن صفحات وب دیگر مراحل بالا را تکرار کنید.
  • به منظور ایجاد یک لیست متناظر از URL های موجود در درخواست هایی که توسط صفحات وب تولید می شوند، در قسمت URL List Table گزینه ی Create New را انتخاب کنید.

نکته:

تمامی تنظیمات همانند تنظیمات مربوط به ایجاد یک لیست از صفحات وب می باشد.

  •  جهت اعمال Rule فوق در یک  Inline Protection Profile ابتدا اطمینان حاصل کنید که تنظیمات مربوط به Session Management انجام شده باشد.




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