nginx lua modulis Taobao izstrādāja nginx trešās puses moduli, kas var iegult lua valodu nginx konfigurācijā, lai lua izmantošana ievērojami uzlabotu nginx spējas. nginx ir pazīstams ar augstu vienlaicīgumu, lua skripti ir viegli, un abu kombinācija ir ideāla.
GitHub adrese: https://github.com/loveshell/ngx_lua_waf
###用途:
- Novērst tīmekļa uzbrukumus, piemēram, SQL injekciju, lokālo iekļaušanu, daļēju pārpildi, izplūdes testēšanu, xss, SSRF utt
- Novērst failu noplūdi, piemēram, SVN/dublējumu
- Novēršiet uzbrukumus no stresa testēšanas rīkiem, piemēram, ApacheBench
- Bloķēt izplatītākos skenēšanas hakeru rīkus, skenerus
- Neparastu tīkla pieprasījumu bloķēšana
- Bloķējiet attēla pielikumu direktorijas PHP izpildes atļauju
- Tīmekļa čaulas augšupielādes novēršana
Sistēmas versija, komandas lsb_release -a
LSB versija: :core-4.1-amd64:core-4.1-noarch Izplatītāja ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
LuaJIT versija
LuaJIT-2.0.5 ir jaunākā stabilā versija
nginx versija (neizdosies instalēt, vairāk par to vēlāk)
NGINX 1.4.4 versija
Vispirms izveidojiet instalācijas direktoriju /alidata/server/lj2 ar šādu komandu:
Lua vides instalēšana
--Pārbaudiet, vai instalēšana ir veiksmīga
--Izveidojiet mīkstās saites
Oriģinālais pasūtījums:
Tā kā mums ir instalēts lua zem /alidata/server/lj2, izpildiet šādu komandu:Neizpildiet iepriekš minēto komandu, izpildiet šādu komandu:
Ja neizveidojat simbolisku saiti, var rasties šāds izņēmums: kļūda, ielādējot koplietojamās bibliotēkas: libluajit-5.1.so.2: nevar atvērt koplietojamo objektu failu: nav šāda faila vai direktorija
Lejupielādējiet ngx_devel_kit un izsaiņojiet to
Projekta mājaslapa: https://github.com/simplresty/ngx_devel_kit
Lejupielādējiet ngx_lua un izsaiņojiet to
Pārkompilējiet un instalējiet nginx
Vispirms dublējiet iepriekšējo ngxin failu
Es iepriekš esmu instalējis nginx, izpildot komandu nginx -V šādi:
NGINX versija: NGINX / 1.4.4 uzbūvēja GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) Iespējots TLS SNI atbalsts Konfigurējiet argumentus: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --with-http-cache --with-http_ssl_module --with-http_gzip_static_ modulis Divi moduļu katalogi
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Lejupielādējiet un izpildiet nginx direktorijā
- pievienojiet vides mainīgo, lai pateiktu nginx, kur atrast luajit
Ja to nepievienojat, nginx kompilēšanas laikā ziņos par šādu kļūdu:
./configure: kļūda: ngx_http_lua_module nepieciešama Lua bibliotēka. Ja tiek ziņots par kļūdu, lūdzu, izpildiet iepriekš minētos divus teikumus!
Apkopot
Kļūda: #error ir nepieciešama vismaz nginx 1.6.0, bet atrasta vecāka versija
nginx versija ir pārāk zema, minimālā prasība ir 1.6.0, tāpēc jauniniet nginx versiju,Jauninot nginx versiju, jūs faktiski varat instalēt lua-nginx moduli un ngx_devel_kit moduli jaunajā versijā, kas šeit netiks detalizēti aprakstīta, vienkārši palaidiet šādu komandu ar jauno versiju,
Lejupielādējiet ngx_lua_waf un izsaiņojiet to
Modificējiet nginx konfigurācijas failu, lai mainītu ceļu atbilstoši faktiskajai situācijai
Pievienojiet to nginx.conf http sadaļā
Pēc pievienošanas,Es restartēju nginx un saņēmu 500 kļūduVisbeidzot, tika konstatēts, ka iemesls bija tāds, ka fails config.lua bija jāmaina divās vietās:
RulePath un logdir, lai modificētu atbilstoši jūsu situācijai!
Tests
https://www.itsvse.com/forum.php?id=../etc/passwd
|