پرش به مطلب اصلی

تنظیمات فایروال

نسل جدید فایروال آبالون، بستری پیشرفته و منعطف برای مدیریت و کنترل ترافیک HTTP ورودی به وب‌سایت یا وب‌اپلیکیشن شما فراهم می‌کند. با استفاده از این قابلیت، می‌توانید مجموعه‌ای از قوانین ترکیبی را بر اساس ویژگی‌های مختلف درخواست (IP، کشور، URL، هدرها و ...) تعریف کرده و امنیت دامنه خود را تقویت کنید.

فایروال آبالون امکان مسدودسازی ترافیک مشکوک را بر اساس ساختاری مشابه Wireshark فراهم می‌کند و می‌توانید آن را از طریق پنل کاربری مدیریت کنید.

فعال‌سازی فایروال از طریق پنل

Alt text

برای تنظیم فایروال:

۱. وارد پنل کاربری آبالون شوید.

۲. از بخش محصولات به CDN > امنیت > تنظیمات فایروال بروید.

۳. در این بخش می‌توانید قوانین دلخواه خود را تعریف کرده و شرایط مختلف را برای پذیرش یا رد ترافیک مشخص کنید.

در بخش «قانون پیش‌فرض»، می‌توانید مشخص کنید که اگر یک درخواست با هیچ‌یک از قوانین تعریف‌شده مطابقت نداشت، به‌صورت پیش‌فرض مجاز باشد یا مسدود شود.

Alt text

ایجاد قوانین فایروال

برای تعریف قانون جدید در فایروال آبالون، وارد بخش «تنظیمات فایروال» در پنل شوید و روی گزینه «افزودن قانون» کلیک کنید. در صفحه بازشده، می‌توانید مراحل زیر را انجام دهید:

  • نام و توضیح قانون: عنوان و توضیحی برای شناسایی بهتر قانون وارد کنید.

  • پارامتر: مشخص کنید قانون باید بر چه چیزی اعمال شود (مثلاً IP، کشور، URI، کوکی و...)

  • اپراتور: نوع تطابق را انتخاب کنید (مانند برابر است با، برابر نیست با، شامل و ...)

  • مقدار شرط: مقدار موردنظر برای تطابق را وارد کنید.

  • پیش‌نمایش قانون: می‌توانید معادل فنی قانون را مشاهده و بررسی کنید.

در پایان، مشخص کنید که نتیجه اجرای این قانون چه باشد:

اجازه دسترسی (Allow) یا مسدودسازی (Deny)، سپس قانون را ذخیره کنید.

Alt text

پارامترهای قابل انتخاب برای تعریف شرط در فایروال

برای ایجاد شرط در قوانین فایروال، ابتدا باید یکی از پارامترهای زیر را انتخاب کنید:

  • SOURCE IP ADDRESS

    • نمایش‌دهنده IP درخواست‌دهنده

    • مثال: 1.2.3.4

  • COUNTRY

    • کشور مبدا درخواست بر اساس کد دوحرفی ISO

    • مثال: IR

  • URI PATH

    • مسیر URI در درخواست

    • مثال: /help/index

  • HOSTNAME

    • نام میزبان در آدرس درخواست‌شده

    • مثال: example.com

  • COOKIE

    • مقدار کامل کوکی در قالب رشته

    • مثال: SSID=AyTkdelQ2_HcYlqfu;session=7563F164852R4475F79t2E7BCCE87FFA

  • REFERER

    • آدرس صفحه‌ای که کاربر از آن به صفحه فعلی هدایت شده

    • مثال: developer.example.com/docs/Web/JavaScript

  • REQUEST METHOD

    • نوع متد HTTP در درخواست

    • مثال: GET

  • URI

    • ترکیب کامل مسیر و Query String

    • مثال: /help/index?section=487365&expand=comments

  • URI QUERY STRING

    • فقط بخش Query String بدون علامت سؤال

    • مثال: section=487365&expand=comments

  • HTTP VERSION

    • نسخه HTTP مورد استفاده در درخواست

    • مثال: HTTP/1.1

  • USER AGENT

    • رشته‌ مشخص‌کننده مرورگر و سیستم‌عامل کاربر

    • مثال:

    • Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36

نکته

پارامترهای SOURCE IP ADDRESS ،COUNTRY ،HOSTNAME و URI در همه پلن‌ها فعال هستند. سایر پارامترها فقط در پلن سازمانی قابل استفاده‌اند (مقایسه پلن‌های سرویس CDN).

تعیین اپراتور و مقدار شرط در فایروال

Alt text

