برنامه نویسی

AWS WAF (فایروال برنامه وب): شیرجه عمیق

معرفی

این مقاله برای اولین بار در وبلاگ خودم منتشر شد:
https://www.playingaws.com/posts/aws-waf-web-application-firewall-deep-dive/

فایروال برنامه وب (WAF) یک راه حل امنیتی است که protects web applications از حملات مخرب مانند اسکریپت بین سایتی، تزریق SQL و ترافیک ربات های مخرب. WAF معمولاً به عنوان یک پروکسی معکوس مستقر می شود که بین اینترنت و برنامه وب قرار می گیرد تا درخواست های دریافتی را قبل از رسیدن به وب سرور بررسی و فیلتر کند.

در اینجا یک نمایش بصری از معماری اصلی AWS WAF است:

نمودار اصلی WAF

WAF چگونه کار می کند

WAF با تجزیه و تحلیل ورودی کار می کند HTTP and HTTPS به یک برنامه وب درخواست می کند و درخواست ها را بر اساس قوانین امنیتی از پیش تعریف شده اجازه می دهد یا مسدود می کند. قوانین امنیتی می تواند بر اساس آدرس های IP، هدرها، پارامترها و سایر ویژگی های درخواست باشد. WAF همچنین می‌تواند بازرسی بسته عمیق (DPI) را برای بازرسی محتویات بار درخواست و تعیین اینکه آیا درخواست حاوی محتوای مخرب است انجام دهد.

اگر یک درخواست یک قانون امنیتی را نقض کند، WAF درخواست را مسدود می کند و یک پاسخ خطا را به مشتری برمی گرداند.

AWS WAF

AWS WAF یک انتخاب محبوب برای راه حل های WAF مبتنی بر ابر است که مجموعه ای جامع از قوانین امنیتی را برای محافظت از برنامه های کاربردی وب ارائه می دهد.

AWS WAF (Web Application Firewall) یک سرویس مبتنی بر ابر است که از برنامه‌های کاربردی وب شما محافظت می‌کند و در برابر سوء استفاده‌های رایج وب که می‌توانند بر دسترسی، امنیت به خطر بیاندازند یا منابع بیش از حد مصرف کنند، دفاع می‌کند. به شما امکان می دهد دسترسی به محتوای وب خود را کنترل کنید و قوانین امنیتی قابل تنظیمی را برای فیلتر کردن ترافیک بر اساس آدرس های IP، هدرهای HTTP، محتوای بدنه HTTP یا رشته های URI ارائه می دهد.

سرویس WAF

منابع حفاظت شده

می توانید از انواع منابع زیر محافظت کنید:

  • توزیع آمازون CloudFront
  • Amazon API Gateway REST API
  • Application Load Balancer
  • AWS AppSync GraphQL API
  • مجموعه کاربران آمازون Cognito
  • سرویس AWS App Runner
  • نمونه دسترسی تایید شده AWS

اجزای اصلی

اجزای اصلی AWS WAF شامل موارد زیر است:

  • قوانین: AWS WAF به شما امکان می‌دهد قوانینی ایجاد کنید که انواع ترافیکی را که می‌خواهید اجازه دهید یا دسترسی به برنامه‌های وب خود را مسدود کنید، تعریف می‌کند. شما می توانید قوانینی را بر اساس شرایط مختلف مانند آدرس های IP، هدرهای HTTP، رشته های URI و محتوای بدنه HTTP ایجاد کنید.

  • گروه های قوانین مدیریت شده: AWS WAF گروه‌های قوانین مدیریت شده از پیش ساخته شده را ارائه می‌کند که در برابر حملات رایج وب مانند تزریق SQL، اسکریپت بین سایتی (XSS) و غیره محافظت می‌کنند. این گروه‌های قوانین توسط AWS ایجاد و نگهداری می‌شوند و به‌طور مرتب به روز می‌شوند تا اطمینان حاصل شود که محافظت به‌روز در برابر آخرین تهدیدات را ارائه می‌کنند.

  • ACL های وب: AWS WAF از وب ACL (فهرست های کنترل دسترسی به وب) برای گروه بندی قوانینی استفاده می کند که سپس می توانید آنها را برای یک یا چند برنامه وب اعمال کنید. وب ACL به شما امکان می دهد مجموعه ای از قوانین را در چندین برنامه کاربردی وب اعمال کنید و مدیریت و اعمال مداوم سیاست های امنیتی را آسان تر می کند.

مزایا و ویژگی ها

