Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 17464|Antwoord: 2

[Web] ngx_lua_waf is een webapplicatie-firewall gebaseerd op de lua-nginx-module (openresty).

[Link kopiëren]
Geplaatst op 21-12-2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf is een webapplicatie-firewall op basis van ngx_lua, ontwikkeld toen ik voor het eerst bij Fun Travel begon.

De code is eenvoudig, en het oorspronkelijke doel van de ontwikkeling is om eenvoud, hoge prestaties en lichtgewicht te gebruiken.

Het is nu open source en voldoet aan de MIT-licentie. Het bevat onze filterregels. Als je suggesties hebt of wilt fa'en, voel je vrij om het met mij te verbeteren.

Toepassingen:
            
      
Voorkom webaanvallen zoals SQL-injectie, lokale inclusie, gedeeltelijke overflow, fuzzing-testen, xss, SSRF, enzovoort
        Voorkom het lekken van bestanden zoals SVN/back-up
        Voorkom aanvallen door stresstesttools zoals ApacheBench
        Blokkeer veelgebruikte scan-hacktools, scanners
        Blokkeer ongebruikelijke netwerkverzoeken
        Blokkeer de PHP-uitvoeringstoestemming van de image attachment-map
        Voorkom webshell-uploads


Aanbevolen installatie:

Het wordt aanbevolen om lujit2.1 te gebruiken voor lua-ondersteuning

ngx_lua als het een versie 0.9.2 of later is, wordt aanbevolen de reguliere filterfunctie te wijzigen naar ngx.re.find, en de matchingsefficiëntie wordt ongeveer drie keer verhoogd.


Gebruiksaanwijzingen:

Het nginx-installatiepad wordt verondersteld te zijn: /usr/local/nginx/conf/

Download de ngx_lua_waf naar de conf-directory, pak het uit en noem het waf

Voeg het toe in de http-sectie van nginx.conf

            

Configureer de WAF-regelmap in config.lua (meestal in de waf/conf/directory)

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

Als het absolute pad verandert, moet het dienovereenkomstig worden aangepast

Begin dan nginx opnieuw


Profielgegevens:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --regelgeheugenmap
        attacklog = "uit"
        --Om het loggen van aanvalsinformatie mogelijk te maken, moet je een logdir configureren
        logdir = "/usr/local/nginx/logs/hack/"
        --log storage directory, die door de gebruiker zelf moet worden aangemaakt, en waarvoor de schrijfrechten van de nginx-gebruiker nodig zijn
        UrlDeny="aan"
        --of URL-toegang geblokkeerd moet worden
        Redirect="aan"
        --of er na onderschepping omgeleid moet worden
        CookieMatch = "aan"
        --Of cookie-aanvallen geblokkeerd moeten worden
        postMatch = "aan"
        --of een postaanval moet worden geblokkeerd
        whiteModule = "aan"
        --of URL-whitelisting wordt ingeschakeld
        black_fileExt={"php","jsp"}
        --Vul het bestandsachtervoegsel in dat niet mag worden geüpload
        ipWhitelist={"127.0.0.1"}
        --IP-whitelist, meerdere IP-adressen worden gescheiden door komma's
        ipBlocklist={"1.0.0.1"}
        --IP-blacklist, meerdere IP-adressen worden gescheiden door komma's
        CCDeny="aan"
        --Of het onderscheppen van cc-aanvallen wordt ingeschakeld (vereist dat het HTTP-segment van nginx.conf wordt verhoogd lua_shared_dict limiet 10m; )
        CCrate = "100/60"
        --Stel de CC-aanvalfrequentie in in seconden.
        --Standaard kan hetzelfde IP-adres hetzelfde adres slechts 100 keer per minuut opvragen
        html=[[Ga alsjeblieft weg~~]]
        --Waarschuwingsinhoud, aanpasbaar tussen haakjes
        Opmerking: Gebruik geen dubbele aanhalingstekens om hoofdlettergevoelig te zijn

        
Controleer of de regels van kracht zijn

Na de uitrol kun je het volgende commando proberen:        
  
      

Opmerking: Standaard filtert de machine niet in de whitelist, en kun je de config.lua-configuratie zelf aanpassen


De weergaven zijn als volgt


Regelupdates:

Gezien het cachingprobleem van reguliere spellen, beïnvloeden dynamische regels de prestaties, dus gebruik ik geen dingen als gedeelde geheugenwoordenboeken en redis voor dynamisch beheer.

Regelupdates kunnen op andere servers worden geplaatst, en de regels kunnen worden bijgewerkt door ze regelmatig te downloaden via de crontab-taak, waarna de nginx-herlaad van kracht wordt. Om de hoge prestaties van NGX LUA WAF te waarborgen.

Noteer alleen het filterlogboek, zet filtering niet aan, voeg alleen een -- opmerking toe om in de code te controleren, als je moet filteren, en andersom

Enkele opmerkingen:

        De filterregels kunnen worden aangepast aan je behoeften onder wafconf, en elke regel moet worden gewrapped of gesplitst met |
        
                ARGS-regels krijgen parameter om te filteren
                URL's zijn regels die alleen URL's opvragen die gefilterd zijn in GET               
                Bericht is een filterregel alleen bij postverzoeken               
                De whitelist is een whitelist, en de URL's erin komen overeen zodat deze niet gefilterd wordt               
                User-Agent is een filterregel voor user-agent
        

        Get en post filtering zijn standaard ingeschakeld, als je cookie-filtering moet inschakelen, bewerk dan het waf.lua cancel-gedeelte - reactie
        
        Het formaat van de logbestandsnaam is als volgt: Web Host Name _sec.log






Vorig:Powershell laadt geen bestanden bij direct scripten omdat het script verboden is
Volgend:cmd /c en cmd /k worden in detail uitgelegd
Geplaatst op 08-11-2017 15:23:22 |
Ja, ik heb het geleerd
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com