پس از انتخاب پارامتر موردنظر، نوبت به تعیین اپراتور منطقی و مقدار شرط می‌رسد. اپراتور مشخص می‌کند که مقدار پارامتر چگونه با مقدار واردشده مقایسه شود. بسته به نوع پارامتر و هدف شما، می‌توان یکی از اپراتورهای زیر را انتخاب کرد:

  • برابر است با (==)

    • زمانی استفاده می‌شود که مقدار باید دقیقاً با پارامتر برابر باشد.
  • برابر نیست با (!=)

    • بررسی می‌کند که مقدار با پارامتر تفاوت داشته باشد.
  • شامل (contains)

    • در صورتی استفاده می‌شود که پارامتر باید حاوی مقدار مشخصی باشد.
  • تطابق با الگوی REGEX (~)

    • در صورتی کاربرد دارد که مقدار باید با یک الگوی مشخص (Regular Expression) مطابقت داشته باشد.
  • در لیست موجود است (in)

    • بررسی می‌شود که آیا مقدار پارامتر در یک لیست مشخص از مقادیر وجود دارد یا خیر.
  • شروع می‌شود با

    • شرط زمانی برقرار است که پارامتر با مقدار داده‌شده شروع شود.
  • پایان می‌یابد با

    • شرط زمانی برقرار است که پارامتر به مقدار مشخص ختم شود.

ترکیب چند شرط در یک قانون

شما می‌توانید چند شرط را در قالب یک قانون تعریف کنید. در این حالت:

اگر شروط را با AND ترکیب کنید، همه‌ آن‌ها باید هم‌زمان برقرار باشند تا قانون اعمال شود.

اگر از OR استفاده کنید، برقرار بودن تنها یکی از شروط کافی است.

مثال کاربردی

Alt text

فرض کنید می‌خواهید ترافیک ورودی را بر اساس شرایط خاصی کنترل کنید. به‌عنوان نمونه، هدف این است که تمام درخواست‌های:

  • با متد POST

  • به آدرس مشخصی مانند /test

  • از IP خاصی مانند 1.2.3.4

  • و با User-Agent خاصی مانند:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36

مسدود شوند.

در این صورت، باید چهار شرط را با اپراتورهای مناسب تعریف کرده و آن‌ها را با AND ترکیب کنید. در نهایت، نوع عملیات را روی مسدودسازی (Deny) قرار دهید و قانون را ذخیره کنید.

وقتی یک قانون فایروال تعریف می‌کنید، سامانه به‌طور خودکار عبارتی به‌عنوان «عبارت معادل» نمایش می‌دهد. این عبارت دقیقاً نشان می‌دهد که شروط شما به چه شکلی تفسیر شده‌اند.

اگر قانون فقط یک شرط داشته باشد، عبارت ساده‌ای ساخته می‌شود. برای مثال، اگر شرط این باشد که IP فرستنده برابر با 1.2.3.4 باشد، عبارت معادل به همین صورت نوشته می‌شود.

در صورتی که چند شرط داشته باشید، این شروط با واژه‌های and یا or ترکیب می‌شوند. مثلاً اگر شرط دوم متد POST باشد، عبارت معادل ترکیبی به شکل زیر نمایش داده می‌شود: IP برابر با 1.2.3.4 و متد درخواست برابر با POST.

عبارت معادل به شما کمک می‌کند مطمئن شوید قانون دقیقاً همان‌طور که انتظار دارید، پیاده‌سازی شده است

Alt text

بعد از ساخت قوانین فایروال، در بخش «فهرست قوانین» می‌توانید آن‌ها را مشاهده و مدیریت کنید. در این قسمت، امکان ویرایش، تغییر اولویت اجرا و حذف هر قانون وجود دارد. اگر از پلن پیشرفته یا سازمانی استفاده می‌کنید، در همین بخش می‌توانید لیستی از IP بازدیدکنندگان به‌همراه تعداد درخواست‌های آن‌ها را نیز مشاهده کنید. این قابلیت به شما کمک می‌کند رفتار کاربران را بهتر تحلیل کرده و تصمیم‌های امنیتی دقیق‌تری بگیرید.

نام، توضیح و وضعیت قوانین فایروال

هر قانونی که در فایروال تعریف می‌کنید شامل سه بخش اصلی است:

  • نام قانون: عنوانی که برای شناسایی سریع‌تر قانون وارد می‌کنید.

  • توضیحات: متنی اختیاری که کاربرد یا هدف قانون را مشخص می‌کند.

  • وضعیت: تعیین می‌کند که قانون فعال باشد یا غیرفعال.

واکنش فایروال هنگام به وقوع پیوستن شرط‌ها

وقتی یک یا چند شرط از قوانین شما برقرار باشند، فایروال می‌تواند طبق یکی از گزینه‌های زیر واکنش نشان دهد:

  • مجاز (Allow): درخواست مجاز شمرده می‌شود و مانند حالت عادی پردازش خواهد شد.

  • مسدود (Deny): درخواست به‌طور کامل مسدود می‌شود و پاسخی دریافت نمی‌کند.

  • چالش (Challenge): درخواست باید یک مرحله امنیتی محافظت DDoS (مثل کپچا) را بگذراند تا پذیرفته شود.

  • عبور (Bypass): درخواست از بررسی‌های امنیتی عبور می‌کند و مستقیماً پردازش می‌شود.

