Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17464|Svar: 2

[Web] ngx_lua_waf er en webapplikations-firewall baseret på lua-nginx-modulet (openresty).

[Kopier link]
Opslået på 21/12/2016 16.51.51 | | | |

ngx_lua_waf

ngx_lua_waf er en ngx_lua-baseret webapplikations-firewall, der blev udviklet, da jeg først startede med Fun Travel.

Koden er enkel, og den oprindelige hensigt med udviklingen er at bruge enkelhed, høj ydeevne og letvægt.

Det er nu open source og overholder MIT-licensen. Den indeholder vores filtreringsregler. Hvis du har forslag eller vil fege, er du velkommen til at forbedre det sammen med mig.

Anvendelser:
            
      
Forebyg webangreb såsom SQL-injektion, lokal inklusion, delvis overflow, fuzzing-test, xss, SSRF osv
        Forhindre fillækager som SVN/backup
        Forebyg angreb fra stresstest-værktøjer som ApacheBench
        Bloker almindelige scanningsværktøjer, scannere
        Blokér usædvanlige netværksforespørgsler
        Blokér PHP-eksekveringstilladelsen for billedvedhæftningsmappen
        Forebyg webshell-uploads


Anbefalet installation:

Det anbefales at bruge lujit2.1 til lua-support

ngx_lua hvis det er en version 0.9.2 eller nyere, anbefales det at ændre den almindelige filterfunktion til ngx.re.find, og matchningseffektiviteten vil blive øget cirka tre gange.


Brugsanvisninger:

nginx-installationsstien antages at være: /usr/local/nginx/conf/

Download ngx_lua_waf til conf-mappen, pak den ud og kald den waf

Tilføj det i http-sektionen på nginx.conf

            

Konfigurer WAF-regelmappen i config.lua (normalt i waf/conf/-mappen)

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

Hvis den absolutte sti ændres, skal den ændres tilsvarende

Så genstart nginx


Profiloplysninger:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --regellagringsmappe
        attacklog = "fra"
        --For at aktivere angrebsinformationslogning skal du konfigurere logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --log storage-mappe, som skal oprettes af brugeren selv og kræver skrivetilladelse fra nginx-brugeren
        UrlDeny="on"
        --om man skal blokere URL-adgang
        Redirect="on"
        --om man skal omdirigere efter opsnapning
        CookieMatch = "på"
        --Om man skal blokere cookie-angreb
        postMatch = "på"
        --om man skal blokere et angreb på en stolpe
        whiteModule = "på"
        --om man skal slå URL-whitelisting til
        black_fileExt={"php","jsp"}
        --Udfyld fil-suffikstypen, som ikke må uploades
        ipWhitelist={"127.0.0.1"}
        --IP-whitelist, flere IP-adresser adskilles af kommaer
        ipBlocklist={"1.0.0.1"}
        --IP-sortliste, flere IP-adresser adskilles af kommaer
        CCDeny="på"
        --Om man skal aktivere opsnapning af cc-angreb (kræver at HTTP-segmentet i nginx.conf øges lua_shared_dict grænse 10m; )
        CCrate = "100/60"
        --Sæt CC-angrebsfrekvensen på sekunder.
        --Som standard kan den samme IP-adresse kun anmode om den samme adresse 100 gange i minuttet
        html=[[Gå venligst væk~~]]
        --Advarselsindhold, tilpasseligt i parentes
        Bemærk: Brug ikke dobbelte anførselstegn for at være små bogstaver

        
Tjek om reglerne er gældende

Efter udrulning kan du prøve følgende kommando:        
  
      

Bemærk: Som standard filtrerer maskinen ikke i whitelisten, og du kan selv justere config.lua-konfigurationen


Renderingerne er som følger


Regelopdateringer:

I betragtning af caching-problemet med regulars, påvirker dynamiske regler ydeevnen, så jeg bruger ikke ting som delte hukommelsesordbøger og redis til dynamisk styring.

Regelopdateringer kan placeres på andre servere, og reglerne kan opdateres ved regelmæssigt at downloade dem via crontab-opgaven, og nginx-genindlæsningen træder i kraft. For at sikre NGX LUA WAF's høje ydeevne.

Optag kun filterloggen, slå ikke filtrering til, tilføj bare en -- kommentar foran tjek i koden, hvis du skal filtrere, omvendt

Nogle noter:

        Filtreringsreglerne kan justeres efter dine behov under wafconf, og hver regel skal pakkes ind eller deles med |
        
                ARGS-regler får parameter til filter
                URL'er er regler, der kun anmoder om URL'er filtreret i GET               
                Indlæg er en filtreringsregel kun i opslagsanmodninger               
                Whitelisten er en whitelist, og URL'erne i den matcher, så den ikke filtreres               
                User-Agent er en filtreringsregel for User-Agent
        

        Get og post-filtrering er aktiveret som standard, hvis du skal aktivere cookie-filtrering, rediger waf.lua cancel-delen - kommentar
        
        Logfilens navneformat er som følger: Web Host Name _sec.log






Tidligere:Powershell kan ikke indlæse filer, når man scripter direkte, fordi scriptet er forbudt
Næste:CMD /C og cmd /k forklares i detaljer
Opslået på 08/11/2017 15.23.22 |
Ja, jeg lærte det
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com