Browse Ask a Question
 
Tools Add
Rss Categories

Preventing Tampering with Hidden Inputs

Author: Partian Co Reference Number: AA-00324 Views: 2571 Created: 2017-08-13 12:41 Last Updated: 2017-09-18 13:14 0 Rating/ Voters

ممانعت از دستکاری و تغییرات Hidden Input ها

 Hidden Input ها اغلب داخل یک صفحه ی HTML نوشته می شوند. وب سرور صفحه ی فوق را برای کاربران ارائه می دهد در حالی که Hidden Input در صفحه ی وب ارائه شده قابل رویت نمی باشد. 

به دلیل این که Hidden Input ها به صورت قابل رویت ارائه نمی شوند، به اشتباه امن و دور از دسترس هکر ها در نظر گرفته می شوند. در حالی که مشابه Session Cookie ها، Hidden Input ها نیز اطلاعات نرم افزاری را در سمت کاربر ذخیر می کنند و نه در سمت سرور، که این موضوع می تواند آن ها را آسیب پذیر کند.

تنظیمات مربوط به ایجاد یک Hidden Field Rule

  • قبل از شروع تنظیمات اگر می خواهید این Rule فقط بر روی درخواست هایی که به سمت یک Virtual Host و یا Real Host خاص فرستاده می شوند اعمال شود، ابتدا باید Host فوق را در یک Protected Host Names Group تعریف کنید. برای آشنایی بیشتر به آموزش Protected Web Servers and Allowed/Protected Host Names مراجعه نمایید.
  • از منوی سمت چپ به مسیر Web Protection > Input Validation > Hidden Fields رفته و از نوار بالای صفحه بر روی گزینه ی Hidden Fields Rule کلیک کرده و در ادامه گزینه ی Create New را انتخاب کنید.


نکته:

  • برای فیلد Name یک نام منحصر بفرد انتخاب کرده تا در دیگر بخش های تنظیمات بتوانید به راحتی از آن استفاده کنید. در انتخاب نام مورد نظر از Space یا کاراکتر های خاص استفاده نکنید. همچنین حداکثر طول این نام باید 35 کاراکتر باشد.
  • Host Status: اگر قصد دارید این Hidden Field Rule تنها بر روی HTTP Request هایی که به سمت یک Host خاص فرستاده می شود، اعمال شود این گزینه را فعال کنید.
  • Host: برای این فیلد نام یک Host تحت حفاظت را وارد کنید. این نام با مقدار فیلد Host مربوط به یک HTTP Request مقایسه و در صورت Match شدن Hidden Field Rule اجرا می شود. این فیلد تنها در صورتی که گزینه ی Host Status فعال باشد قابل تنظیم می باشد.
  • Request URL: برای این گزینه باید یک URL وارد کنید. لازم به ذکر است که URL فوق شامل Hidden Input ای شود که قصد دارید برای آن یک Hidden Field Rule ایجاد کنید. این URL باید با یک Slash شروع شود. این URL نباید شامل Host Name شود به عنوان مثال www.example.com
  • توسط فیلد Action می توانید تعیین کنید که دستگاه FortiWeb چه اقدامی را در هنگام تشخیص یک Violation انجام دهد. این فیلد دارای گزینه های زیر می باشد:
  1. Alert: با انتخاب این گزینه Request مربوطه Accept شده و یک Alert Email و یا Log Message تولید می شود.
  2. Alert & Deny:  با انتخاب این گزینه Request مربوطه Block شده و یک Alert Email و یا Log Message تولید می شود.
  3. Period Block: با انتخاب این گزینه Request های بعدی از سمت این Client برای مدت زمانی مشخص Block می شود. در این مورد شما باید فیلد Block Period را نیز مقدار دهی کنید.
  4. Redirect: با انتخاب این گزینه Request مربوطه به سمت URL ای که در Protection Profile و یا فیلد URL Pattern در تنظیمات فوق مشخص کرده اید Redirect می شود و یک Alert Email یا Log Message تولید می شود.
  5. Send 403 Forbidden: با انتخاب این گزینه، Request مربوطه با یک پیام خطا با محتوی HTTP 403 Access Forbidden مواجه خواهد شد و یک Alert یا Log Message تولید می شود.

  • برای فیلد Block Period باید مدت زمانی که Request های بعدی از سمت کاربر مربوطه Block می شود را تعیین کنید. این فیلد تنها در صورتی که گزینه ی Period Block را برای فیلد Action انتخاب کنید قابل مقدار دهی می باشد. مقدار مجاز برای این فیلد از 1 تا 3600 ثانیه می باشد. مقدار پیش فرض برای این فیلد 1ثانیه می باشد.
  • زمانی که یک Violation در Log ثبت می شود، هر Log Message شامل یک فیلد به نام Severity Level می شود. توسط گزینه ی Severity می توانید تعیین کنید که دستگاه FortiWeb کدام Severity Level را در زمان وقوع یک Violation استفاده خواهد کرد. گزینه های موجود برای Severity Level به قرار زیر می باشد:
  1.  Low
  2.  Medium
  3.  High

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

  • توسط فیلد Trigger Action مشخص خواهید کرد هنگامی که یک Log و یا Alert Email در رابطه با یک Violation ایجاد می شود، دستگاه FortiWeb از کدام Trigger استفاده کند. به عنوان مثال شما می توانید FortiAnalyzer را به عنوان Trigger  انتخاب کنید.
  •  بر روی گزینه ی OK کلیک کرده و در ادامه بر روی گزینه ی Fetch URL کلیک کنید. این گزینه روبروی فیلد Request URL قرار دارد.