این گزینه‌ها به شما کمک می‌کنند تا کنترل دقیق‌تری بر ترافیک و سطح دسترسی به وب‌سایت خود داشته باشید.

موارد استفاده رایج از فایروال آبالون

در این بخش با یکی از کاربردهای عملی فایروال آشنا می‌شوید و می‌بینید چگونه می‌توان از آن برای کنترل دقیق‌تر دسترسی‌ها استفاده کرد.

محدودسازی دسترسی بر اساس کوکی

یکی از موارد استفاده رایج، ایجاد محدودیت دسترسی به بخش‌هایی از سایت است که فقط باید در اختیار افراد مشخصی باشد؛ مثلاً محیط توسعه.

برای این کار می‌توانید یک کوکی اختصاصی را در اختیار افراد مورد اعتماد قرار دهید و دسترسی به مسیر خاصی را فقط برای دارندگان این کوکی فعال کنید.

مراحل پیاده‌سازی

  • قانون اول – مسدود کردن مسیر موردنظر (مثلاً dev.example.com) برای همه کاربران.

  • قانون دوم – مجاز کردن دسترسی برای درخواست‌هایی که دارای کوکی مشخص‌شده هستند.

در این حالت باید از پارامتر Cookie استفاده کنید و کوکی موردنظر را بررسی کنید.

نکته

قانون دوم (مجاز بودن) باید اولویت بالاتری نسبت به قانون مسدودسازی داشته باشد تا ابتدا بررسی شود و دسترسی کاربران مجاز بلاک نشود.

این روش برای حفاظت از بخش‌های حساس سایت در برابر دسترسی عمومی بسیار مؤثر و ساده است.

مقابله با حملات R.U.D.Y

Alt text

حملات R.U.D.Y یکی از انواع حملات DoS هستند که با ارسال درخواست‌هایی با هدرهای بزرگ و نگه‌داشتن طولانی اتصال، باعث مصرف منابع سرور و اختلال در عملکرد آن می‌شوند. این حملات معمولاً روی مسیرهایی که نیاز به session فعال دارند، انجام می‌شوند.

راهکار پیشنهادی

برای مقابله با این نوع حمله، می‌توانید فایروال را طوری تنظیم کنید که فقط درخواست‌هایی را بپذیرد که دارای کوکی معتبر باشند. در این مثال، سه شرط برای تشخیص و مقابله با درخواست‌های مشکوک با هم ترکیب می‌شوند:

  • شناسایی مسیرهای حساس مسیرهایی که احتمال هدف قرار گرفتن دارند، مثلاً /comment/create یا /event/create.

  • بررسی وجود کوکی معتبر فقط درخواست‌هایی مجاز هستند که کوکی auth_session با الگوی مشخص‌شده را داشته باشند.

  • مستثنا کردن درخواست‌های غیر POST چون این نوع حمله بیشتر روی متد POST انجام می‌شود، سایر متدها از قانون خارج می‌شوند.

این سه شرط باید با عملگر AND ترکیب شوند تا فقط در صورتی که همه آن‌ها برقرار باشند، درخواست پذیرفته شود.

نکته

در این قانون، عمل نهایی باید روی «مجاز بودن» تنظیم شود تا فقط درخواست‌هایی که این شروط را دارند، اجازه عبور پیدا کنند. باقی درخواست‌ها به‌طور خودکار مسدود خواهند شد.

به حالتی گفته می‌شود که سایت‌های دیگر، فایل‌های شما مثل عکس یا ویدیو را مستقیماً در سایت خودشان نمایش می‌دهند. این کار بدون اجازه انجام می‌شود و باعث مصرف بیهوده‌ پهنای باند سایت شما می‌شود.

برای جلوگیری از این اتفاق، می‌توانید در فایروال آبالون قانونی تعریف کنید تا فقط درخواست‌هایی که از داخل سایت خودتان ارسال می‌شوند مجاز باشند.

چطور عمل کنیم؟

Alt text

با استفاده از دو پارامتر زیر می‌توان این قانون را ساخت:

  • Referer: برای بررسی اینکه درخواست از چه سایتی آمده است.

  • URI Path: برای مشخص کردن مسیرهایی که می‌خواهید از آن‌ها محافظت کنید (مثلاً مسیر فایل‌های تصویری).

در این قانون، درخواست‌هایی که از سایتی غیر از example.com به مسیر مشخص‌شده فرستاده می‌شوند مسدود خواهند شد. فقط درخواست‌هایی که از خود سایت شما می‌آیند، اجازه عبور دارند.