nginx lua-modulet Taobao udviklede nginx tredjepartsmodul, som kan indlejre lua-sproget i nginx-konfigurationen, så brugen af lua i høj grad forbedrer nginx' muligheder. nginx er kendt for sin høje samtidighed, lua-scripts er lette, og kombinationen af de to er perfekt.
GitHub-adresse: https://github.com/loveshell/ngx_lua_waf
###用途:
- Forebyg webangreb såsom SQL-injektion, lokal inklusion, delvis overflow, fuzzing-test, xss, SSRF osv
- Forhindre fillækager som SVN/backup
- Forebyg angreb fra stresstest-værktøjer som ApacheBench
- Bloker almindelige scanningsværktøjer, scannere
- Blokér usædvanlige netværksforespørgsler
- Blokér PHP-eksekveringstilladelsen for billedvedhæftningsmappen
- Forebyg webshell-uploads
Systemversion, kommando lsb_release -a
LSB-version: :core-4.1-amd64:core-4.1-noarch Distributør-ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
LuaJIT-versionen
LuaJIT-2.0.5 er den nyeste stabile version
nginx-version (vil fejle i installationen, mere om det senere)
nginx 1.4.4-version
Først opretter du installationsmappen /alidata/server/lj2 med følgende kommando:
Installer Lua-miljøet
--Tjek om installationen er vellykket
--Opret bløde links
Oprindelig rækkefølge:
Da vi har lua installeret under /alidata/server/lj2, udfør følgende kommando,Udfør ikke ovenstående kommando, udfør følgende kommando:
Hvis du ikke opretter et symlink, kan følgende undtagelse opstå: fejl under indlæsning af delte biblioteker: libluajit-5.1.so.2: kan ikke åbne delt objektfil: Ingen sådan fil eller mappe
Download ngx_devel_kit og pak den ud
Projekthjemmeside: https://github.com/simplresty/ngx_devel_kit
Download ngx_lua og udpak den
Genkompiler og installer nginx
Tag backup af den tidligere ngxin-fil først
Jeg har installeret nginx før, hvor jeg udfører kommandoen nginx -V som følger:
nginx-version: nginx/1.4.4 bygget af GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) TLS SNI-understøttelse aktiveret Konfigurér argumenter: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Modul To modulkataloger
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Download og udfør i nginx-mappen
--tilføj miljøvariabel for at fortælle nginx, hvor den kan finde luajit
Hvis du ikke tilføjer den, vil nginx rapportere følgende fejl ved kompilering:
./konfigurér: fejl: ngx_http_lua_module kræver Lua-biblioteket. Hvis der rapporteres en fejl, bedes du udføre ovenstående to sætninger!
kompilere
Fejl: #error mindst nginx 1.6.0 er påkrævet, men jeg fandt en ældre version
NGINX-versionen er for lav, minimumskravet er 1.6.0, så opgrader nginx-versionen,Når du opgraderer nginx-versionen, kan du faktisk installere lua-nginx-modulet og ngx_devel_kit modulet i den nye version, hvilket ikke vil blive uddybet her, kør bare følgende kommando med den nye version,
Download ngx_lua_waf og pak den ud
Ændr nginx-konfigurationsfilen for at ændre stien efter den faktiske situation
Tilføj det i http-sektionen på nginx.conf
Når det er tilføjet,Jeg genstartede nginx og fik en fejl på 500Endelig blev det konstateret, at årsagen var, at config.lua-filen skulle ændres to steder:
RulePath og logdir til at tilpasse efter din egen situation!
Test
https://www.itsvse.com/forum.php?id=../etc/passwd
|