نکته:

  • برای فیلد Pserver باید IP Address مربوط به Physical Server را انتخاب کنید.
  • Port: برای این فیلد باید شماره پورت TCP که Physical Server بر روی آن، عملیات Listen کردن HTTP/HTTPS Connection را انجام می دهد، انتخاب کنید. شما می توانید شماره پورت را از 0 تا 65535 انتخاب کنید. معمولا برای HTTP شماره پورت 80 و برای HTTPS شماره پورت 443 انتخاب می شود.
  • توسط فیلد Protocol مشخص خواهید کرد که آیا برای اتصال به وب سرور از HTTP و یا HTTPS استفاده می کنید.
  •  در ادامه دستگاه FortiWeb صفحه ی وبی که شما در فیلد Request URL به آن اشاره کردید را آنالیز کرده و یک کادر  جدید نمایش داده می شود که حاوی یک لیست می باشد. این لیست موارد زیر را نمایش می دهد:
  1.  Hidden Input هایی که توسط دستگاه FortiWeb یافت می شود.
  2. و همچنین URL هایی که این Hidden Input ها به سمت آن Post می شوند. زمانی که یک کاربر یک فرم را ارائه می دهد، .


نکته:

  • موارد موجود در لیست توسط رنگ های مختلف از یکدیگر متمایز می شوند:
  1. Blue: رنگ آبی نشان دهندی این موضوع می باشد که URL یا Hidden Field در URL مربوط به Request موجود می باشد اما شما هنوز آن را در Hidden Field Rule پیکربندی نکرده اید. آن را به Hidden Field Rule اضافه کنید.
  2. Red: رنگ قرمز نشان دهندی این موضوع می باشد که URL یا Hidden Field در URL مربوط به Request موجود نمی باشد، با این حال در Hidden Field Rule پیکربندی شده است. آن را از Hidden Field Rule  حذف کنید.
  3. Black: رنگ مشکی نشان دهندی این موضوع می باشد که URL یا Hidden Field در URL مربوط به Request و همچنین Hidden Field Rule  موجود می باشد.
  • با فعال کردن گزینه ی Status برای هر مورد موجود در لیست می توانید آن را در Hidden Field Rule قرار دهید.
  • در ادامه بر روی گزینه ی OK کلیک کرده تا تنظیمات ثبت شود.
  • اگر قصد دارید به صورت دستی  مواردی را به یکی از دو لیست فوق اضافه کنید مراحل زیر را انجام دهید:
  1. بر روی گزینه ی Create New بالای لیست مورد نظر کلیک کنید.
  2. در کادر ظاهر شده URL یا Hidden Field مورد نظر خود را را وارد کنید.
  • در ادامه از منوی سمت چپ به مسیر Web Protection > Input Validation > Hidden Fields رفته و از نوار بالای صفحه بر روی گزینه ی Hidden Fields Policy کلیک کرده و گزینه ی Create New را انتخاب کنید.


نکته:
  • برای فیلد Name یک نام منحصر بفرد انتخاب کرده تا در دیگر بخش های تنظیمات بتوانید به راحتی از آن استفاده کنید. در انتخاب نام مورد نظر از Space یا کاراکتر های خاص استفاده نکنید. همچنین حداکثر طول این نام باید 35 کاراکتر باشد.

  • در ادامه بر روی گزینه ی OK کلیک کرده و گزینه ی Create New را انتخاب کنید.



نکته:

 Hidden Fields Rule: برای این فیلد، Hidden Field Rule ای که در مراحل قبل ساختید را انتخاب کنید.

  • جهت اعمال Hidden Field Policy فوق آن را در یک  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