Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 17464|Svar: 2

[Web] ngx_lua_waf är en webbapplikationsbrandvägg baserad på lua-nginx-modulen (OpenResty).

[Kopiera länk]
Publicerad på 2016-12-21 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf är en ngx_lua-baserad webbapplikationsbrandvägg som utvecklades när jag först började på Fun Travel.

Koden är enkel, och den ursprungliga avsikten med utvecklingen är att använda enkelhet, hög prestanda och lågvikt.

Det är nu öppet källkod och följer MIT-licensen. Den innehåller våra filtreringsregler. Om du har några förslag eller vill göra en FA, tveka inte att förbättra det med mig.

Användningsområden:
            
      
Förhindra webbattacker som SQL-injektion, lokal inkludering, partiell överbelastning, fuzzing-testning, xss, SSRF, etc
        Förhindra filläckage som SVN/backup
        Förhindra attacker från stresstestningsverktyg som ApacheBench
        Blockera vanliga skanningshackningsverktyg och skannrar
        Blockera ovanliga nätverksförfrågningar
        Blockera PHP-exekveringsbehörigheten för bildbilagan
        Förhindra webshell-uppladdningar


Rekommenderad installation:

Det rekommenderas att använda lujit2.1 för lua-stöd

ngx_lua om det är en version 0.9.2 eller senare, rekommenderas det att ändra den vanliga filterfunktionen till ngx.re.find, och matchningseffektiviteten kommer att öka ungefär tre gånger.


Bruksanvisning:

nginx-installationsvägen antas vara: /usr/local/nginx/conf/

Ladda ner ngx_lua_waf till conf-katalogen, packa upp den och döp den till waf

Lägg till det i http-sektionen på nginx.conf

            

Konfigurera WAF-regelkatalogen i config.lua (vanligtvis i waf/conf/-katalogen)

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

Om den absoluta vägen ändras måste den justeras därefter

Sedan startar nginx om


Profildetaljer:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --regellagringskatalog
        Attacklog = "av"
        --För att aktivera loggning av attackinformation måste du konfigurera logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --logglagringskatalog, som måste skapas av användaren själv och kräver skrivbehörighet från nginx-användaren
        UrlDeny="på"
        --om URL-åtkomst ska blockeras
        Redirect="på"
        --om man ska omdirigera efter avlyssning
        CookieMatch = "på"
        --Om man ska blockera cookieattacker
        postMatch = "på"
        --om man ska blockera en stolpattack
        whiteModule = "på"
        --om man ska slå på vitlistning av URL:er
        black_fileExt={"php","jsp"}
        --Fyll i filsuffixtypen som inte får laddas upp
        ipWhitelist={"127.0.0.1"}
        --IP-vitlista, flera IP-adresser separeras med kommatecken
        ipBlocklist={"1.0.0.1"}
        --IP-svartlista, flera IP-adresser separeras av kommatecken
        CCDeny="på"
        --Om man ska aktivera avlyssning av cc-attacker (kräver att HTTP-segmentet i nginx.conf ökas lua_shared_dict gräns 10m; )
        CCrate = "100/60"
        --Ställ in CC-attackfrekvensen på sekunder.
        --Som standard kan samma IP-adress bara begära samma adress 100 gånger per minut
        html=[[Snälla gå härifrån~~]]
        --Varningsinnehåll, anpassningsbart inom parentes
        Obs: Använd inte dubbla citattecken för att vara kasuskänslig

        
Kontrollera om reglerna gäller

Efter utplacering kan du prova följande kommando:        
  
      

Observera: Som standard filtrerar inte maskinen i vitlistan, och du kan justera config.lua-konfigurationen själv


Renderingarna är följande


Regeluppdateringar:

Med tanke på cache-problemet med regulars påverkar dynamiska regler prestandan, så jag använder inte saker som delade minnesordböcker och redis för dynamisk hantering.

Regeluppdateringar kan placeras på andra servrar, och reglerna kan uppdateras genom att ladda ner dem regelbundet via crontab-uppgiften, och nginx-omladdningen träder i kraft. För att säkerställa NGX LUA WAF:s höga prestanda.

Registrera bara filterloggen, slå inte på filtrering, lägg bara till en -- kommentar framför att kontrollera i koden, om du behöver filtrera, vice versa

Några anteckningar:

        Filtreringsreglerna kan justeras efter dina behov under wafconf, och varje regel måste wrappas eller delas med |
        
                ARGS-regler får parameter för filter
                URL:er är regler som endast begär URL:er filtrerade i GET               
                Inlägg är en filtreringsregel endast vid inläggsförfrågningar               
                Vitlistan är en vitlista, och URL:erna i den matchar så att den inte filtreras               
                User-Agent är en filtreringsregel för User-Agent
        

        Get och post-filtrering är aktiverade som standard, om du behöver aktivera cookie-filtrering, redigera waf.lua cancel-delen - kommentera
        
        Loggfilens namnformat är följande: Webbvärdens namn _sec.log






Föregående:Powershell kan inte ladda filer när man skriptar direkt eftersom skriptet är förbjudet
Nästa:CMD /C och cmd /k förklaras i detalj
Publicerad på 2017-11-08 15:23:22 |
Ja, jag lärde mig
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com