Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 17464|Risposta: 2

[Web] ngx_lua_waf è un firewall per applicazioni web basato su lua-nginx-module (openresty).

[Copiato link]
Pubblicato su 21/12/2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf è un firewall per applicazioni web basato su ngx_lua sviluppato quando sono entrato in Fun Travel.

Il codice è semplice e l'intenzione originale dello sviluppo è quella di utilizzare semplicità, alte prestazioni e leggerezza.

Ora è open source e rispetta la licenza MIT. Contiene le nostre regole di filtraggio. Se avete suggerimenti o volete fare fa, sentitevi liberi di migliorarli con me.

Utilizzi:
            
      
Prevenire attacchi web come iniezione SQL, inclusione locale, overflow parziale, fuzzing testing, xss, SSRF, ecc
        Prevenire la fuga di file come SVN/backup
        Prevenire attacchi da strumenti di stress test come ApacheBench
        Blocca strumenti comuni di scansione hacking, scanner
        Blocca richieste di rete insolite
        Blocca il permesso di esecuzione PHP della cartella allegata immagini
        Impedire il caricamento di webshell


Installazione consigliata:

Si consiglia di usare lujit2.1 per il supporto a Lua

ngx_lua se è una versione 0.9.2 o successiva, si consiglia di cambiare la funzione di filtro normale in ngx.re.find, e l'efficienza di matching sarà aumentata di circa tre volte.


Istruzioni per l'uso:

Il percorso di installazione nginx è assunto: /usr/local/nginx/conf/

Scarica il ngx_lua_waf nella directory conf, scomprimilo e chiamalo waf

Aggiungilo nella sezione http di nginx.conf

            

Configura la directory delle regole WAF in config.lua (di solito nella directory waf/conf/)

        RulePath = "/usr/local/nginx/conf/waf/wafconf/"

Se il percorso assoluto cambia, deve essere modificato di conseguenza

Poi riavvia nginx


Dettagli del profilo:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --directory di archiviazione delle regole
        Attacklog = "off"
        --Per abilitare la registrazione delle informazioni sugli attacchi, devi configurare logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --directory di archiviazione log, che deve essere creata dallo stesso utente e richiede il permesso di scrittura dell'utente nginx
        UrlDeny="on"
        --se bloccare l'accesso agli URL
        Redirect="on"
        --se reindirizzare dopo l'intercettazione
        CookieMatch = "on"
        --Se bloccare gli attacchi ai biscoli
        postMatch = "on"
        --se bloccare un attacco post-attacco
        whiteModule = "on"
        --se attivare la whitelist degli URL
        black_fileExt={"php","jsp"}
        --Compila il tipo di suffisso file che non è consentito caricare
        ipWhitelist={"127.0.0.1"}
        --whitelist IP, più IP sono separati da virgole
        ipBlocklist={"1.0.0.1"}
        --Lista nera degli IP, più IP sono separati da virgole
        CCDeny="on"
        --Se abilitare l'intercettazione degli attacchi cc (richiede che il segmento HTTP di nginx.conf venga aumentato lua_shared_dict limite di 10m; )
        CCrate = "100/60"
        --Imposta la frequenza di attacco CC in pochi secondi.
        --Per impostazione predefinita, lo stesso indirizzo IP può richiedere lo stesso indirizzo solo 100 volte al minuto
        html=[[Per favore, vattene~~]]
        --Contenuti di avviso, personalizzabili tra parentesi
        Nota: Non usare virgolette doppie per sensibilità alla maiuscola e alla fine

        
Controlla se le regole sono in vigore

Dopo il dispiegamento, puoi provare il seguente comando:        
  
      

Nota: di default, la macchina non filtra nella whitelist, e puoi regolare la configurazione di config.lua da solo


Le rappresentazioni sono le seguenti


Aggiornamenti delle regole:

Considerando il problema della cache dei regular, le regole dinamiche influenzano le prestazioni, quindi non uso dizionari a memoria condivisa e redis per la gestione dinamica.

Gli aggiornamenti delle regole possono essere applicati su altri server, e le regole possono essere aggiornate scaricandole regolarmente tramite il task crontab, e il ricaricamento nginx avrà effetto. Per garantire le alte prestazioni del NGX LUA WAF.

Registra solo il registro del filtro, non attivare il filtraggio, aggiungi solo un commento davanti a check nel codice, se devi filtrare, viceversa

Alcune note:

        Le regole di filtraggio possono essere regolate in base alle tue esigenze sotto wafconf, e ogni regola deve essere avvolta o divisa con |
        
                Le regole ARG ottengono il parametro al filtro
                Gli URL sono regole che richiedono solo URL filtrati in GET               
                Post è una regola di filtraggio solo nelle richieste di post               
                La whitelist è una whitelist, e gli URL in essa corrispondono in modo che non venga filtrata               
                user-agent è una regola di filtraggio per user-agent
        

        Il filtro get e post è abilitato di default, se devi abilitare il cookie filter, modifica la parte waf.lua cancella - commento
        
        Il formato del nome del file di log è il seguente: Nome dell'host web _sec.log






Precedente:Powershell non carica i file quando si scrive direttamente perché lo script è vietato
Prossimo:CMD /C e CMD /k sono spiegati in dettaglio
Pubblicato su 08/11/2017 15:23:22 |
Sì, ho imparato
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com