
Im vergangenen Jahr haben wir Nemesida WAF Free veröffentlicht – ein dynamisches Modul für NGINX, das Angriffe auf Webanwendungen blockiert. Im Gegensatz zur kommerziellen Version, die auf maschinellem Lernen basiert, analysiert die kostenlose Version Anfragen lediglich nach dem Signaturverfahren.
Besonderheiten der Version Nemesida WAF 4.0.129
Bis zur aktuellen Version unterstützte das dynamische Modul Nemesida WAF nur Nginx Stable 1.12, 1.14 und 1.16. In der neuen Version wird nun auch Nginx Mainline ab 1.17 und Nginx Plus ab 1.15.10 (R18) unterstützt.
Warum ein weiteres WAF entwickeln?
NAXSI und mod_security sind wohl die bekanntesten kostenlosen WAF-Module, wobei mod_security aktiv von Nginx gefördert wird, obwohl es ursprünglich nur in Apache2 verwendet wurde. Beide Lösungen sind kostenlos, haben Open-Source-Code und viele Nutzer auf der ganzen Welt. Für mod_security sind sowohl kostenlose als auch kommerzielle Signatursätze für 500 $ pro Jahr verfügbar, für NAXSI gibt es ein kostenloses 'Out-of-the-Box'-Signaturset, zudem sind zusätzliche Regelsets wie doxsi erhältlich.
In diesem Jahr haben wir die Leistung von NAXSI und Nemesida WAF Free getestet. Kurz zusammengefasst:
- NAXSI führt keinen doppelten URL-Decode in Cookies aus.
- NAXSI benötigt eine sehr lange Konfiguration — die Standardregelwerke blockieren standardmäßig die meisten Anfragen bei der Verwendung von Webanwendungen (z.B. Autorisierung, Profil- oder Materialbearbeitung, Teilnahme an Umfragen usw.) und es müssen Ausnahmelisten erstellt werden, was sich negativ auf die Sicherheit auswirkt. Nemesida WAF Free hat bei der Arbeit mit der Website aufgrund der Standardkonfiguration keinen einzigen Fehlalarm ausgelöst.
- Die Anzahl der abgewehrten Angriffe bei NAXSI ist deutlich höher usw.
Trotz der Mängel haben NAXSI und mod_security mindestens zwei Vorteile – Open-Source und eine große Benutzerbasis. Wir unterstützen die Idee der Quelloffenlegung, können dies jedoch momentan aufgrund möglicher Probleme mit dem „Piraterie“-Risiko der kommerziellen Version nicht umsetzen. Um diesen Nachteil zu kompensieren, legen wir den Inhalt des Regelsets vollständig offen. Wir legen großen Wert auf Vertraulichkeit und laden Sie ein, sich selbst über Proxy-Server.
Besonderheit von Nemesida WAF Free:
- hochwertige Signaturdatenbank mit minimalen False Positives und False Negatives.
- Installation und Aktualisierung aus dem Repository (schnell und bequem);
- einfache und verständliche Ereignisse zu Vorfällen, keine 'Brei'-Analysen wie bei NAXSI;
- vollständig kostenlos, ohne Einschränkungen bei der Menge an Traffik, virtuellen Hosts usw.
Abschließend möchte ich einige Anfragen empfehlen, um die Funktionsweise des WAF zu bewerten (empfohlen in jeder Zone zu verwenden: URL, ARGS, Header & 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)#"]
')) /*!uion*/ /*!seect*/ (1),(2),(3),(4),(5),(6),(7),(8),(9.),(0x70656e746573746974),(11)#"]
')) **union**select (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
1807182982union
select123456789%2some_text11
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()//
Wenn die Anfragen nicht blockiert werden, wird das WAF wahrscheinlich auch echte Angriffe durchlassen. Stellen Sie vor der Verwendung der Beispiele sicher, dass das WAF legitime Anfragen nicht blockiert.
Quelle: habr.com
