Firewall به اختصار WAF، سرویس یا ماژولی برای افزایش امنیت وبسایت است که وظیفه کنترل ترافیک ورودی به وبسایت را بر عهده میگیرد. این نرمافزار معمولاً از وبسایت در مقابل حملات تحت وب، فیشینگ، باتنت و کدهای مخرب محافظت میکند. اگر می خواهید با فایروال وب سایت یا WAF آشنا شوید و مزیای استفاده از WAF در سایت را بدانید پیشنهاد می کنیم به مقاله فایروال وب سایت یا WAF چیست؟ در وبلاگ ایران سرور سری بزنید.
به عبارت دیگر WAF به شما کمک میکند مجموعه قوانینی برای جلوگیری از تهدیدهای اینترنتی وضع کنید.
کلودفلر بر روی CDN (سیستم توزیع محتوا) خود سرویس WAF را با دو ویژگی محافظت خودکار و امکان ایجاد قوانین اختصاصی ارائه میکند. فایروال کلودفلر، درخواستهای ورودی به وبسایت را بررسی کرده و ترافیک نامطلوب را بر اساس مجموعه قوانینی از پیش تعریف شدهای، فیلتر میکند.
این قابلیت بر روی CDN کلودفلر از مارس 2021 و بر روی تمامی پلنهای رایگان و حرفهای قرار گرفته است و محدودیتها و امکانات اضافی آن بستگی به پلن انتخابی کاربر دارد.
در حال حاضر پلن رایگان کلودفلر تقریبا پاسخگوی تمامی نیازهای یک وبسایت ایدهآل است. همچنین استفاده از 5 عدد Rule فعال در فایروال به صورت همزمان امکانپذیر است.
دقت داشته باشید که برای کارکرد این سرویس، حتما باید پروکسیهای کلودفلر (ابرهای نارنجی رنگ) روی رکوردهای تنظیم شده برای وبسایت روشن باشند.
ایجاد قوانین سفارشی در فایروال
همانطور که گفتیم، میتوان برحسب پارامترهای شخصی و قوانین فایروالی را تعریف کرد تا ترافیک ورودی وبسایت بر اساس آنها فیلتر شود. برای شروع ابتدا باید وارد پنل کلودفلر خود شده و مراحل زیر را دنبال کنید:
1. ابتدا وارد اکانت Website خود شوید
2. دامنه موردنظر خود را انتخاب کنید
3. سپس در قسمت Security گزینه WAF را انتخاب کنید.
4. در نهایت firewall rule را ایجاد کنید.
در ادامه به بررسی بخشهای مختلف ایجاد یک Rule میپردازیم:
- Rule name: نام قانونی که قرار است تعریف شود.
- Field: ویژگی مورد نظری که میخواهید بر روی آن محدودیت اعمال کنید.
- Operator: تنظیم عملگر برای انتخاب یک یا چند دسته از مقادیر
- Value: انتخاب مقدار مورد نظر با توجه به فیلد انتخاب شده
- And/Or: از این طریق میتوان شرطهای مختلف را به هم متصل کرد.
- Edit Expression: با انتخاب آن میتوان از طریق کدنویسی با توجه به syntax مورد قبول کلودفلر، قوانین دلخواه را ایجاد نمود.
- (choose action) Then: در این قسمت انتخاب میکنید که بر روی فیلتر ایجاد شده چه محدودیت یا دسترسی اعمال شود.
از جمله Field های پرکاربرد میتوان موارد زیر را نام برد:
- AS Num: ایجاد فیلتر بر حسب شماره AS شبکه کاربر
- Country: ایجاد فیلتر بر اساس کشور کاربر
- Hostname: ایجاد فیلتر بر اساس نام سرور کاربر
- IP Source Address: ایجاد فیلتر بر اساس آیپی کاربر
- Request Method: ایجاد فیلتر بر اساس انواع درخواستها (GET, POST و ..(
- HTTP Version: ایجاد فیلتر بر اساس ورژن HTTP مورد استفاده کاربر
- User Agent: ایجاد فیلتر بر اساس Agent کاربر (اطلاعاتی در خصوص مرورگر و سیستم عامل)
- Known Bots: ایجاد فیلتر بر اساس رباتهای معروف اینترنت (ایندکسینگ گوگل، یاهو، بینگ و ..)
انواع Action های مورد استفاده در تعریف یک rule:
- Block: انسداد کامل ترافیک ورودی کاربر
- Managed Challenge: چالش های طراحی شده توسط خود کلودفلر
- Allow: مجاز جهت دسترسی به وبسایت بدون هیچگونه چالش و محدودیت
- JS Challenge: ایجاد یک چالش JavaScript برای مرورگر، قبل از ورود به وبسایت
- Legacy CAPTCHA: ایجاد کپچا تصویری قبل از ورود به وبسایت
تنظیم چند Rule فایروال در کلودفلر برای جلوگیری از دسترسی آیپیهای خارجی (Iran Access)
در این قسمت، قصد داریم تا با ایجاد دو قانون فایروال از دسترسی آیپیهای غیر ایرانی، مخصوصا رباتهای مخرب به وبسایت جلوگیری کنیم. سرورها و رباتهای بسیار متعددی در سطح اینترنت وجود دارند که با اهداف تبلیغاتی و یا خرابکاری، بر روی وبسایتهای موجود فعالیت میکنند و جلوگیری از دستیابی آنها به سایت میتواند تا حد بسیار خوبی، امنیت و سرعت وبسایت را افزایش دهد.
این قوانین به نحوی تنظیم میشود که هر آیپی خارجی برای دسترسی به وبسایت نیاز به حل کپچا داشته باشد. البته دسترسی به رباتهای شناخته شده، مانند رباتهای Crawler و Indexing گوگل را مجاز و بدون چالش خواهیم کرد.
- ابتدا یک Rule فایروال با نام Iran Access ایجاد نمایید. در بخش Field گزینه Country را انتخاب کنید.
- سپس Operator را بر روی dose not equal و Value را برابر Iran قرار دهید.
- برای بخش Then (choose an action) نیز گزینه Legacy CAPTCHA را تنظیم نمایید.
- در نهایت بر روی دکمه Deploy firewall rule کلیک کنید. این قانون از دسترسی آیپیهای خارجی به وبسایت جلوگیری خواهد کرد.
- در ادامه باید یک Rule برای اجازه دسترسی به رباتهای معروف ایجاد شود. برای انجام این کار، Create firewall rule را انتخاب کرده و بخشهای مربوط به آن را به صورت زیر تنظیم کنید.
- در بخش Rule Name باید یک نام دلخواه، مانند Known Bots وارد شود.
- سپس در بخش Field مقدار Know Bot را انتخاب کنید. بخش Operator به صورت خودکار بر روی مقدار equals قرار میگیرد و تیک مربوط به Value نیز فعال میشود.
- در نهایت بخش Then مقدار action را بر روی allow تنظیم و دکمه Deploy firewall rule را کلیک کنید.
این Rule وظیفه عبور دادن ترافیک ورودی مربوط به رباتهای ضروری و معروف مانند indexing google را بر عهده دارد.
پس از ایجاد هر دو Rule عنوان شده، در قسمت firewall rules، قوانین فایروال تنظیم شده را مشاهده خواهید کرد و میتوانید آمار و درخواستهای ورودی مرتبط با هریک از آنها را مشاهده کنید.
ضمن اینکه غیرفعال سازی، حذف و یا ویرایش این قوانین نیز از همین صفحه امکانپذیر است.