nginx lua-module Taobao ontwikkelde nginx derdepartijmodule, waarmee de Lua-taal in nginx-configuratie kan worden ingebed, zodat het gebruik van lua de mogelijkheden van nginx aanzienlijk verbetert. nginx staat bekend om zijn hoge gelijktijdigheid, lua-scripts zijn licht en de combinatie van beide is perfect.
GitHub-adres: https://github.com/loveshell/ngx_lua_waf
###用途:
- Voorkom webaanvallen zoals SQL-injectie, lokale inclusie, gedeeltelijke overflow, fuzzing-testen, xss, SSRF, enzovoort
- Voorkom het lekken van bestanden zoals SVN/back-up
- Voorkom aanvallen door stresstesttools zoals ApacheBench
- Blokkeer veelgebruikte scan-hacktools, scanners
- Blokkeer ongebruikelijke netwerkverzoeken
- Blokkeer de PHP-uitvoeringstoestemming van de image attachment-map
- Voorkom webshell-uploads
Systeemversie, commando lsb_release -a
LSB-versie: :core-4.1-amd64:core-4.1-noarch Distributeur-ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
LuaJIT-versie
LuaJIT-2.0.5 is de nieuwste stabiele versie
nginx-versie (zal niet installeren, daarover later meer)
nginx 1.4.4 versie
Maak eerst de installatiemap /alidata/server/lj2 aan met het volgende commando:
Installeer de Lua-omgeving
--Controleer of de installatie geslaagd is
--Maak zachte links
Oorspronkelijke volgorde:
Aangezien we lua hebben geïnstalleerd onder /alidata/server/lj2, voer je het volgende commando uit,Voer het bovenstaande commando niet uit, voer het volgende commando uit:
Als je geen symlink maakt, kan de volgende uitzondering optreden: fout tijdens het laden van gedeelde bibliotheken: libluajit-5.1.so.2: kan gedeeld objectbestand niet openen: Geen dergelijk bestand of map
Download ngx_devel_kit en pak het uit
Projecthomepage: https://github.com/simplresty/ngx_devel_kit
Download ngx_lua en pak het uit
Hercompileren en installeren nginx
Maak eerst een back-up van het vorige ngxin-bestand
Ik heb nginx eerder geïnstalleerd en het commando nginx -V als volgt uitgevoerd:
nginx-versie: nginx/1.4.4 gebouwd door GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) TLS SNI-ondersteuning ingeschakeld Configureer argumenten: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Module Twee modulecatalogi
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Download en voer uit in de nginx-directory
--voeg omgevingsvariabele toe om nginx te vertellen waar Luajit te vinden is
Als je het niet toevoegt, zal nginx de volgende foutmelding geven bij het compileren van de fout:
./configure: error: ngx_http_lua_module vereist de Lua-bibliotheek. Als er een fout wordt gemeld, voer dan de bovenstaande twee zinnen uit!
compileren
Fout: #error is ten minste nginx 1.6.0 vereist, maar ik heb een oudere versie gevonden
De nginx-versie is te laag, de minimale eis is 1.6.0, dus upgrade de nginx-versie,Bij het upgraden van de nginx-versie kun je de lua-nginx-module en ngx_devel_kit module installeren in de nieuwe versie, wat hier niet wordt toegelicht, voer gewoon het volgende commando uit met de nieuwe versie,
Download ngx_lua_waf en pak het uit
Pas het nginx-configuratiebestand aan om het pad aan te passen aan de werkelijke situatie
Voeg het toe in de http-sectie van nginx.conf
Na toevoeging,Ik heb nginx opnieuw opgestart en kreeg een foutmelding van 500Uiteindelijk bleek dat de reden was dat het config.lua-bestand op twee plaatsen aangepast moest worden:
RulePath en logdir om aan te passen aan je eigen situatie!
Test
https://www.itsvse.com/forum.php?id=../etc/passwd
|