سال گذشته ما Nemesida WAF Free را منتشر کردیم، یک ماژول پویا برای NGINX که حملات به برنامههای وب را مسدود میکند. برخلاف نسخه تجاری که مبتنی بر یادگیری ماشینی است، نسخه رایگان درخواست ها را تنها با استفاده از روش امضا تجزیه و تحلیل می کند.
ویژگی های انتشار Nemesida WAF 4.0.129
قبل از انتشار فعلی، ماژول پویا WAF Nemesida فقط از Nginx Stable 1.12، 1.14 و 1.16 پشتیبانی می کرد. نسخه جدید پشتیبانی از Nginx Mainline را اضافه می کند که از 1.17 شروع می شود و Nginx Plus از 1.15.10 (R18) شروع می شود.
چرا یک WAF دیگر درست کنیم؟
NAXSI و mod_security احتمالاً محبوبترین ماژولهای رایگان WAF هستند و mod_security به طور فعال توسط Nginx تبلیغ میشود، اگرچه در ابتدا فقط در Apache2 استفاده میشد. هر دو راه حل رایگان، متن باز هستند و کاربران زیادی در سراسر جهان دارند. برای mod_security، مجموعههای امضای رایگان و تجاری با قیمت 500 دلار در سال در دسترس هستند، برای NAXSI مجموعهای از امضاهای رایگان خارج از جعبه وجود دارد، و همچنین میتوانید مجموعههای دیگری از قوانین، مانند doxsi را پیدا کنید.
امسال ما عملکرد NAXSI و Nemesida WAF Free را آزمایش کردیم. مختصری در مورد نتایج:
- NAXSI رمزگشایی URL دوگانه را در کوکی ها انجام نمی دهد
- پیکربندی NAXSI به زمان بسیار زیادی نیاز دارد - به طور پیشفرض، تنظیمات قوانین پیشفرض اکثر درخواستها را هنگام کار با یک برنامه وب (مجوز، ویرایش نمایه یا مطالب، شرکت در نظرسنجیها و غیره) مسدود میکند و لازم است فهرستهای استثنا ایجاد شود. که تاثیر بدی روی امنیت دارد. Nemesida WAF Free با تنظیمات پیشفرض، حین کار با سایت، حتی یک مورد مثبت کاذب انجام نداد.
- تعداد حملات از دست رفته برای NAXSI چندین برابر بیشتر است و غیره.
با وجود کاستی ها، NAXSI و mod_security حداقل دو مزیت دارند - منبع باز و تعداد زیادی کاربر. ما از ایده افشای کد منبع حمایت می کنیم، اما به دلیل مشکلات احتمالی "دزدی دریایی" نسخه تجاری هنوز نمی توانیم این کار را انجام دهیم، اما برای جبران این نقص، محتویات مجموعه امضا را به طور کامل افشا می کنیم. ما برای حفظ حریم خصوصی ارزش قائل هستیم و به شما پیشنهاد می کنیم خودتان با استفاده از یک سرور پروکسی این موضوع را تأیید کنید.
ویژگی های Nemesida WAF Free:
- پایگاه داده امضا با کیفیت بالا با حداقل تعداد موارد مثبت کاذب و منفی کاذب.
- نصب و به روز رسانی از مخزن (سریع و راحت است)؛
- رویدادهای ساده و قابل درک در مورد حوادث، و نه "به هم ریختگی" مانند NAXSI.
- کاملا رایگان، محدودیتی در میزان ترافیک، هاست مجازی و ... ندارد.
در پایان، من چندین سؤال برای ارزیابی عملکرد WAF ارائه خواهم کرد (توصیه می شود از آن در هر یک از مناطق استفاده کنید: URL، ARGS، Headers & Body):
')) un","ion se","lect 1,2,3,4,5,6,7,8,9,0,11#"]
')) union/**/select/**/1,/**/2,/**/3,/**/4,/**/5,/**/6,/**/7,/**/8,/**/9,/**/'some_text',/**/11#"]
union(select(1),2,3,4,5,6,7,8,9,0x70656e746573746974,11)#"]
')) union+/*!select*/ (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
')) /*!u%6eion*/ /*!se%6cect*/ (1),(2),(3),(4),(5),(6),(7),(8),(9.),(0x70656e746573746974),(11)#"]
')) %2f**%2funion%2f**%2fselect (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
%5B%221807182982%27%29%29%20uni%22%2C%22on
%20sel%22%2C%22ect%201%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C%2some_text%27%2C11%23%22%5D
cat /et?/pa?swd
cat /et'c/pa'ss'wd
cat /et*/pa**wd
e'c'ho 'swd test pentest' |awk '{print "cat /etc/pas"$1}' |bas'h
cat /etc/passwd
cat$u+/etc$u/passwd$u
<svg/onload=alert()//
اگر درخواست ها مسدود نشوند، به احتمال زیاد WAF حمله واقعی را از دست خواهد داد. قبل از استفاده از مثالها، مطمئن شوید که WAF درخواستهای قانونی را مسدود نمیکند.
منبع: www.habr.com