فایروال های برنامه های کاربردی وب (WAF) محصولات پیچیدهای هستند. حصول اطمینان از ایمن بودن برنامههای کاربردی مبتنی بر وب، به چندین لایه امنیتی نیاز دارد که حداقل آنها، یک فایروال برنامههای کاربردی وب (WAF) است.
WAF یک لایه حیاتی برای حفظ محرمانگی، در دسترس بودن و یکپارچگی دادههای قابل دسترسی وب است. این مقاله به سازمانها در خرید WAF کمک کرده و با بررسی سؤالات و نگرانیهای کلیدی، نکاتی که باید در حین خرید در نظر بگیرند را تشریح میکند.
چهار سوالی که باید قبل از خرید WAF بپرسید
محدوده قیمت، روشهای استقرار، پیچیدگی و تعداد زیادی از مشخصات دیگر در خرید WAF باید در نظر گرفته شود. درک نیازهای کسبوکار، قابلیتها و منابع موجود (مانند مهارتهای داخلی و تامین مالی) قبل از خرید WAF، میتواند تاثیر بسزایی در جهت حصول اطمینان از دسترسی سازمان به محصولی که به بهترین وجه با نتیجه نهایی مطلوبش مطابقت دارد، داشته باشد. برنامهریزی مناسب و ارزیابی دقیق محصولات موجود در بازار نیز بسیار مهم است.
نکات و سؤالات کلیدی که در زیر به آنها اشاره شده به منظور ارائه ابزارهایی به سازمانها برای حرکت در مسیر درست و انجام این ارزیابیها طراحی شدهاند.
این معیارها عبارتند از اینکه چگونه یک WAF در محیط خود قرار میگیرد، حملات را شناسایی میکند و به آنها پاسخ میدهد و ثبت گزارش را انجام میدهد. همچنین برای مدیریت و نگهداری WAF به چه مواردی باید توجه شود.
بررسی پاسخ این سؤالات برای هر محصول WAF، به شرکتها کمک میکند تا فقط محصولاتی را انتخاب کنند که میتوانند نیازهای آن را برآورده سازند.
1. WAF چگونه با محیط شما ادغام میشود؟
یکی از حیاتیترین جنبههایی که باید در ارزیابی WAF به آن توجه کرد، استقرار است. به عبارت دیگر، برای راهاندازی WAF چه چیزی لازم است؟
چند گزینه مختلف برای استقرار WAF وجود دارد که باید آنها را بررسی و هر یک را همراه با محیط موجود یک شرکت سنجید تا مشخص شود مناسبترین نوع WAF کدام است.
این روش در بسیاری از موارد به تصمیم گیرندگان اجازه میدهد تا از طریق حذف محصولاتی که برای شبکه و محیط فناوری اطلاعات آنها مناسب نیست، لیست فروشندگان و محصولات را محدود کنند.
روشهای استقرار WAF:
- In Line Appliance: این روش بسیار رایج پیادهسازی WAF، شامل قرار دادن یک دستگاه در شبکه بین کاربران و یک برنامه وب است. این روش زمانی ایدهآل است که شرکت دارای کارکنان فنی داخلی کافی بوده یا توانایی پرداخت هزینه خدمات پیادهسازی به فروشنده را داشته باشد.
- WAF مبتنی بر ابر: این روش معمولاً مستلزم آن است که سازمانها رکوردهای DNS را جهت تشخیص به آدرسهای IP فروشنده WAF هدایت کنند و ترافیک وب را از فروشنده به میزبان برنامه واقعی ارسال کنند.
در بسیاری از موارد، شرکتها باید کلیدهای SSL خود را نیز ارائه کنند، زیرا سرورهای فروشنده، دادهها را قبل از ارسال، رمزگشایی میکنند.
این ممکن است باعث بوجود آمدن پیامدهای عملکردی شود، زیرا ترافیک قبل از رسیدن به سرورهای شرکت مراحل بیشتری را طی میکند. با اینکه اکثر فروشندگان WAF مبتنی بر ابر، پهنای باند کافی دارند، اما همچنان باید این مورد را در نظر داشت.
پیادهسازی WAF مبتنی بر ابر اغلب آسانتر است، زیرا فقط به تغییر DNS (و احتمالاً کلیدهای SSL نصب شده) نیاز دارد و کار کمتری روی مهارتهای فناوری IT داخلی دارد.
توجه: امروزه بسیاری از برنامه های مبتنی بر ابر محافظت DDoS را نیز ارائه میدهند.
- WAF :Integrated WAF مبتنی بر کد یا نرم افزار، به احتمال زیاد نیاز به تغییرات مستقیم در کد برنامه وب سازمانی یا سرورهای وب سازمان دارد. این برای کارکنان ماهر فنی یک ویژگی عالی بشمار میآید و میتواند ارزانتر از سایر محصولات WAF باشد.
همچنین نیازی به تغییر معماری شبکه یا مسیر DNS ندارد. محصولات WAF یکپارچه به طور کلی کمترین تأثیر کلی را روی شبکهها، سیستمها و عملکرد دارند.
هنگام ارزیابی نوع WAF که شرکت قصد خرید آن را دارد، صحبت با فروشنده و مشارکت تیمهای فنی داخلی حائز اهمیت است. ممکن است الزامات یا محدودیتهایی وجود داشته باشند که در ظاهر مشخص نباشند، اما تأثیر عمدهای روی کارایی WAF داشته باشند.
بعنوان مثال میتوان از نحوه کار WAF یکپارچه انتخابی با وب سرور نام برد. مشارکت مدیران سرور وب میتواند از بروز هرگونه مشکل در حین اجرا جلوگیری کند.
یکی دیگر از مشکلات رایج، پخش محتوای سنگین و مبتنی بر شبکه از طریق WAF مبتنی بر ابر است. با بکارگیری تیم شبکه و کارمندان تست عملکرد، میتوان تضمین کرد که کاربران با مشکلات تاخیر مواجه نخواهند شد.
نکته مهم دیگر اینست که WAF چگونه لایه SSL را مدیریت و از هویت وبسایت و دادههای آن هنگام عبور از اینترنت محافظت میکند.
در پیادهسازیهای WAF مبتنی بر ابر یا دستگاه، سازمانها باید ترافیک را رمزگشایی کنند تا آن را ببینند. این شامل پایان دادن به جلسه SSL و ایجاد مجدد آن (در صورت لزوم) یا رمزگشایی جلسات روی سیم هنگام عبور از WAF است. اطمینان حاصل کنید که محصولات مورد ارزیابی از این ویژگیها پشتیبانی میکنند.
2. WAF چگونه حملات را شناسایی کرده و به آنها پاسخ میدهد؟
WAF ها عمدتاً با بازرسی محتوای درخواستها و پاسخها بین سرور برنامه و مشتری کار میکنند. اینکه WAF چگونه و چه چیزی را بازرسی میکند برای اثربخشی آن در حفاظت از منابع سازمانی بسیار مهم است.
آنچه WAF بازرسی میکند – مانند هدرها، Sessionها، آپلود فایلها و غیره – توانایی آن را برای پاسخگویی تعیین میکند. یک WAF باید بتواند تمام اجزای یک درخواست/پاسخ، از جمله جزئیات جلسه را بازرسی کند. اگر یک برنامه دارای الزاماتی مانند محدود کردن تعداد جلسات برای یک کاربر باشد، اکثر WAFها میتوانند به اجرای آنها کمک کنند.
یک WAF باید تنظیماتی داشته باشد تا مدیران به راحتی بتوانند این گزینهها را انتخاب کنند. اگر سازمانی الزامات خاصی در مورد نحوه استفاده از GET در مقابل POST یا موارد خاصی در ارجاع دهنده داشته باشد، WAF باید از این موضوع پشتیبانی کند.
تشخیص ترافیک غیرعادی یا مخرب مبتنی بر چند مدل است و درک هر یک از آنها مهم است.
اگر WAF از رویکرد لیست سیاه استفاده کند، تنها در صورتی که درخواستها حاوی یک حمله شناخته شده در لیست باشد، آن را مسدود میکند. حملات معروفی مانند SQL Injection و Cross-Site Scripting اغلب حاوی کاراکترهای خاصی هستند که به راحتی شناسایی میشوند.
تا زمانی که WAF از روش حمله آگاه باشد، لیست سیاه عالی عمل میکند. بنابراین، لیستهای سیاه باید بهروز نگه داشته شوند، زیرا تهدیدها معمولا تغییر میکنند.
اگر یک WAF از رویکرد لیست سفید استفاده کند، فقط به درخواستهایی که معیارهای موجود در لیست یا پیکربندی را دارند مجوز میدهد. این روش تشخیص به تلاش بیشتری در حین اجرا در قسمت front end نیاز دارد، اما معمولاً رویکرد ایمنتری است زیرا هر چیزی را که مجاز تعریف نشده باشد مسدود میکند.
هر یک از این روشها باید توسط تیم فنی شرکت قابل تنظیم باشند.
فراتر از تشخیص، نحوه واکنش WAF به یک حمله یا ناهنجاری نیز بسیار مهم است. WAF ها گزینههایی دارند که باید بتوان آنها را به راحتی در رابط پیکربندی تغییر داد. به طور معمول، WAF به نوعی با یک درخواست یا جلسه تعامل دارد (زمانی که یک حمله یا ناهنجاری شناسایی شود)، مانند خاتمه جلسه با سرور برنامه یا مسدود کردن آن درخواست. هر روش دارای مزایا و معایبی است و درک اینکه کدام روش در دسترس است مهم است.
یک WAF باید برای مسدود کردن با استفاده از یکی از روشهای زیر قابل تنظیم باشد:
- مسدود کردن جلسه
- مسدود کردن آدرس IP
- مسدود کردن درخواست
- خروج کاربر
- مسدود کردن کاربر
در حالت ایدهآل، یک WAF باید این موارد را در پیکربندیهای مختلف به عنوان پاسخی به شناسایی یک حمله یا ناهنجاری، پشتیبانی کند. با این حال، در برخی موارد، یک WAF ممکن است برای انجام عملیات مسدود کردن خود به دستگاههای دیگر مانند فایروالهای شبکه یا روترها نیاز داشته باشد.
اگر سازمانها بخواهند از این ویژگی استفاده کنند، باید مطمئن شوند که محصول WAF انتخابی با دستگاههای شبکه موجود، سازگار است.
3. WAF چگونه ورود به سیستم را انجام میدهد؟
درحالیکه مهمترین ویژگی یک WAF محافظت در برابر حملات است، دومین ویژگی آن توانایی آن برای ورود به سیستم و هشدار به ادمینها درباره رخدادهای در حال وقوع است.
در برخی موارد، سازمانها ممکن است به یک حمله یا کاربر در معرض خطر مشکوک شده و بخواهند جزئیات اتفاقات ببینند. این -Where ،What و How- های گزارشات مربوط به WAF حیاتی هستند. سادهترین تجزیه و تحلیل نحوه انجام این گزارش، روش آزمایش شده و واقعی Where, When, What است.
ابتدا بیایید در مورد “چه چیزی (What)” صحبت کنیم:
WAF چه چیزی را ثبت میکند؟ باید تا جایی که ممکن است جزئیات را ثبت و تراکنشها را ردیابی کند، از جمله جلسات، جزئیات ناوبری و همه چیزهایی که بین آنها وجود دارد. جزئیات کامل هر ورودی گزارش تراکنش باید مستند شود تا زمان و تلاشی که برای بررسی یک حادثه لازم است کاهش یابد.
با داشتن گزارشات بسیار دقیق، شرکتها قادر خواهند بود مشکلاتی که ممکن است به دلیل مسائل پیکربندی با خود WAF رخ دهد را عیبیابی کنند.
حال، بیایید در مورد “وقتی (When)” صحبت کنیم:
اینجا توجه به دو نکته کلیدی مهم است. حداقل باید دو مجموعه از گزارشات مربوطه وجود داشته باشد. اولین مورد، یک گزارش دسترسی یا تراکنش درباره تمام فعالیتهایی که از WAF میگذرد و دومین مورد یک گزارش رویداد است که در آن یک ورودی زمانی ایجاد میشود که چیزی باعث تشخیص یا واکنش WAF شود.
هر دو گزارش مهم هستند، اما گزارش رویداد بیشتر استفاده میشود، زیرا ورودیها معمولاً رفتار غیر عادی، مانند حملات یا حملات مشکوک را نشان میدهند.
در نهایت، در مورد “کجا (Where)” بحث می کنیم:
جایی که گزارشات ذخیره میشوند یا نحوه ارسال آنها به یک سرویس ثبت مرکزی اهمیت دارد. آیا گزارشها با استفاده از فرمتها و پروتکلهای پشتیبانی شده توسط اطلاعات امنیتی و مدیریت رویداد یا SIEM، سیستمهای مورد استفاده سازمان فرمتبندی و ارسال میشوند؟
آیا گزارشها برای مدت زمان معینی روی دستگاهها نگهداری میشوند؟ آیا WAF هرگونه اطلاعات حساس مانند شمارههای تامین اجتماعی یا شماره حسابهای دائمی (مثلاً شماره کارت اعتباری) موجود در درخواستها را غیر قابل تشخیص میکند؟ این مسایل میتوانند برای رعایت مقرراتی مانند نسخه استاندارد امنیت داده صنعت کارت پرداخت یا PCI DSS مهم باشند.
علاوه بر ذخیره سازی، Where همچنین شامل نحوه تولید و ارسال هشدار به سازمان است. که معمولا عبارتند از هشدارهای ایمیل، پورتالهای وب و SNMP ، اما هرچه موارد بیشتری در دسترس باشد، بهتر است.
4. WAF چگونه مدیریت و بهروز میشود؟
WAF ها قرار نیست پیکربندی و سپس فراموش شوند، بنابراین نحوه مدیریت آنها برای استفاده طولانی مدت مهم است. اگر یک WAF از ویژگیها یا قوانین لیست سیاه استفاده میکند، سازمان باید بداند که چگونه آنها بروز میشوند. سازمان همچنین باید اطمینان حاصل کند که میتواند این قوانین و ویژگیها را به گونهای شخصیسازی کند که بیشترین انعطاف را داشته باشند.
اگر شرکتی از زبان برنامه نویسی PHP استفاده نمیکند، احتمالاً به آن ویژگیهای لیست سیاه یا قوانین موجود نیازی ندارد و باید آنها را غیرفعال کند. به طور معمول این گزینهها از طریق رابط مدیریت WAF پیکربندی میشوند. اطمینان حاصل کنید که این خطمشیها بطور کامل توسط کاربر قابل تنظیم هستند تا بتوانید بیشترین کنترل را بر نحوه عملکرد WAF داشته باشید.
اگر سازمانی بصورت منظم بروزرسانیها را از فروشنده دریافت میکند، این بروزرسانیها چگونه تحویل داده میشوند؟ بسیاری از فروشندگان فایل بروزرسانی دستی ارائه میکنند یا به دستگاه اجازه میدهند به طور خودکار با یک سرویس بروزرسانی در ارتباط باشد.
بسته به پلتفرمی که WAF روی آن اجرا میشود (مانند ویندوز یا لینوکس)، همین مساله باید در مورد بروزرسانیهای سیستم عامل زیربنایی نیز اعمال شود. اطمینان حاصل کنید از هر روشی که برای بروزرسانی محصول WAF استفاده میکنید، این کار بطور کامل و درست انجام میشود. بخاطر داشته باشید بکارگیری یک دستگاه ناامن که از برنامههای کاربردی وب شرکت محافظت میکند، نتیجه معکوس خواهد داشت.