ویژگی های WAF یا دیوار آتش وب
مقاله

WAF یا دیوار آتش وب چیست؟

WAF مخفف Web Application Firewall بوده و یک "دیوار آتش" است که داده های وارد یا خارج شده از وب سایت ها و نرم افزار های تحت وب را مانیتور، فیلتر گذاری یا مسدود می نماید. یک WAF می تواند مبتنی بر شبکه (network-based)، مبتنی بر میزبان (host-based) یا حتی مبتنی بر ابر (cloud-based) باشد. WAF یا دیوار آتش وب معمولا تحت یک پروکسی معکوس (reverse proxy) پیاده سازی می شود و در ورودی یک سایت یا برنامه تحت وب قرار گرفته و بررسی های لازم را انجام می دهد. اگر WAF به عنوان یک ابزار شبکه، افزونه ای در سرور یا یک سرویس ابری استفاده شود، در هر صورت می تواند تمام بسته های داده (Data packet) را بررسی نماید، همچنین با اعمال قوانین خود می تواند بر داده های موجود در لایه 7 مدل OSI (لایه نرم افزار) مدیریت کرده و با فیلتر کردن داده های خطرناک، از آسیب های جدی در سطح وب جلوگیری نماید.

WAF یا دیوار آتش وب وظیفه فیلتر گذاری داده های ورودی یا خروجی به وب سایت را دارد

تصویر(1)

WAF یا دیوار آتش وب از رایج ترین ابزارهای امنیتی مورد استفاده در سازمان ها هستند. این ابزارها می توانند از سیستم تحت وب، در مقابل حملات zero-day، بدافزارها، جاعلان هویت اینترنتی و دیگر معضلات امنیتی محافظت نمایند. به دلیل شخصی سازی هایی که در پیاده سازی یک WAF می توان انجام داد، این ابزار می تواند به سرعت برخی از خطرناکترین مشکلات امنیتی پیرامون نرم افزار های تحت وب را شناسایی و از بروز مشکلات احتمالی جلوگیری نماید. در حالی که بسیاری از فایروال های مرسوم مانند سیستم های تشخیص نفوذ Intrusion Detection Systems به اختصار IDSes و سیستم های جلوگیری از نفوذ Intrusion Prevention Systems به اختصار IPSes، این امکان را ندارند. WAF ها به طور ویژه برای شرکتهایی که خدمات خود را به صورت آنلاین ارائه می دهند، همچون فروشگاه های آنلاین و بانک ها،  بسیار مناسب و مفید می باشند.

WAF یا دیوار آتش وب چگونه کار می کند؟

نحوه عملکرد WAF یا دیوار آتش وب

تصویر(2)

یک WAF می تواند درخواست های HTTP را بخواند و قوانینی را پیاده سازی نماید که مشخص کند چه  بخش های از این درخواست خطرناک و چه بخش هایی بدون خطر است. بخش های اصلی یک درخواست HTTP که از سوی WAF بررسی می شوند، درخواست های POST و GET هستند. درخواست های GET داده ها را از سرور ها دریافت می کنند و درخواست های POST داده ها را برای تغییر وضعیت سرور ها، به آنها  ارسال می نمایند.

ابزار WAF یا دیوار آتش وب می تواند دو رویکرد اصلی برای آنالیز و فیلتر کردن یا ترکیبی از این دو را برای درخواست های HTTP استفاده کند که به شرح زیر هستند:

  • ایجاد لیست سفید (Whitelisting): در این حالت به صورت پیشفرض همه درخواست ها مسدود هستند و صرفا آن دسته از درخواست های از پیش تعریف شده (موجود در لیست سفید)، امکان برقراری ارتباط را دارند. این روش به مراتب منابع کمتری را در مقایسه با Blacklisting به خود اختصاص می دهد. نقص Whitelisting نیز این است که احتمال دارد درخواست های بی خطر را نیز به دلیل قرار نداشتن IP آنها در لیست سفید خود، مسدود نماید. علیرغم اینکه روش Whitelisting می تواند شبکه گسترده ای از سیستم های قابل اعتماد را ایجاد کند اما ممکن است در ارائه دسترسی به شبکه، دقیق نباشد.

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

