Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 17464|Svare: 2

[Web] ngx_lua_waf er en webapplikasjonsbrannmur basert på lua-nginx-modulen (openresty).

[Kopier lenke]
Publisert på 21.12.2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf er en ngx_lua-basert webapplikasjonsbrannmur utviklet da jeg først begynte i Fun Travel.

Koden er enkel, og den opprinnelige hensikten med utviklingen er å bruke enkelhet, høy ytelse og lettvekt.

Den er nå åpen kildekode og oppfyller MIT-lisensen. Den inneholder våre filtreringsregler. Hvis du har noen forslag eller vil fa, er det bare å forbedre det sammen med meg.

Bruksområder:
            
      
Forhindre webangrep som SQL-injeksjon, lokal inkludering, delvis overflow, fuzzing-testing, xss, SSRF osv
        Forhindre fillekkasje som for eksempel SVN/backup
        Forhindre angrep fra stresstestverktøy som ApacheBench
        Blokker vanlige hackingverktøy for skanning, skannere
        Blokker uvanlige nettverksforespørsler
        Blokker PHP-kjøringstillatelsen til bildevedleggskatalogen
        Forhindre webshell-opplasting


Anbefalt installasjon:

Det anbefales å bruke lujit2.1 for lua-støtte

ngx_lua hvis det er en versjon 0.9.2 eller nyere, anbefales det å endre den vanlige filterfunksjonen til ngx.re.find, og matchingseffektiviteten vil øke omtrent tre ganger.


Bruksanvisning:

nginx-installasjonsstien antas å være: /usr/local/nginx/conf/

Last ned ngx_lua_waf til conf-katalogen, pakk den ut og kall den waf

Legg det til i http-seksjonen på nginx.conf

            

Konfigurer WAF-regelkatalogen i config.lua (vanligvis i waf/conf/-katalogen)

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

Hvis den absolutte banen endres, må den justeres deretter

Så starter nginx på nytt


Profildetaljer:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --regellagringskatalog
        Attacklog = "av"
        --For å aktivere logging av angrepsinformasjon må du konfigurere logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --logglagringskatalog, som må opprettes av brukeren selv, og krever skrivetillatelse fra nginx-brukeren
        UrlDeny="on"
        --om man skal blokkere URL-tilgang
        Omdiriger="på"
        --om man skal omdirigere etter avskjæring
        CookieMatch = "på"
        --Om man skal blokkere informasjonskapselangrep
        postMatch = "på"
        --om man skal blokkere et postangrep
        whiteModule = "på"
        --om man skal slå på URL-hvitelisting
        black_fileExt={"php","jsp"}
        --Fyll inn fil-suffikstypen som ikke er tillatt å laste opp
        ipWhitelist={"127.0.0.1"}
        --IP-hviteliste, flere IP-adresser er adskilt med kommaer
        ipBlocklist={"1.0.0.1"}
        --IP-svarteliste, flere IP-adresser er adskilt med kommaer
        CCDeny="på"
        --Om man skal aktivere avskjæring av cc-angrep (krever at HTTP-segmentet i nginx.conf økes lua_shared_dict maks 10m; )
        CCrate = "100/60"
        --Sett CC-angrepsfrekvensen på sekunder.
        --Som standard kan samme IP-adresse bare be om samme adresse 100 ganger per minutt
        html=[[Vær så snill, gå vekk~~]]
        --Advarselsinnhold, tilpassbar i parentes
        Merk: Ikke bruk doble anførselstegn for å være småbokstavssensitiv

        
Sjekk om reglene er i kraft

Etter utplassering kan du prøve følgende kommando:        
  
      

Merk: Som standard filtrerer ikke maskinen i hvitelisten, og du kan justere config.lua-konfigurasjonen selv


Gjengivelsene er som følger


Regeloppdateringer:

Med tanke på caching-problemet med vanlige spillere, påvirker dynamiske regler ytelsen, så jeg bruker ikke ting som delte minneordbøker og redis for dynamisk administrasjon.

Regeloppdateringer kan legges på andre servere, og reglene kan oppdateres ved å laste dem ned regelmessig via crontab-oppgaven, og nginx-omlastingen trer i kraft. For å sikre høy ytelse for NGX LUA WAF.

Registrer kun filterloggen, ikke slå på filtrering, bare legg til en -- kommentar foran sjekk i koden hvis du trenger å filtrere, omvendt

Noen notater:

        Filtreringsreglene kan justeres etter dine behov under wafconf, og hver regel må pakkes inn eller deles med |
        
                ARGS-regler får parameter til filter
                URL-er er regler som kun ber om URL-er filtrert i GET               
                Innlegg er en filtreringsregel kun i innleggsforespørsler               
                Hvitelisten er en hviteliste, og URL-ene i den samsvarer slik at den ikke blir filtrert               
                User-Agent er en filtreringsregel for User-Agent
        

        Get og post-filtrering er aktivert som standard, hvis du trenger å aktivere informasjonskapselfiltrering, rediger waf.lua cancel-delen - kommentar
        
        Loggfilens navneformat er som følger: Web Host Name _sec.log






Foregående:Powershell klarer ikke å laste filer når man skripter direkte fordi skriptet er forbudt
Neste:CMD /C og cmd /k forklares i detalj
Publisert på 08.11.2017 15:23:22 |
Ja, jeg lærte det
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com