Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 17464|Răspunde: 2

[Web] ngx_lua_waf este un firewall pentru aplicații web bazat pe lua-nginx-module (openresty).

[Copiază linkul]
Postat pe 21.12.2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf este un firewall de aplicații web bazat pe ngx_lua, dezvoltat când m-am alăturat pentru prima dată Fun Travel.

Codul este simplu, iar intenția inițială a dezvoltării este să folosească simplitate, performanță ridicată și ușurință.

Acum este open source și respectă licența MIT. Conține regulile noastre de filtrare. Dacă ai sugestii sau vrei să faci fa, te rog să o îmbunătățești cu mine.

Utilizări:
            
      
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


Instalare recomandată:

Se recomandă utilizarea lujit2.1 pentru suport lua

ngx_lua dacă este versiunea 0.9.2 sau ulterioară, se recomandă schimbarea funcției normale de filtrare în ngx.re.find, iar eficiența potrivirii va fi mărită de aproximativ trei ori.


Instrucțiuni de utilizare:

Se presupune că calea de instalare nginx este: /usr/local/nginx/conf/

Descarcă ngx_lua_waf în directorul conf, decomprimă-l și numește-l waf

Adaugă-l în secțiunea http a nginx.conf

            

Configurează directorul de reguli WAF în config.lua (de obicei în directorul waf/conf/)

        RulePath = "/usr/local/nginx/conf/waf/wafconf/"

Dacă calea absolută se schimbă, trebuie modificată corespunzător

Apoi repornește nginx


Detalii despre profil:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --director de stocare a regulilor
        Jurnalul atacurilor = "Off"
        --Pentru a activa înregistrarea informațiilor de atac, trebuie să configurezi logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --director de stocare a logurilor, care trebuie creat chiar de utilizator și necesită permisiunea de scriere a utilizatorului nginx
        UrlDeny="on"
        --dacă să blocheze accesul la URL
        Redirect="on"
        --dacă să redirecționeze după interceptare
        CookieMatch = "pornit"
        --Dacă să blocheze atacurile cu cookie-uri
        postMatch = "on"
        --dacă să blocheze un atac post-atac
        whiteModule = "pornit"
        --dacă să activezi lista albă a URL-urilor
        black_fileExt={"php","jsp"}
        --Completează tipul sufixului fișierului care nu este permis să fie încărcat
        ipWhitelist={"127.0.0.1"}
        --lista albă IP, mai multe IP-uri sunt separate prin virgule
        ipBlocklist={"1.0.0.1"}
        --Lista neagră de IP, mai multe IP-uri sunt separate prin virgule
        CCDeny="on"
        --Dacă să se activeze interceptarea atacurilor CC (presupune creșterea segmentului HTTP al nginx.conf lua_shared_dict limita de 10m; )
        CCrate = "100/60"
        --Setează frecvența atacului CC în câteva secunde.
        --Implicit, aceeași adresă IP poate solicita aceeași adresă doar de 100 de ori pe minut
        html=[[Te rog, pleacă~~]]
        --Conținut de avertizare, personalizabil între paranteze
        Notă: Nu folosiți ghilimele duble pentru a fi sensibil la majuscule

        
Verifică dacă regulile sunt în vigoare

După implementare, poți încerca următoarea comandă:        
  
      

Notă: Implicit, mașina nu filtrează în lista albă și poți ajusta singur configurația config.lua


Randările sunt următoarele


Actualizări de reguli:

Având în vedere problema cache-ului regulatelor, regulile dinamice afectează performanța, așa că nu folosesc dicționare cu memorie partajată și redis pentru managementul dinamic.

Actualizările regulilor pot fi plasate pe alte servere, iar regulile pot fi actualizate descărcându-le regulat prin sarcina crontab, iar reîncărcarea nginx va intra în vigoare. Pentru a asigura performanța ridicată a NGX LUA WAF.

Înregistrează doar jurnalul de filtrare, nu activa filtrarea, doar adaugă un comentariu înainte de a verifica în cod, dacă trebuie să filtrezi, invers

Câteva observații:

        Regulile de filtrare pot fi ajustate în funcție de nevoile tale în wafconf, iar fiecare regulă trebuie să fie împachetată sau împărțită cu |
        
                Regulile args obțin parametrii la filtrare
                URL-urile sunt reguli care solicită doar URL-uri filtrate în GET               
                Postarea este o regulă de filtrare doar în cererile de postare               
                Lista albă este o listă albă, iar URL-urile din ea se potrivesc, astfel încât nu este filtrată               
                user-agent este o regulă de filtrare pentru user-agent
        

        Filtrarea Get și a postărilor sunt activate implicit, dacă trebuie să activezi filtrarea cookie-urilor, editează partea waf.lua cancel - comentează
        
        Formatul numelui fișierului de jurnal este următorul: Numele gazdei web _sec.log






Precedent:Powershell nu încarcă fișiere când scrie direct pentru că scriptul este interzis
Următor:cmd /c și cmd /k sunt explicate în detaliu
Postat pe 08.11.2017 15:23:22 |
Da, am învățat
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com