دیوار آتش وب | WAF
دیواره آتش وب یا WAF ابر آروان با استفاده از قوانین Regex و بر اساس روش Anomaly Scoring درخواستهای مخرب را مسدود میکند. روش Anomaly Scoring را میتوان راهی با دقت بالا برای شناسایی حملات معرفی کرد. در این روش به هر قانون، امتیازی اختصاص پیدا میکند. به هنگام تطابق چند قانون با یک درخواست، امتیاز قوانین مطابقتیافته با هم جمع میشوند و با مقدار حد آستانهی تعیینشده برای دیواره آتش وب (میزان حساسیت) مقایسه میشود. اگر امتیاز قوانین مطابقت یافته با آن درخواست، مساوی یا بیشتر از میزان حساسیت مشخصشده برای WAF باشد، آن در خواست مسدود خواهد شد.
در این راهنما به شیوهی تنظیمات و پیکربندی WAF ابر آروان میپردازیم.
پیکربندی و تنظیمات WAF در پنل ابر آروان
برای انجام تنظیمات WAF در پنل کاربری ابر آروان، به بخش CDN، سپس «دیواره آتش وب (WAF)» بروید.
در بخش تنظیمات عمومی WAF، شما میتوانید WAF خود را روی یکی از سه حالت تعیینشده در بخش «دیواره آتش وب» قرار دهید.
-
با فعال کردن دکمهی خاموش، سرویس WAF برای وبسایت شما غیرفعال میشود.
خاموش کردن WAF به کمک API:
curl --location --request PATCH https://napi.arvancloud.ir/cdn/4.0/domains/example.com/waf'' \
--header 'authority: napi.arvancloud.ir' \
--header 'accept: application/json, text/plain, */*' \
--header 'authorization: API KEY 1 2 3 4' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data-raw '{"mode":"off"}' -
اگر در این صفحه، WAF در حالت شناسایی قرار داده شود، دیواره آتش وب فقط گزارش (Log) ثبت میکند. دقت داشته باشید که در این حالت هیچ درخواست ورودی بلاک نمیشود.
فعال کردن وضعیت شناسایی با API:
curl --location --request PATCH 'https://napi.arvancloud.ir/cdn/4.0/domains/example.com/waf' \
--header 'authority: napi.arvancloud.ir' \
--header 'accept: application/json, text/plain, */*' \
--header 'authorization: API KEY 1 2 3 4' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data-raw '{"mode":"detect"}' -
فعالسازی گزینهی روشن، سرویس WAF را برای وبسایت شما فعال میکند و باعث میشود درخواستهای مشکوک بلاک شوند.
روشن کردن WAF به کمک API:
curl --location --request PATCH 'https://napi.arvancloud.ir/cdn/4.0/domains/example.com/waf' \
--header 'authority: napi.arvancloud.ir' \
--header 'accept: application/json, text/plain, */*' \
--header 'authorization: API KEY 1 2 3 4' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data-raw '{"mode":"protect"}'
پیشنهاد ما این است که در ابتدای راهاندازی دیواره آتش وب برای یک بازهی زمانی کوتاه، WAF خود را روی حالت شناسایی قرار دهید. با این کار، میتوان حملات واقعی را شناسایی کرد.
پس از گذشت این بازهی زمانی مشخص، به قسمت «امنیت»، «تحلیل حملات WAF»، سپس بخش «جزییات حملات انجام شده» بروید. در این بخش با کلیک روی هر یک از حملات، میتوانید از جزییات حمله و کد خطای مربوط به آن آگاه شوید.
براساس این گزارشها میتوان False Positiveها را شناسایی کرد. منظور از False Positiveها، درخواستهای سالمی هستند که از جانب WAF بهاشتباه حمله شناسایی میشوند. با مشخص شدن False Positiveها میتوان مشخص کرد که چه قوانینی باید غیرفعال شوند. شما میتوانید از خروجی گزارش حاصل، شمارهی ID را بردارید، سپس با جستوجوی آن در بستهی امنیتی مربوطه، قانون را بیابید و غیرفعال کنید.
خاموش کردن یک قانون مشخص با API: برای این کار باید پارامتر "disabled_rules" را با شماره قوانین مورد نظر ارسال کنید.
curl --location --request PATCH 'https://napi.arvancloud.ir/cdn/4.0/domains/example.com/waf/packages/default?revelio' \
--header 'authority: napi.arvancloud.ir' \
--header 'accept: application/json, text/plain, */*' \
--header 'authorization: API KEY 1 2 3 4' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data-raw '{"disabled_rules":["21001","21003","21006","21009","40026","99001","21002"]}'
پس از اتمام مدتزمان مشخص برای قرار گرفتن WAF در حالت شناسایی، به بخش تنظیمات WAF بروید، گزینهی روشن را فعال کنید و مطابق با آنچه از بخش گزارش دریافت کردهاید، قوانین را تنظیم و میزان حساسیت را مشخص کنید.
توجه داشته باشید هنگام فعال بودن WAF بیشترین حجم Body درخواستها ۵۲۴۲۸۸ بایت خواهد بود.
هرچه میزان حساسیت، عدد بیشتری تعیین شود، یعنی تعداد قوانینی که باید با درخواست ورودی مطابقت پیدا کنند بیشتر و بهمعنای حساسیت پایینتر WAF است. به بیان دیگر، رابطهی عدد مشخصشده برای حساسیت و قدرت عملکرد WAF، رابطهای معکوس است. پس عدد کمتر بهمعنای حساسیت بیشتر WAF خواهد بود.