Modulul Lua nginx Taobao a dezvoltat modulul terț nginx, care poate integra limbajul lua în configurația nginx, astfel încât utilizarea lua să îmbunătățească semnificativ capacitatea nginx. nginx este cunoscut pentru concurența sa ridicată, scrierile lua sunt ușoare, iar combinația celor două este perfectă.
Adresa GitHub: https://github.com/loveshell/ngx_lua_waf
###用途:
- Prevenirea atacurilor web precum injecția SQL, includerea locală, overflow parțial, testarea fuzzing-ului, xss, SSRF etc
- Prevenirea scurgerii de fișiere, cum ar fi SVN/backup
- Previne atacurile de la instrumente de testare a stresului precum ApacheBench
- Blochează instrumentele comune de hacking pentru scanare, scanere
- Blochează cererile neobișnuite de rețea
- Blochează permisiunea de execuție PHP a directorului de atașament de imagini
- Preveniți încărcarea webshell
Versiunea sistemului, comandă lsb_release -a
Versiunea LSB: :core-4.1-amd64:core-4.1-noarch ID distribuitor: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
Versiunea LuaJIT
LuaJIT-2.0.5 este cea mai recentă versiune stabilă
Versiunea nginx (nu va fi instalată, mai multe despre asta mai târziu)
Versiunea NGINX 1.4.4
Mai întâi, creează directorul de instalare /alidata/server/lj2 cu următoarea comandă:
Instalează mediul Lua
--Verifică dacă instalarea este reușită
--Creează linkuri soft
Ordinea originală:
Deoarece avem lua instalat sub /alidata/server/lj2, executăm următoarea comandă,Nu executați comanda de mai sus, executați următoarea comandă:
Dacă nu creați un link simbatic, poate apărea următoarea excepție: eroare la încărcarea bibliotecilor partajate: libluajit-5.1.so.2: nu se poate deschide fișierul obiect partajat: Nu există un astfel de fișier sau director
Descarcă ngx_devel_kit și dezipiu-l
Pagina principală a proiectului: https://github.com/simplresty/ngx_devel_kit
Descarcă-ngx_lua și dezip-o
Recompilează și instalează nginx
Fă backup mai întâi la fișierul ngxin anterior
Am instalat nginx înainte, executând comanda nginx -V astfel:
Versiunea nginx: nginx/1.4.4 Construit de GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) Suportul TLS SNI activat configurează argumentele: --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 Două cataloage de module
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Descarcă și execută în directorul nginx
--adaugă variabila de mediu pentru a-i spune lui nginx unde să găsească luajit
Dacă nu îl adaugi, nginx va raporta următoarea eroare la compilare:
./configure: eroare: ngx_http_lua_module necesită biblioteca Lua. Dacă se raportează o eroare, vă rugăm să executați cele două propoziții de mai sus!
compila
Eroare: #error este necesar cel puțin nginx 1.6.0, dar am găsit o versiune mai veche
Versiunea NGINX este prea mică, cerința minimă este 1.6.0, deci actualizează versiunea nginx,Când faci upgrade la versiunea nginx, poți instala modulul lua-nginx și modulul ngx_devel_kit în noua versiune, ceea ce nu va fi detaliat aici, doar rulează următoarea comandă cu noua versiune,
Descarcă-ngx_lua_waf și decomprimă-l
Modifică fișierul de configurare nginx pentru a schimba calea în funcție de situația reală
Adaugă-l în secțiunea http a nginx.conf
Odată adăugat,Am repornit nginx și am primit o eroare 500În cele din urmă, s-a constatat că motivul era că fișierul config.lua urma să fie modificat în două locuri:
RulePath și logdir pentru a le modifica în funcție de situația ta!
Testa
https://www.itsvse.com/forum.php?id=../etc/passwd
|