
Lo scorso anno abbiamo lanciato Nemesida WAF Free, un modulo dinamico per NGINX che blocca gli attacchi alle applicazioni web. A differenza della versione commerciale, basata su machine learning, la versione gratuita analizza le richieste solo con un metodo basato su firme.
Caratteristiche della versione Nemesida WAF 4.0.129
Fino alla versione attuale, il modulo dinamico Nemesida WAF supportava solo Nginx Stable 1.12, 1.14 e 1.16. Nella nuova versione è stata aggiunta la compatibilità con Nginx Mainline, a partire dalla 1.17, e Nginx Plus, a partire dalla 1.15.10 (R18).
Perché creare un altro WAF?
NAXSI e mod_security sono probabilmente i moduli WAF gratuiti più popolari, con mod_security attivamente promosso da Nginx, anche se inizialmente utilizzato solo in Apache2. Entrambe le soluzioni sono gratuite, open source e hanno numerosi utenti in tutto il mondo. Per mod_security sono disponibili set di firme gratuiti e commerciali, a $500 all'anno, mentre per NAXSI è disponibile un set di firme 'out of the box' e si possono trovare set di regole aggiuntivi come doxsi.
Quest'anno abbiamo testato il funzionamento di NAXSI e Nemesida WAF Free. In breve, i risultati sono:
- NAXSI non esegue un doppio URL-decode nei cookie
- NAXSI richiede molto tempo per la configurazione: le impostazioni predefinite delle regole, per impostazione predefinita, bloccheranno la maggior parte delle richieste durante l'uso di un'applicazione web (autenticazione, modifica del profilo o del materiale, partecipazione a sondaggi, ecc.) e è necessario generare liste di eccezioni, il che incide negativamente sulla sicurezza. Nemesida WAF Free, con le impostazioni predefinite, non ha generato falsi positivi durante l'uso del sito.
- il numero di attacchi bypassati da NAXSI è notevolmente più alto, ecc.
Nonostante i difetti, NAXSI e mod_security hanno almeno due vantaggi: codice sorgente aperto e un gran numero di utenti. Sosteniamo l'idea della diffusione del codice sorgente, ma al momento non possiamo farlo a causa di potenziali problemi di 'pirateria' della versione commerciale, ma per compensare questo svantaggio, riveliamo completamente il contenuto del set di firme. Apprezziamo la privacy e vi invitiamo a verificarlo da soli tramite proxy-server.
Caratteristica di Nemesida WAF Free:
- un'ottima base di firme con un numero minimo di False Positive e False Negative.
- installazione e aggiornamento dal repository (è veloce e comodo);
- eventi semplici e comprensibili sugli incidenti, non una 'pasta', come in NAXSI;
- completamente gratuito, senza limiti sul traffico, virtual host, ecc.
In conclusione, fornirò alcune richieste per valutare il funzionamento del WAF (è consigliato utilizzarle in ciascuna delle zone: 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)#"]
')) 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()//
Se le richieste non vengono bloccate, probabilmente il WAF lascerà passare anche l'attacco reale. Prima di utilizzare gli esempi, assicurati che il WAF non blocchi le richieste legittime.
Fonte: habr.com
