WAF (Web Application Firewall) چیست ؟
WAF (Web Application Firewall) چیست ؟
در مجموعه مقالات جت آموز قبلا راجب فایروال و کاربرد آن صحبت کردیم. تو این مقاله میخوایم درمورد فایروال برنامه های تحت وب (WAF) صحبت کنیم. Web Application Firewall راهکار مقابله با حملات تحت وب می باشد.
فایروال برنامه های وب WAF به طور ویژه برای محافظت در برابر حملات وب طراحی شده است. تفاوت WAF و Firewall در این است که برای محافظت از برنامه های خاص وب باید از فایروال برنامه وب استفاده شود. در حالی که یک فایروال با هدف کلی محافظت در سطح شبکه را انجام می دهد، یک فایروال برنامه وب در لایه ۷ مدل OSI (لایه اپلیکیشن) کار می کند. گاهی اوقات فایروال های برنامه وب به عنوان فایروال های لایه ۷ نیز شناخته می شوند.
لطفا در نظر داشته باشید عبارت “فایروال برنامه” یک اصطلاح عمومی در این زمینه است. چند نام دیگر نیز وجود دارد در این زمینه که معانی یکسانی با WAF دارند مانند : فایروال برنامه وب ، WAF ، فایروال WAF و حتی فایروال پروکسی. همه این اصطلاحات به یک معنی هستند.
فایروال برنامه وب در واقع یک Reverse Proxy است. اول ببینیم که پروکسی چیست؟ پراکسی برای محافظت از کلاینت ها طراحی شده است. کاربری که می خواهد به عنوان یک ناشناس اینترنت را مرور کند جهت اینکار به یک سرور پروکسی متصل می شود. سرور پروکسی در این حالت یک تونل ایمن را با کامپیوتر کاربر ایجاد می کند. تا ترافیک بین رایانه کاربر و پروکسی سرور رمزگذاری شود. وقتی کاربر URL را در مرورگر خود تایپ می کند URL به سرور پروکسی ارسال می شود پراکسی سرور از طرف کاربر به URL درخواست شده متصل می شود و سپس یک نسخه از صفحه درخواست شده را به کاربرانی که درخواست کرده اند ارسال می کند. این روش باعث حفظ حریم خصوصی کاربر می شود زیرا کاربر هرگز به طور مستقیم به یک سایت متصل نمی شود و کلیه ترافیک بین رایانه کاربر و پروکسی رمزگذاری می شود.
این یک نمونه از پروکسی استاندارد است. فایروال برنامه وب به عنوان یک پروکسی معکوسReverse proxy عمل می کند. در حالی که یک پروکسی استاندارد برای محافظت از یک کاربر (یا حریم خصوصی کاربر) طراحی شده است یک پروکسی معکوس برای محافظت از یک سرور طراحی شده است.
WAF چگونه کار میکند؟
برای درک نحوه عملکرد یک فایروال WAF نحوه تنظیم سرورهای وب را به طور معمول در نظر بگیرید. به طور معمول یک سرور وب در پشت یک فایروال استاندارد وجود دارد. فایروال ترافیک مقصد را به کلیه پورت ها به جز پورت ۸۰ (HTTP) و پورت ۴۴۳ (HTTPS) مسدود می کند. هنگامی که فایروال درخواستی را در یکی از این پورت ها دریافت می کند به طور معمول از یک پالیسی جهت ارسال درخواست به سرور وب استفاده می کند.
بسته به نحوه پیکربندی فایروال شبکه، ممکن است قبل از ارسال پکت ها به سرور وب برخی از بررسی های اضافی در ترافیک را انجام دهد. به عنوان مثال اگر فایروال می داند که ترافیک HTTP تنها نوع ترافیکی است که باید از طریق درگاه ۸۰ جریان داشته باشد در این صورت فایروال انواع دیگری از ترافیک هایی که قصد ورود از طریق درگاه باز را دارند را مسدود می کند.
به طور ارتباط یک سرور برنامه تحت وب محدود به خودش نمی شود. اگر محتوای سایت استاتیک باشد میتواند فقط به یک سرور محدود شود ولی در صورتی که محتوا داینامیک باشد به سرورهای دیگر نیز ارتباط وجود خواهد داشت سرورها دیتابیس یک مثال از سرورهای مورد اتصال است.
WAF کجا قرار می گیرد؟
در معماری امنیت برای حفظ امنیت سرور دیتابیس معمولاً در کنار وب سرور و در لبه شبکه قرار نمیگیرد. در عوض دیتابیس در یک ناحیه امن جداگانه قرار میگیرد و ارتباط وب سرور با سرور پایگاه داده از طریق یک Database Firewall کنترل میشود.
به طور معمول سرور پایگاه داده در یک ناحیه امنیتی جداگانه قرار می گیرد و سرور وب جلویی Front end web از طریق یک کانال ایمن که از یک فایروال اختصاصی عبور می کند با سرور پایگاه داده ارتباط برقرار می کند.
در این مورد خاص سرور وب جلویی شبیه به پروکسی عمل می کند. مشتریانی که به وب سایت دسترسی پیدا می کنند خودشان Query پایگاه داده را ایجاد نمی کنند. سرور وب جلویی در حال ایجاد پرس و جو از پایگاه داده از طرف مشتری است. در این معماری امنیتی وب سرور، سرور پایگاه داده را از قرار گرفتن در معرض ترافیک اینترنت محافظت می کند.
تجهیز امنیتی WAF به روشی تقریباً مشابه کار می کند. WAF بین فایروال لبه شبکه سازمان و یک سرور وب یا سرور برنامه وب قرار دارد. هنگامی که مشتری برای دسترسی به وب سایت یا برنامه وب تلاش می کند درخواست مشتری از طریق درگاه ۸۰ یا ۴۴۳ از طریق فایروال لبه عبور می کند. اما به جای اینکه درخواست را مستقیماً به وب سرور هدایت کند درخواست را به WAF ارسال می کند. WAF سپس درخواست را کنترل می کند و در صورت امن بودن آن را به سرور وب منتقل می کند. سپس سرور وب درخواست را پاسخ می دهد. بسته به ماهیت برنامه وب، WEB Server ممکن است از سرور پایگاه داده درخواست اطلاعات کند.
WAF چه کاری انجام می دهد؟
در این مثال WAF دو وظیفه اصلی را انجام می دهد. اول وظیفه محافظت از وب سرور از ترافیک اینترنت را دارد. اگرچه فایروال شبکه درخواست های مبتنی بر اینترنت را به WAF منتقل می کند اما WAF آن درخواست ها را به سرور وب ارسال نمی کند. در عوض WAF به عنوان یک پروکسی عمل می کند. درخواستی از وب سرور به نمایندگی از مشتری ایجاد می کند و سپس نتیجه آن درخواست را به مشتری ارسال می کند. این باعث می شود سرور وب در معرض اینترنت قرار نگیرد و جمع آوری اطلاعات در مورد سرور وب را برای هکرها دشوارتر می کند. ترافیک وب هرگز با سرور وب به صورت مستقیم ارتباط برقرار نمی کند. در واقع سرور وب به طور معمول مجهز به فایروال نرم افزاری است که پیکربندی شده است و به آن اجازه می دهد تا فقط با فایروال برنامه و سرور پایگاه داده ارتباط برقرار کند
دومین وظیفه ای که WAF دارد اطمینان از صحت و درستی درخواست قبل از ارسال درخواست برای سرور وب است. یکی از تفاوت های مهم بین فایروال شبکه و فایروال برنامه وب این است که یک فایروال برنامه وب دانش دقیقی در مورد برنامه ای که از آن محافظت می کند دارد. به همین دلیل WAF می داند که کدام نوع درخواست ها امن است و بنابراین می تواند درخواست های غیر طبیعی را فیلتر کند.
قابلیت های WAF
اگرچه ایجاد امنیت وب سرورها وظیفه اصلی WAF است ولی می توان یک فایروال برنامه را برای انجام برخی کارهای اضافی طراحی کرد. به عنوان مثال برخی از WAF ها کار تقسیم بار را انجام می دهند یعنی به عنوان یک Load balancer عمل می کنند. با ورود درخواست WAF ممکن است این درخواست ها را به مجموعه ای از سرورهای وب منتقل کند. به طور معمول درخواست پراکسی به روش round-robin و یا روشهای دیگر توزیع می شود تا به طور مساوی و یا نامساوری بر اساس توان سرورها، درخواستها را بین سرورهای وب موجود توزیع کند. WAF می تواند به عنوان یک سیستم پیشگیری از نفوذIPS نیز عمل کند.
برای جلوگیری از حمله یک سیستم پیشگیری از نفوذ باید بتواند ابتدا تلاش را تشخیص دهد. این سیستم برای شناسایی بد افزار ها به یک پایگاه داده مبتنی بر signature متصل است. این سیستم توانایی تشخیص اسکن آسیب پذیری و حملات DDoS را دارد.
از آنجا که حملات زیادی وجود دارد که ممکن است دقیقاً با امضای موجود در بانک اطلاعاتی مطابقت نداشته باشد، برخی از سیستم های پیشگیری از نفوذ مکانیزمی برای شناسایی حملات استفاده می کنند که هیچ امضایی در آن وجود ندارد. اگرچه ضرر استفاده از این سیستم ها این است که انجام این کار خطر تشخیص اشتباه false positives را به همراه دارد.
فایروال برنامه های تحت وب WAF ها می توانند به اشکال مختلفی ارائه شوند می تواند به عنوان یک نرم افزار، یک دستگاه سخت افزاری یا حتی یک تجهیزمجازی Virtual Appliance وجود داشته باشند. بسته به حجم ترافیک وب که یک سازمان دریافت می کند ممکن است یک وسیله سخت افزار اختصاصی ترجیح داده شود زیرا ترافیک باید در زمان بسیار کم پردازش شود.
همچنین شایان ذکر است که برخی از کمپانی ها راهکارهای WAF کاربردی خود را ارائه می دهند. به عنوان مثال مایکروسافت نقش edge را برای Exchange Server ایجاد کرده است. اگرچه مایکروسافت معمولاً از سرور لبه به عنوان WAF استفاده نمی کند اما همان وظیفه اصلی را به عنوان یک WAF سنتی وب با محافظت از سرورهای صندوق پستی Exchange از اینترنت انجام می دهد.
برخی از برندهای WAF محبوب در ایران به شرح زیر است:
Citrix
Brocade
A10 Networks
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.