تصویر(3)

  • ایجاد لیست سیاه (Blacklisting): در لیست سیاه، عملا همه IP ها امکان دسترسی دارند اما سیستم به وسیله الگو های از پیش تعیین شده، اقدام به مسدود سازی درخواست های مشکوک نموده و از وب سایت ها و برنامه های تحت وب در مقابل تهدیدات، محافظت می کند. Blacklisting شامل لیستی از قوانین است که بسته های مشکوک داده را مشخص می کنند. این روش بیشتر برای وب سایت های عمومی که ترافیک بالایی از سوی IP های غیر آشنا دریافت می کنند، مناسب است. نکته منفی Blacklisting، استفاده بیشتر از منابع در مقایسه با Whitelisting می باشد. از طرفی این روش به داده های بیشتری نیز برای انجام فیلترینگ بر اساس کاراکتر های خاص، نیاز خواهد داشت. 
  • امنیت ترکیبی (Hybrid security): سیستم Hybrid security از هر دو روش Blacklisting  و Whitelisting  به صورت ترکیبی استفاده می کند.

جدا از مدلی که WAF یا دیوار آتش وب استفاده می کند، این ابزار بی وقفه تعاملات موجود در بستر HTTP را آنالیز نموده و ترافیک مشکوک و مخرب را قبل از رسیدن به سرور، حذف یا کاهش می دهد.

انواع WAF یا دیوار آتش وب

انواع مختلف WAF یا دیوار آتش وب

تصویر(4)

  • WAF های مبتنی بر شبکه (Network-based): این نوع WAF ها به دلیل پیاده سازی اختصاصی در سخت افزار، به نرم افزار تحت وب نزدیک هستند و کمترین latency یا تاخیر را دارند. اغلب WAF های مبتنی بر شبکه، امکان replication یا "همانند سازی" قوانین و تنظیمات برای چندین برنامه مختلف را دارند. از این رو امکان پیاده سازی، کانفیگ و مدیریت در سطح گسترده را فراهم می سازند. متاسفانه هزینه راه اندازی، تعمیر و نگهداری این نوع WAF بالا است که می تواند یک نکته منفی برای آن باشد.
  • WAF های مبتنی بر میزبان (Host-based): این نوع WAF یا دیوار آتش وب ممکن است به صورت کامل با کدهای یک نرم افزار ادغام گردند. دو مزیت اصلی این نوع پیاده سازی WAF، هزینه پایین و تعداد بالای ابزارهای سفارشی سازی تنظیمات است اما مدیریت یک WAF مبتنی بر میزبان، پیچیده خواهد بود. زیرا این WAF، وابسته به کتابخانه مورد استفاده در نرم افزار هدف بوده و برای اجرای روان، به منابع پردازشی سرور متکی است.
  • WAF های مبتنی بر ابر (Cloud-hosted): در واقع Cloud-hosted WAF یک راهکار کم هزینه برای بهره مندی از WAF است. این نوع WAF به کمترین میزان منابع برای پیاده سازی و مدیریت نیاز دارد. پیاده سازی این نوع WAF آسان بوده و می توان با خرید اشتراک از آن بهره مند شد. همچنین معمولا به یک سیستم DNS ساده یا پروکسی نیاز خواهند داشت تا ترافیک داده را مدیریت و هدایت نمایند. اگرچه سپردن مسئولیت مانیتورینگ و اعمال فیلترینگ بر ترافیک نرم افزار تحت وب سازمان به یک نرم افزار متفرقه، چالش بر انگیز و کمی همراه با ریسک محسوب می شود اما در این استراتژی امکان محافظت از نرم افزار موردنظر در موقعیت های جغرافیایی مختلف فراهم شده و همزمان از سیاست مقابله با حملات لایه نرم افزار، پیروی می گردد. علاوه بر این، WAF های مبتنی بر ابر معمولا از جدیدترین اطلاعات پیرامون خطرات امنیتی آگاه بوده و از بروزترین دیتابیس برای تشخیص و انسداد حملات، استفاده می کنند. 

مزایای WAF یا دیوار آتش وب

مزایای WAF یا دیوار آتش وب در یک نگاه

تصویر(5)

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

  • حملات Cross-site scripting یا (XSS): در این نوع حملات امکان تزریق و اجرای کد در مرورگر قربانی فراهم می شود.
  • Structured Query Language (SQL) injection: در این حمله امکان تاثیر گذاری بر هر نرم افزاری که با دیتابیس کار می کند، وجود دارد زیرا حمله کنندگان می توانند به داده های حساس دیتابیس دسترسی پیدا کرده و حتی آنها را تغییر دهند.
  • Web session hijacking: در این حمله، اطلاعات شناسه سشن یک کاربر دزدیده شده و از آنها برای شبیه سازی اطلاعات و دور زدن سیستم اعتبار سنجی سایت ها استفاده می شود. یک شناسه سشن معمولا در کوکی مرورگرها یا در آدرس URL ذخیره می گردد.
  • Distributed denial-of-service (DDoS) attacks: در این حملات، تمام ظرفیت شبکه توسط حجم عظیمی از درخواست ها پر می شود به نحوی که نتواند به روند عادی خدمت رسانی خود ادامه دهد. البته هم WAF و هم firewall ها می توانند جلوی DDoS را بگیرند اما هر کدام در لایه متفاوتی این کار را انجام می دهند.

