nginx lua -moduuli Taobao kehitti nginx-kolmannen osapuolen moduulin, joka voi upottaa lua-kielen nginx-konfiguraatioon, jolloin lua:n käyttö parantaa NGINX:n kykyä huomattavasti. NGINX tunnetaan korkeasta samanaikaisuudestaan, lua-skriptit ovat kevyitä ja näiden yhdistelmä on täydellinen.
GitHub-osoite: https://github.com/loveshell/ngx_lua_waf
###用途:
- Estää verkkohyökkäykset kuten SQL-injektio, paikallinen sisällyttäminen, osittainen ylivuoto, fuzzing-testaus, xss, SSRF jne
- Estä tiedostovuoto, kuten SVN/varmuuskopiointi
- Estä hyökkäykset stressitestaustyökaluilta, kuten ApacheBenchiltä,
- Estä yleisiä skannaushakkerointityökaluja, skannereita
- Estä epätavalliset verkkopyynnöt
- Estä kuvaliitehakemiston PHP-suoritusoikeus
- Estä webshell-lataukset
Järjestelmäversio, komento lsb_release -a
LSB-versio: :core-4.1-amd64:core-4.1-noarch Jakelijan tunnus: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
LuaJIT-versio
LuaJIT-2.0.5 on uusin vakaa versio
nginx-versio (asennus epäonnistuu, siitä lisää myöhemmin)
nginx 1.4.4 -versio
Luo ensin asennuskansio /alidata/server/lj2 seuraavalla komennolla:
Asenna Lua-ympäristö
--Tarkista, onnistuuko asennus
--Luo pehmeitä linkkejä
Alkuperäinen järjestys:
Koska lua on asennettu /alidata/server/lj2:n alle, suorita seuraava komento,Älä suorita yllä mainittua komentoa, suorita seuraava käsky:
Jos et luo symlinkkiä, seuraava poikkeus voi ilmetä: virhe jaettujen kirjastojen latauksessa: libluajit-5.1.so.2: jaettua objektitiedostoa ei voi avata: Ei tällaista tiedostoa tai hakemistoa
Lataa ngx_devel_kit ja avaa se
Projektin kotisivu: https://github.com/simplresty/ngx_devel_kit
Lataa ngx_lua ja avaa vetoketju
Käännä uudelleen ja asenna nginx
Varmuuskopioi ensin edellinen ngxin-tiedosto
Olen asentanut nginxin aiemmin, suorittaen komennon nginx -V seuraavasti:
nginx-versio: nginx/1.4.4 rakennettu gcc:n toimesta 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) TLS SNI -tuki päällä Määritä argumentit: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Moduuli Kaksi moduuliluetteloa
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Lataa ja suorita nginx-hakemistossa
--lisää ympäristömuuttuja kertoaksesi nginxille, mistä löytää Luajit
Jos et lisää sitä, nginx raportoi seuraavan virheen kääntäessä:
./configure: error: ngx_http_lua_module vaatii Lua-kirjaston. Jos virhe raportoidaan, suorita yllä olevat kaksi lausetta!
kääntää
Virhe: #error vähintään nginx 1.6.0 vaaditaan, mutta löysin vanhemman version
nginx-versio on liian matala, vähimmäisvaatimus on 1.6.0, joten päivitä nginx-versio,Kun päivität nginx-versiota, voit itse asiassa asentaa lua-nginx-moduulin ja ngx_devel_kit-moduulin uuteen versioon, mitä ei tässä tarkemmin kerrota, suorita vain seuraava komento uudella versiolla,
Lataa ngx_lua_waf ja avaa vetoketju
Muokkaa nginx-konfiguraatiotiedostoa niin, että polku muuttuu todellisen tilanteen mukaan
Lisää se nginx.conf:n http-osioon
Kun lisätään,Käynnistin nginxin uudelleen ja sain 500-virheenLopuksi todettiin, että syynä oli config.lua-tiedoston muokattavuus kahdessa kohdassa:
RulePath ja logdir voit muokata oman tilanteesi mukaan!
Testi
https://www.itsvse.com/forum.php?id=../etc/passwd
|