AWS WAF طیف گسترده ای را ارائه می دهد benefits and features، به شما قدرت می دهد تا برنامه های وب خود را به طور موثر ایمن کنید. در اینجا برخی از مزایای کلیدی استفاده از AWS WAF آورده شده است:

  • محافظت چابک در برابر حملات وب: انتشار و به‌روزرسانی قوانین AWS WAF کمتر از یک دقیقه طول می‌کشد و به شما امکان می‌دهد در هنگام حمله یا هنگام بروز مشکلات امنیتی سریع‌تر واکنش نشان دهید.

  • سهولت استقرار و نگهداری: AWS WAF به راحتی قابل استقرار است و از برنامه(های) مستقر در Amazon CloudFront، Application Load Balancer یا Amazon API Gateway محافظت می کند. هیچ نرم افزار اضافی برای استقرار، پیکربندی DNS یا گواهی SSL/TLS برای مدیریت وجود ندارد.

  • مقرون به صرفه: AWS WAF یک سرویس پرداختی است که به این معنی است که شما فقط برای منابعی که استفاده می کنید هزینه پرداخت می کنید. این امر آن را به یک راه حل مقرون به صرفه برای ایمن سازی برنامه های وب شما تبدیل می کند.

  • دید ترافیک وب بهبود یافته است: AWS WAF به ترافیک وب شما تقریباً در زمان واقعی دید می دهد، که می توانید از آن برای ایجاد قوانین یا هشدارهای جدید در Amazon CloudWatch استفاده کنید.

  • مقیاس پذیری: AWS WAF برای مدیریت حجم بالای ترافیک طراحی شده است و می تواند به طور خودکار برای برآورده کردن نیازهای برنامه های کاربردی وب شما مقیاس شود.

  • انعطاف پذیری: AWS WAF طیف وسیعی از گزینه‌ها را برای ایجاد قوانین سفارشی برای فیلتر کردن ترافیک فراهم می‌کند و به شما انعطاف‌پذیری بیشتری در تعریف سیاست‌های امنیتی شما می‌دهد.

عملی با AWS WAF

اول از همه، باید بدانید که AWS WAF یک سرویس منطقه ای است. با این حال، هنگامی که به آن دسترسی دارید، به نظر یک سرویس جهانی است، اما باید با استفاده از این گزینه بین مناطق تغییر دهید:

WAF منطقه ای

شروع کار با WAF نسبتاً ساده است، به سادگی وارد کنسول مدیریت AWS شوید و به سرویس AWS WAF بروید. از آنجا، می توانید یک خط مشی WAF جدید ایجاد کنید و خط مشی را با قوانین امنیتی مورد نظر پیکربندی کنید.

فعال کردن گزارش‌ها

گزارش‌ها به‌طور پیش‌فرض غیرفعال هستند، بنابراین باید آن را فعال کنیم. باید وارد وب ACL ایجاد شده و دسترسی به آن شویم Logging and Metrics برگه:
سیاهههای مربوط به WAF

همانطور که می توانید در تصویر زیر بررسی کنید ما 3 گزینه به عنوان خواهیم داشت Logging Destination (گروه‌های گزارش CloudWatch، جریان Kinesis Data Firehose و سطل S3):
مقصد ورود به سیستم WAF

پس از فعال کردن گزارش‌های CloudWatch، می‌توانیم به آن دسترسی داشته باشیم CloudWatch Log Insights را برگه و پرس و جوهای نمونه را اجرا کنید یا پرس و جوهای سفارشی را برای تجزیه و تحلیل گزارش ها ایجاد کنید. ما می توانیم نتایج را به صورت گزارش یا در نمودار (تجسم) مشاهده کنیم:
تجسم WAF

معیارهای

AWS WAF گزارش می دهد metrics به طور پیش‌فرض در فواصل یک دقیقه‌ای به CloudWatch می‌روند و معیارها به مدت ۲ هفته حفظ می‌شوند.

معیارهای نظارت شده به شرح زیر است:

  • AllowedRequests
  • BlockedRequests
  • درخواست های شمارش شده
  • درخواست های پاس شده

این معیارها مجموع تعداد درخواست‌های وب را ارائه می‌کنند که به یک قانون خاص یا Web ACL برخورد می‌کنند.

معیارهای WAF

ایجاد آلارم های سفارشی

معمولاً ایده خوبی است که چند زنگ هشدار ایجاد کنیم تا در صورت ظاهر شدن برخی از درخواست های مسدودسازی در وب ما مطلع شویم، بنابراین ما می توانیم یک را پیکربندی کنیم CloudWatch Alarm.

راه آسان برای ایجاد زنگ هشدار از طریق متریک AWS WAF برای است BlockeRequests. در آنجا ما یک پیوند مستقیم برای ایجاد یک زنگ هشدار با این متریک مرتبط در صورت دسترسی داریم Graphed Metricsو نماد مشخص شده را با رنگ قرمز انتخاب کنید:

هشدار WAF 1

پس از ایجاد، چیزی شبیه به آن خواهیم داشت:

هشدار WAF 2

برآورد هزینه ها

هزینه AWS WAF بسته به مقیاس استقرار شما، محدوده، می تواند متفاوت باشد from a few dollars در ماه برای استقرارهای کوچک to several thousand dollars per month برای استقرار در مقیاس بزرگ قیمت گذاری AWS WAF بر اساس تعداد درخواست های وب پردازش شده و تعداد قوانین امنیتی استفاده شده است.

مثالی از هزینه برای مثال ما (1 Web ACL با چند قانون مدیریت شده):

  • 5.00 دلار برای هر وب ACL در ماه (نسبت به ساعت) * 1 وب ACL = 5.00 دلار
  • 1.00 دلار به ازای هر قانون در ماه (نسبت به ساعت) * 5 قانون = 1.00 دلار
  • 0.60 دلار به ازای هر میلیون درخواست پردازش شده * 1 (ما 1 میلیون درخواست را در نظر می گیریم) = 0.60 دلار
  • 0.10 دلار برای هر متریک زنگ * 1 زنگ = 0.10 دلار

جمع: 6.70 دلار در ماه

اطلاعات بیشتر در مورد AWS WAF

برای اطلاعات بیشتر در مورد AWS WAF می توانید به لینک های زیر مراجعه کنید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا