nginx lua-modulen Taobao utvecklade nginx tredjepartsmodul som kan bädda in lua-språket i nginx-konfigurationen, så att användningen av lua avsevärt förbättrar nginx:s förmåga. nginx är känt för sin höga samtidighet, lua-skripten är lätta och kombinationen av de två är perfekt.
GitHub-adress: https://github.com/loveshell/ngx_lua_waf
###用途:
- Förhindra webbattacker som SQL-injektion, lokal inkludering, partiell överbelastning, fuzzing-testning, xss, SSRF, etc
- Förhindra filläckage som SVN/backup
- Förhindra attacker från stresstestningsverktyg som ApacheBench
- Blockera vanliga skanningshackningsverktyg och skannrar
- Blockera ovanliga nätverksförfrågningar
- Blockera PHP-exekveringsbehörigheten för bildbilagan
- Förhindra webshell-uppladdningar
Systemversion, kommando lsb_release -a
LSB-version: :core-4.1-amd64:core-4.1-noarch Distributörs-ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
LuaJIT-versionen
LuaJIT-2.0.5 är den senaste stabila versionen
nginx-versionen (kommer att misslyckas med installation, mer om det senare)
nginx 1.4.4-version
Skapa först installationskatalogen /alidata/server/lj2 med följande kommando:
Installera Lua-miljön
--Kontrollera om installationen lyckas
--Skapa mjuka länkar
Ursprunglig beställning:
Eftersom vi har lua installerat under /alidata/server/lj2, kör följande kommando,Utför inte ovanstående kommando, utför följande kommando:
Om du inte skapar en symlänk kan följande undantag uppstå: fel vid laddning av delade bibliotek: libluajit-5.1.so.2: kan inte öppna filen för delat objekt: Ingen sådan fil eller katalog
Ladda ner ngx_devel_kit och packa upp den
Projektets hemsida: https://github.com/simplresty/ngx_devel_kit
Ladda ner ngx_lua och packa upp den
Kompylera om och installera nginx
Säkerhetskopiera den tidigare ngxin-filen först
Jag har installerat nginx tidigare och utfört kommandot nginx -V enligt följande:
nginx-version: nginx/1.4.4 byggd av GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) TLS SNI-stöd aktiverat Konfigurera argument: --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 Två modulkataloger
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Ladda ner och kör i nginx-katalogen
--lägg till miljövariabel för att tala om för nginx var de ska hitta Luajit
Om du inte lägger till det kommer nginx att rapportera följande fel vid kompilering:
./konfigurera: fel: ngx_http_lua_module kräver Lua-biblioteket. Om ett fel rapporteras, vänligen utför de två meningarna ovan!
kompilera
Fel: #error krävs åtminstone nginx 1.6.0 men hittade en äldre version
nginx-versionen är för låg, minimikravet är 1.6.0, så uppgradera nginx-versionen,När du uppgraderar nginx-versionen kan du faktiskt installera lua-nginx-modulen och ngx_devel_kit-modulen i den nya versionen, vilket inte kommer att beskrivas här, kör bara följande kommando med den nya versionen,
Ladda ner ngx_lua_waf och packa upp den
Ändra nginx-konfigurationsfilen för att ändra sökvägen enligt den faktiska situationen
Lägg till det i http-sektionen på nginx.conf
När den har lagts tillJag startade om nginx och fick ett felmeddelande på 500Slutligen visade det sig att anledningen var att config.lua-filen skulle ändras på två ställen:
RulePath och logdir för att anpassa efter din egen situation!
Test
https://www.itsvse.com/forum.php?id=../etc/passwd
|