Nginx Lua modul A Taobao fejlesztett ki egy nginx harmadik féltől származó modult, amely képes beágyazni a lua nyelvet az nginx konfigurációba, így a lua használata jelentősen javítja az nginx képességét. A nginx magas egyidejű képességéről ismert, a lua szkriptek könnyűek, és a kettő kombinációja tökéletes.
GitHub cím: https://github.com/loveshell/ngx_lua_waf
###用途:
- Megakadályozzuk a webes támadásokat, mint az SQL beinjekció, helyi befogadás, részleges túlcsordulás, fuzzing tesztelés, xss, SSRF stb
- A fájlszivárgás, például az SVN/biztonsági mentés megelőzése
- Megelőzés a stressztesztelő eszközök, például az ApacheBench támadásai
- Blokkold a gyakori szkennelő hackelési eszközöket, szkennereket
- Szokatlan hálózati kérések blokkolása
- Blokkolja a képcsatolmány könyvtár PHP végrehajtási engedélyét
- Webshell feltöltések megakadályozása
Rendszer verzió, parancs lsb_release -a
LSB verzió: :core-4.1-amd64:core-4.1-noarch Forgalmazó azonosító: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
LuaJIT verzió
A LuaJIT-2.0.5 a legújabb stabil verzió
nginx verzió (nem lesz telepítve, erről később többet leszek)
nginx 1.4.4 verzió
Először hozza létre az /alidata/server/lj2 telepítési könyvtárat a következő parancskal:
Telepítsd a Lua környezetet
--Ellenőrizd, sikeres-e a telepítés
--Hozzon létre lágy linkeket
Eredeti sorrend:
Mivel a lua telepítve van a /alidata/server/lj2 alatt, hajtsuk végre a következő parancsot,Ne hajtsd végre a fenti parancsot, csak a következő parancsot hajtsd végre:
Ha nem hozol létre szimlinket, a következő kivétel jelentkezhet: hiba megosztott könyvtárak betöltésekor: libluajit-5.1.so.2: nem lehet megosztott objektumfájlt nyitni: Nincs ilyen fájl vagy könyvtár
Töltsd le ngx_devel_kit és nyisd ki
A projekt honlapja: https://github.com/simplresty/ngx_devel_kit
Töltsd le ngx_lua és nyisd ki
Újrafordítás és telepítés nginx
Előbb biztonsági mentés az előző ngxin fájlról
Már telepítettem nginx-et korábban, a nginx -V parancsot a következőképpen hajtottam végre:
nginx verzió: nginx/1.4.4 Építette a gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) TLS SNI támogatás engedélyezve Argumentek konfigurálása: --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 Két modulkatalógus
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Töltsd le és hajtsd végre a nginx könyvtárban
--Add be a környezeti változót, hogy megmondja, hol találjuk meg a Luajitot
Ha nem adjátok hozzá, a nginx a következő hibát jelenti fordításkor:
./configure: error: ngx_http_lua_module Lua könyvtárat igényel. Ha hiba jelenthető, kérjük, hajtsd végre a fenti két mondatot!
összeállít
Hiba: #error legalább nginx 1.6.0 szükséges, de találtam egy régebbi verziót
Az nginx verzió túl alacsony, a minimum követelmény 1.6.0, szóval frissítsd a nginx verziót,Az nginx verzió frissítésekor valójában telepítheted a lua-nginx-modult és ngx_devel_kit modult az új verzióba, amit itt nem részletezünk, csak futtasd le a következő parancsot az új verzióval,
Töltsd le ngx_lua_waf és nyisd ki
Módosítsd az nginx konfigurációs fájlt, hogy az útvonalat a tényleges helyzet szerint változtasd
Add hozzá a nginx.conf http szekciójához
Miután hozzáadták,Újraindítottam a nginx-et, és 500 hibát kaptamVégül kiderült, hogy az ok az config.lua fájl két helyen módosítható:
RulePath és logdir segítségével módosíthatod a saját helyzetedhez!
Teszt
https://www.itsvse.com/forum.php?id=../etc/passwd
|