Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 17464|Odpoveď: 2

[Web] ngx_lua_waf je firewall webových aplikácií založený na lua-nginx-module (openresty).

[Kopírovať odkaz]
Zverejnené 21. 12. 2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf je firewall webových aplikácií založený na ngx_lua, ktorý som vyvinul, keď som sa prvýkrát pridal k Fun Travel.

Kód je jednoduchý a pôvodným zámerom vývoja je použiť jednoduchosť, vysoký výkon a ľahkosť.

Teraz je open source a spĺňa požiadavky licencie MIT. Obsahuje naše pravidlá filtrovania. Ak máte nejaké návrhy alebo chcete urobiť FA, pokojne to so mnou vylepšite.

Využitie:
            
      
Predchádzajte webovým útokom, ako sú SQL injection, lokálne začlenenie, čiastočné pretečenie, fuzzing testovanie, xss, SSRF a podobne
        Zabrániť úniku súborov, ako je SVN/záloha
        Prevencia útokov pomocou nástrojov na záťažové testovanie ako ApacheBench
        Blokujte bežné hackerské nástroje a skenery
        Blokujte nezvyčajné sieťové požiadavky
        Zablokujte PHP povolenie na vykonávanie adresára príloh obrázkov
        Zabránenie nahrávaniu webshellu


Odporúčaná inštalácia:

Odporúča sa používať lujit2.1 na podporu Lua

ngx_lua ak ide o verziu 0.9.2 alebo novšiu, odporúča sa zmeniť bežnú filter funkciu na ngx.re.find, čím sa efektivita párovania zvýši približne trikrát.


Návod na použitie:

Predpokladá sa, že inštalačná cesta nginx je: /usr/local/nginx/conf/

Stiahnite si ngx_lua_waf do adresára conf, rozbalte ho a pomenujte ho waf

Pridajte ho do http sekcie nginx.conf

            

Nakonfigurujte adresár pravidiel WAF v config.lua (zvyčajne v adresári waf/conf/)

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

Ak sa absolútna cesta zmení, je potrebné ju podľa toho upraviť

Potom reštartuj nginx


Detaily profilu:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --adresár ukladania pravidiel
        Attacklog = "vypnuté"
        --Na povolenie zaznamenávania informácií o útoku je potrebné nakonfigurovať logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --log storage adresár, ktorý musí vytvoriť sám používateľ a vyžaduje zápisové povolenie používateľa nginx
        UrlDeny="zapnuté"
        --či zablokovať prístup k URL
        Presmerovanie="zapnuté"
        --či presmerovať po zachytení
        CookieMatch = "zapnuté"
        --Či blokovať útoky sušienok
        postMatch = "zapnuté"
        --či zablokovať útok po útoku
        whiteModule = "zapnuté"
        --či zapnúť whitelisting URL
        black_fileExt={"php","jsp"}
        --Vyplniť typ prípony súboru, ktorý nie je povolený nahrať
        ipWhitelist={"127.0.0.1"}
        --IP whitelist, viaceré IP adresy sú oddelené čiarkami
        ipBlocklist={"1.0.0.1"}
        --IP blacklist, viaceré IP adresy sú oddelené čiarkami
        CCDeny="zapnuté"
        --Či povoliť zachytenie cc útokov (vyžaduje zvýšenie HTTP segmentu nginx.conf lua_shared_dict limit 10m; )
        CCrate = "100/60"
        --Nastavte frekvenciu útokov CC za sekundy.
        --Štandardne môže tá istá IP adresa žiadať tú istú adresu len 100-krát za minútu
        html=[[Prosím, odíď~~]]
        --Varovný obsah, prispôsobiteľný v zátvorkách
        Poznámka: Nepoužívajte dvojité úvodzovky, aby ste boli citlivé na veľkosť písmen

        
Skontrolujte, či platia pravidlá

Po nasadení môžete skúsiť nasledujúci príkaz:        
  
      

Poznámka: V predvolenom nastavení zariadenie nefiltruje v bielom zozname a konfiguráciu config.lua si môžete upraviť sami


Zobrazenia sú nasledovné


Aktualizácie pravidiel:

Vzhľadom na problém cachovania bežných hráčov dynamické pravidlá ovplyvňujú výkon, takže nepoužívam napríklad zdieľané pamäťové slovníky a redis na dynamickú správu.

Aktualizácie pravidiel je možné umiestniť na iné servery a pravidlá sa dajú pravidelne sťahovať cez úlohu crontab, pričom nginx reload sa aktivuje. Aby sme zabezpečili vysoký výkon NGX LUA WAF.

Zaznamenávajte len záznam filtrov, nezapínajte filtrovanie, len pridajte -- komentár pred kontrolou v kóde, ak potrebujete filtrovať, naopak

Niekoľko poznámok:

        Pravidlá filtrovania môžete upraviť podľa vašich potrieb pod wafconf a každé pravidlo musí byť zabalené alebo rozdelené pomocou |
        
                Pravidlá args získajú parameter to filter
                URL sú pravidlá, ktoré požadujú iba URL filtrované v GET               
                Príspevok je filtračné pravidlo iba pri požiadavkách na príspevok               
                Whitelist je whitelist a URL v ňom sa zhodujú, takže nie je filtrovaný               
                user-agent je filtračné pravidlo pre user-agent
        

        Filtrovanie Get a príspevok sú predvolene zapnuté, ak potrebujete zapnúť filtrovanie cookies, upravte časť waf.lua cancel - komentár
        
        Formát názvu log súboru je nasledovný: Web Host Name _sec.log






Predchádzajúci:PowerShell nedokáže načítať súbory pri priamom skriptovaní, pretože skript je zakázaný
Budúci:Cmd /c a cmd /k sú podrobne vysvetlené
Zverejnené 8. 11. 2017 15:23:22 |
Áno, naučil som sa
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com