فایروال برنامه کاربردی وب (WAF) فایروالی است که بستههای داده را در حین انتقال به یک وب سایت یا برنامهی وب نظارت، فیلتر و مسدود میکند. یک WAF میتواند مبتنی بر شبکه، مبتنی بر میزبان یا مبتنی بر ابر باشد و معمولا از طریق یک پروکسی معکوس مستقر شده و در مقابلِ یک یا چند وب سایت یا برنامه قرار میگیرد.
WAF که به عنوان یک ابزار شبکه، پلاگین سرور یا سرویس ابری اجرا میشود، هر بسته را بررسی کرده و از مجموعهای از قوانین برای تجزیه و تحلیل منطق برنامه وب لایه 7 و فیلتر کردن ترافیک بالقوه خطرساز که باعث تسهیل استفاده بهینه از وب میشود، استفاده میکند.
فایروال برنامههای وب یک کنترل امنیتی رایج است که توسط شرکتها برای محافظت از سیستمهای وب در برابر سوء استفادههای Zero-Day Attack، آلودگیهای بدافزار، جعل هویت و سایر تهدیدات و آسیبپذیریهای شناخته شده و ناشناخته استفاده میشود.
یک WAF از طریق بازرسیهای سفارشی قادر است برخی از خطرناکترین حفرههای امنیتی برنامههای وب را شناسایی و بلافاصله از آن جلوگیری کند، درحالیکه ممکن است فایروالهای شبکه معمولی و سایر سیستمهای تشخیص نفوذ (IDS) و سیستمهای پیشگیری از نفوذ (IPS) نتوانند آنها را شناسایی کنند.
WAFها مخصوصا برای شرکتهایی که محصولات یا خدماتی را از طریق اینترنت ارائه میدهند مانند خرید تجارت الکترونیک، بانکداری آنلاین و سایر تعاملات بین مشتریان یا شرکای تجاری مفید هستند.
WAF چگونه کار میکند؟
یک WAF درخواستهای پروتکل انتقال HTTP را تجزیه و تحلیل و مجموعه قوانینی را بکار میگیرد که مشخص میکند چه بخشهایی از آن مکالمه بیخطر و چه بخشهایی مخرب هستند.
بخشهای اصلی مکالمات HTTP که یک WAF تجزیه و تحلیل میکند، درخواستهای GET و POST هستند. درخواستهای GET برای بازیابی دادهها از سرور و درخواستهای POST برای ارسال دادهها به سرور برای تغییر وضعیت آن استفاده میشوند.
یک WAF میتواند دو رویکرد برای تجزیه و تحلیل و فیلتر کردن محتوای موجود در این درخواستهای HTTP یا ترکیبی از این دو داشته باشد:
- لیست سفید: رویکرد فهرست سفید به این معنی است که WAF به طور پیشفرض همه درخواستها را رد میکند و فقط به درخواستهایی که قابل اعتمادند اجازه میدهد. همچنین فهرستی از آدرسهای IP که به عنوان ایمن شناخته میشوند را ارائه میدهد.
لیست سفید نسبت به لیست سیاه منابع فشرده کمتری دارد. نقطه ضعف رویکرد لیست سفید این است که ممکن است بطور ناخواسته ترافیک بیخطر را مسدود کند. بنابراین با وجودی که شبکه گستردهای را ایجاد و میتواند کارآمد باشد، ممکن است غیر دقیق نیز باشد.
- لیست سیاه: رویکرد لیست سیاه به طور پیش فرض اجازه میدهد که بستهها عبور کنند و از ویژگیهای از پیش تعریف شده برای مسدود کردن ترافیک وب مخرب و محافظت از آسیبپذیریهای وبسایتها یا برنامههای کاربردی وب استفاده میکند.
این لیستی از قوانین است که بستههای مخرب را نشان میدهد. لیست سیاه برای وبسایتهای عمومی و برنامههای کاربردی وب مناسبتر است زیرا آنها ترافیک زیادی را از آدرسهای IP ناشناس دریافت میکنند که به عنوان مخرب یا خطرناک شناخته نمیشوند.
نکته منفی رویکرد فهرست سیاه این است که منابع فشردهتر است. برای فیلتر کردن بستهها براساس ویژگیهای خاص، برخلاف پیشفرض آدرسهای IP قابل اعتماد، به اطلاعات بیشتری نیاز دارد.
- امنیت ترکیبی: یک مدل امنیتی ترکیبی که از عناصر لیست سیاه و سفید استفاده میکند.
صرف نظر از مدل امنیتی که WAF استفاده میکند، در نهایت برای تجزیه و تحلیل تعاملات HTTP و کاهش یا در حالت ایدهآل، حذف ترافیک مخرب قبل از رسیدن به سرور برای پردازش، اقدام میکند.
انواع فایروال WAF
-
WAFهای مبتنی بر شبکه:
معمولاً مبتنی بر سخت افزار هستند و میتوانند تأخیر را کاهش دهند زیرا به صورت محلی در محل از طریق یک دستگاه اختصاصی و تا حد امکان نزدیک به برنامه نصب میشوند.
اکثر فروشندگان اصلی WAF مبتنی بر شبکه، تکرار قوانین و تنظیمات را در چندین دستگاه ممکن میسازند، در نتیجه راهاندازی، پیکربندی و مدیریت در مقیاس بزرگ را ممکن میسازند. بزرگترین اشکال برای این نوع محصولات WAF، هزینه آنها است که شامل هزینه سرمایه اولیه و همچنین هزینههای عملیاتی برای نگهداری است.
-
WAFهای مبتنی بر میزبان:
ممکن است به طور کامل در خود کد برنامه ادغام شوند. اجرای WAF مبتنی بر میزبان هزینه کمتر و امکانات شخصیسازی بیشتری دارند. WAF های مبتنی بر میزبان میتوانند مدیریت چالش برانگیزی داشته باشند زیرا نیازمند کتابخانههای برنامه بوده و برای اجرای موثر به منابع سرور محلی وابسته هستند.
بنابراین، ممکن است به تعداد بیشتری از کارکنان، از جمله توسعه دهندگان، تحلیلگران سیستم و DevOps/DevSecOps نیاز باشد.
-
WAFهای میزبانی شده در فضای ابری:
WAFهای ابری راه حلی کم هزینه برای سازمانهایی که خواهان یک محصول آماده استفاده، که به حداقل منابع برای پیادهسازی و مدیریت نیاز دارد ارائه میدهند. WAFهای ابری به راحتی پیادهسازی میشوند، با پرداخت حق اشتراک در دسترس بوده و اغلب فقط به یک سیستم ساده نام دامنه (DNS) یا تغییر پروکسی برای هدایت ترافیک برنامه نیاز دارند.
اگرچه سپردن مسئولیت فیلتر کردن ترافیک برنامههای کاربردی وب سازمان به یک ارائه دهنده شخص ثالث میتواند چالش برانگیز باشد اما این استراتژی برنامهها را قادر میسازد تا در گستره مختلف میزبانها محافظت شده و از سیاستهای مشابهی برای محافظت در برابر حملات لایه برنامه استفاده کنند. بعلاوه این اشخاص ثالث آخرین اطلاعات تهدید را دارند و میتوانند به شناسایی و مسدود کردن آخرین تهدیدات امنیتی برنامه کمک کنند.
مزایای فایروال برنامه کاربردی وب
یک WAF نسبت به فایروالهای معمولی مزیت دارد زیرا دید بیشتری به دادههای حساس برنامهای که با استفاده از لایه برنامه HTTP منتقل میشوند دارد و میتواند از حملات لایه برنامه که معمولاً فایروالهای شبکه معمولی را دور میزنند، در موارد زیر جلوگیری کند:
- حملات اسکریپت بین سایتی (XSS) مهاجمان را قادر میسازند اسکریپتهای مخرب را در مرورگر کاربر دیگر تزریق و اجرا کنند.
- حملات SQL Injection میتوانند بر هر برنامهای که از پایگاه داده SQL استفاده میکند تأثیر گذاشته و مهاجمان را قادر میسازند به دادههای حساس دسترسی داشته و به طور بالقوه آنها را تغییر دهند.
- هک جلسه وب (Web session hacking) مهاجمان را قادر میسازد تا شناسه جلسه را ربوده و به صورت یک کاربر مجاز ظاهر شوند. شناسه جلسه معمولاً در یک کوکی یا URL ذخیره میشود.
- حملات انکار سرویس توزیع شده (DDoS) یک شبکه را با پر کردن ترافیک آن غرق میکند تا نتواند به کاربران خود سرویس دهد. هم فایروالهای شبکه و هم WAFها میتوانند این نوع حمله را مدیریت کنند ولی از لایههای مختلف به آن نزدیک میشوند.
یکی دیگر از مزایای WAF این است که میتواند از برنامههای مبتنی بر وب دفاع کند بدون اینکه لزوماً به کد منبع برنامه دسترسی داشته باشد. درحالیکه یک WAF مبتنی بر میزبان ممکن است در کد برنامه ادغام شود، یک WAF میزبان ابری قادر به دفاع از برنامه بدون دسترسی به آن است.
علاوه بر این، استقرار و مدیریت یک WAF ابری آسان بوده و راهحلهای وصله مجازی سریعی را ارائه میکند که به کاربران این امکان را میدهد تا به سرعت تنظیمات خود را برای تطبیق با تهدیدهای تازه شناسایی شده سفارشی کنند.
اهمیت WAF
WAF برای شرکتهایی که محصولاتشان را از طریق اینترنت ارائه میکنند از جمله بانکداران آنلاین، ارائه دهندگان پلت فرم رسانههای اجتماعی و توسعه دهندگان برنامههای تلفن همراه و … اهمیت دارد زیرا به جلوگیری از نشت دادهها کمک میکند.
بسیاری از دادههای حساس، مانند دادههای کارت اعتباری و سوابق مشتریان، در پایگاههای داده پشتیبان ذخیره میشوند که از طریق برنامههای کاربردی وب قابل دسترسی هستند. مهاجمان اغلب این برنامهها را هدف قرار میدهند تا به دادههای مرتبط دسترسی پیدا کنند.
برای مثال، بانکها ممکن است از یک WAF برای کمک به رعایت استاندارد امنیت دادههای صنعت کارت پرداخت (PCI DSS) استفاده کنند، که مجموعهای از سیاستها برای اطمینان از محافظت دادههای دارنده کارت (CHD) است.
نصب فایروال یکی از الزامات 12 گانه انطباق PCI DSS است. این قوانین برای هر شرکتی که CHD را اداره میکند اعمال میشود.
از آنجایی که بسیاری از شرکتهای جدیدتر از برنامههای موبایل و اینترنت اشیا (IoT) استفاده میکنند، تعداد زیادی از تراکنشها در لایه برنامه با استفاده از وب انجام میشود. به همین دلیل، WAF بخش مهمی از مدل امنیتی یک تجارت مدرن است.
با وجود این که WAF مهم است، اما در ارتباط با سایر مؤلفههای امنیتی از جمله IPS ،IDS و فایروالهای کلاسیک یا نسل بعدی (NGFW) تاثیر بسزایی دارد. یک مدل امنیتی سازمانی جامع به طور ایدهآل یک WAF را در کنار سایر انواع فایروال مانند NGFW و اجزای امنیتی مانند IPSها و IDSها (که اغلب در NGFWها گنجانده میشوند)، قرار میدهد.
WAF و فایروال
فایروال یک اصطلاح گسترده برای سیستم عاملی است که با فیلتر کردن بستههای داده ورودی، از یک شبکه کامپیوتری دفاع میکند. در این تعریف گسترده، دستهبندیهای مختلفی وجود دارد که بر اساس نوع محافظتی که ارائه میکنند و نحوه انجام آن متمایز میشوند. برخی از این نامگذاریها عبارتند از فیلترینگ بسته، بازرسی وضعیت، پروکسی و NGFW.
WAF دسته دیگری از فایروال است که با نحوه فیلتر کردن بستههای داده متمایز میشود. WAF منحصربهفرد است زیرا فقط بر روی مهاجمان مبتنی بر وب در لایه برنامه تمرکز میکند، درحالیکه انواع دیگر مانند فیلتر کردن بستهها و بازرسی وضعیت ممکن است نتوانند در برابر این حملات دفاع کنند.
یک WAF بیشتر شبیه یک فایروال پروکسی است اما تمرکز خاصی روی منطق برنامه لایه 7 دارد.