Новий білд Nemesida WAF Free для NGINX

Новий білд Nemesida WAF Free для NGINX
Минулого року ми випустили Nemesida WAF Free — динамічний модуль для NGINX, який блокує атаки на веб-програми. На відміну від комерційної версії, заснованої на роботі машинного навчання, безкоштовна версія аналізує запити лише методом сигнатури.

Особливості релізу Nemesida WAF 4.0.129

До поточного релізу динамічний модуль Nemesida WAF підтримував лише 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-декод в cookie
  • NAXSI дуже довго налаштовувати — за умовчанням дефолтні налаштування правил блокуватимуть велику частину звернень під час роботи з веб-додатком (авторизацію, редагування профілю або матеріалу, участь у опитуваннях тощо) і необхідно генерувати списки винятків, що погано позначається на безпеці. Nemesida WAF Free з налаштуваннями за умовчанням у процесі роботи з сайтом не виконала жодного хибного спрацьовування.
  • кількість перепусток атак у NAXSI в рази вище і т.д.

Незважаючи на недоліки, NAXSI та mod_security мають, як мінімум, дві переваги – відкритий вихідний код та велику кількість користувачів. Ми підтримуємо ідею розкриття вихідного коду, але поки що не можемо цього зробити через можливі проблеми з «піратством» комерційної версії, але щоб компенсувати цей недолік — повністю розкриваємо вміст набору сигнатур. Ми цінуємо конфіденційність і пропонуємо переконатися в цьому самостійно за допомогою проксі-сервера.

Особливість Nemesida WAF Free:

  • якісна база сигнатур із мінімальною кількістю False Positive та False Negative.
  • встановлення та оновлення з репозиторію (це швидко та зручно);
  • прості та зрозумілі події про інциденти, а не «каша», як у 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 не блокує легітимні запити.

Джерело: habr.com

Додати коментар або відгук