از دیگر مزیت های WAF یا دیوار آتش وب این است که بدون دسترسی به کدهای یک نرم افزار تحت وب، می توانند از آن محافظت نمایند. در حالی که WAF های مبتنی بر میزبان، نیاز به ادغام با کد های نرم افزار تحت وب دارند، WAF های مبتنی بر ابر، می توانند بدون دسترسی به کد های آن نرم افزار، اقدام به محافظت از آن نمایند. علاوه بر این، یک WAF مبتنی بر ابر مراحل راه اندازی و مدیریت آسانی دارد و کاربران می توانند تنظیمات دلخواه و شخصی سازی شده خود را برای تشخیص انواع تهدیدات اینترنتی جدید، به راحتی روی WAF مبتنی بر ابر، اعمال نمایند.

اهمیت WAF یا دیوار آتش وب

WAF ها برای سازمان هایی که خدمات خود را به صورت آنلاین ارائه می دهند بسیار مهم هستند. زیرا WAF ها می توانند از نشت اطلاعات آنها جلوگیری کنند، بانک ها، شبکه های اجتماعی مجازی و توسعه دهندگان نرم افزار های موبایل از این قبیل سازمان ها می باشند. داده های حساسی همچون اطلاعات کارت بانکی و سوابق مشتریان، در دیتابیسی که به صورت آنلاین از طریق نرم افزار های تحت وب در دسترس است، ذخیره می شوند. هکرها به طور متناوب این نرم افزارها را مورد حمله قرار می دهند تا بتوانند به داده های موجود در دیتابیس آنها دسترسی پیدا کنند.

به عنوان نمونه، بانک ها می توانند از WAF یا دیوار آتش وب برای پیاده سازی استاندارد Payment Card Industry Data Security Standard به اختصار PCI DSS استفاده کنند که تضمین می کند مشخصات مالک کارت، محافظت خواهد شد. نصب یک فایروال در واقع یکی از 12 پیش نیاز PCI DSS است. از آنجا که امروزه بسیاری از شرکت ها از نرم افزارهای موبایل و اینترنت اشیا (IoT) در کسب و کار خود استفاده می کنند، یک رشد فزاینده در تراکنش های لایه نرم افزار، از طریق وب در حال انجام است. به همین دلیل WAF یکی از مهمترین اجزای امنیتی کسب و کارهای امروزی خواهد بود.

درست است که وجود WAF اهمیت بالایی دارد اما این ابزار در صورت همکاری و ارتباط با دیگر اجزای امنیتی همچون IPSes ،IDSes و firewall های نسل جدید، می تواند بسیار تاثیرگذارتر باشد. مدل امنیتی جامع که برای محافظت از یک کسب و کار پیاده سازی می شود، در حالت ایده آل خود می تواند WAF را در کنار دیگر FireWall ها و اجزای امنیتی همچون IPSes و IDSes، داشته باشد.

WAF یا دیوار آتش وب در دو نسخه تجاری و متن باز 

می توان WAF را در دو نسخه متن باز و تجاری تهیه نمود. از معروفترین WAF های تجاری می توان به Barracuda و CloudFlare اشاره کرد. از مشهورترین WAF های متن باز نیز می توان ModSecurity، Naxsi و WebKnight را نام برد.

جمع بندی

دیوار آتش (Firewall) یک اصطلاح گسترده در سیستم عامل است و به ابزاری اشاره می کند که با فیلتر کردن داده های ورودی به سیستم، از آن محافظت می کند. در این تعریف کلی، چندین دسته از Firewall ها بر اساس نوع محافظتی که ارائه می دهند، به وجود خواهند آمد. 

WAF یا دیوار آتش وب یک شاخه از Firewall ها محسوب می شود که بر اساس نوع فیلتر گذاری داده ها، تعریف می گردد. WAF منحصر به فرد بوده و به صورت ویژه روی حملات تحت وب در سطح نرم افزار تمرکز کرده است، جایی که ابزاری همچون فیلتر بسته های داده، امکان جلوگیری از حمله را نخواهند داشت.

اشتراک گذاری:

نظرات

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

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