Modulo Lua nginx Taobao ha sviluppato il modulo di terze parti nginx, che può incorporare il linguaggio lua nella configurazione nginx, così che l'uso di lua migliora notevolmente le capacità di nginx. nginx è noto per la sua alta concorrenza, gli script lua sono leggeri e la combinazione dei due è perfetta.
Indirizzo GitHub: https://github.com/loveshell/ngx_lua_waf
###用途:
- 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
Versione del sistema, comando lsb_release -a
Versione LSB: :core-4.1-amd64:core-4.1-noarch ID distributore: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
Versione LuaJIT
LuaJIT-2.0.5 è l'ultima versione stabile
Versione nginx (non verrà installata, ne parlerò più avanti)
Versione NGINX 1.4.4
Per prima cosa, crea la directory di installazione /alidata/server/lj2 con il seguente comando:
Installa l'ambiente Lua
--Controlla se l'installazione è stata un successo
--Creare collegamenti software
Ordine originale:
Dato che abbiamo lua installato sotto /alidata/server/lj2, esegui il seguente comando,Non eseguire il comando sopra, esegui il seguente comando:
Se non crei un collegamento simmico, può verificarsi la seguente eccezione: errore durante il caricamento delle librerie condivise: libluajit-5.1.so.2: non si può aprire file oggetto condiviso: Nessun file o directory
Scarica ngx_devel_kit e sblocca la compressa
Homepage del progetto: https://github.com/simplresty/ngx_devel_kit
Scarica ngx_lua e sblocca la compressa
Ricompila e installa nginx
Fai prima il backup del file ngxin precedente
Ho installato nginx in passato, eseguendo il comando nginx -V come segue:
Versione NGINX: nginx/1.4.4 Costruita da GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) Supporto TLS SNI abilitato Configura argomenti: --user=www --group=www --prefisso=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Modulo Due cataloghi moduli
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Scarica ed esegui nella directory nginx
--aggiungi la variabile di ambiente per indicare a nginx dove trovare luajit
Se non lo aggiungi, nginx riporterà il seguente errore durante la compilazione:
./configure: errore: ngx_http_lua_module richiede la libreria Lua. Se viene segnalato un errore, esegui le due frasi sopra!
compilare
Errore: #error almeno è richiesta nginx 1.6.0 ma ho trovato una versione più vecchia
La versione di nginx è troppo bassa, il requisito minimo è la 1.6.0, quindi aggiorna la versione di nginx,Quando aggiorni la versione nginx, puoi effettivamente installare il modulo lua-nginx e ngx_devel_kit modulo nella nuova versione, cosa che non sarà dettagliata qui, esegui semplicemente il seguente comando con la nuova versione,
Scarica ngx_lua_waf e scomprimi
Modifica il file di configurazione nginx per modificare il percorso in base alla situazione reale
Aggiungilo nella sezione http di nginx.conf
Una volta aggiunto,Ho riavviato nginx e ho avuto un errore 500Infine, si scoprì che la ragione era che il file config.lua doveva essere modificato in due punti:
RulePath e logdir possono modificarlo in base alla tua situazione!
Test
https://www.itsvse.com/forum.php?id=../etc/passwd
|