Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17464|Odgovoriti: 2

[Web] ngx_lua_waf je požarni zid za spletne aplikacije, ki temelji na lua-nginx-module (openresty).

[Kopiraj povezavo]
Objavljeno na 21. 12. 2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf je požarni zid za spletne aplikacije, ki temelji na ngx_lua, razvit, ko sem se prvič pridružil Fun Travel.

Koda je preprosta, prvotni namen razvoja pa je uporaba preprostosti, visoke zmogljivosti in lahkotnosti.

Zdaj je odprtokodni in skladen z licenco MIT. Vsebuje naša pravila filtriranja. Če imate kakršnekoli predloge ali želite pomagati, jo lahko izboljšate skupaj z mano.

Uporaba:
            
      
Preprečite spletne napade, kot so SQL injection, lokalna vključitev, delni overflow, fuzzing testiranje, xss, SSRF itd
        Preprečite uhajanje datotek, kot je SVN/varnostno kopiranje
        Preprečite napade z orodji za testiranje stresa, kot je ApacheBench
        Blokirajte pogosta orodja za hekanje in skenerje
        Blokirajte nenavadne omrežne zahteve
        Blokirajte dovoljenje za izvajanje PHP mape za priponke slik
        Preprečite nalaganje spletne lupine


Priporočena namestitev:

Priporočljivo je uporabljati lujit2.1 za podporo Lua

ngx_lua če gre za različico 0.9.2 ali novejšo, je priporočljivo spremeniti funkcijo običajnega filtra na ngx.re.find, s čimer se učinkovitost ujemanja poveča približno trikrat.


Navodila za uporabo:

Predpostavlja se, da je pot namestitve nginx: /usr/local/nginx/conf/

Prenesi ngx_lua_waf v mapo conf, jo razpakiraj in poimenuj WAF

Dodaj ga v http razdelek nginx.conf

            

Konfigurirajte mapo pravil WAF v config.lua (običajno v mapi waf/conf/)

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

Če se absolutna pot spremeni, jo je treba ustrezno prilagoditi

Nato ponovno zaženi nginx


Podrobnosti profila:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --imenik za shranjevanje pravil
        Attacklog = "izklopljeno"
        --Za omogočanje beleženja informacij o napadu morate konfigurirati logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --dnevnik shranjevalne mape, ki jo mora ustvariti sam uporabnik in zahteva dovoljenje za pisanje uporabnika nginx
        UrlDeny="on"
        --ali blokirati dostop do URL-jev
        Preusmeritev="vklopljeno"
        --ali preusmeriti po prestrezanju
        CookieMatch = "vklopljeno"
        --Ali blokirati napade s piškoti
        postMatch = "vklopljeno"
        --ali blokirati napad po objavi
        whiteModule = "vklopljeno"
        --ali naj vklopimo dovoljeno listo URL-jev
        black_fileExt={"php","jsp"}
        --Vnesite pripono datoteke, ki je ni dovoljeno naložiti
        ipWhitelist={"127.0.0.1"}
        --IP seznam dovoljenih naslovov, več IP-jev je ločenih z vejicami
        ipBlocklist={"1.0.0.1"}
        --IP črna lista, več IP-jev je ločenih z vejicami
        CCDeny="vklopljeno"
        --Ali omogočiti prestrezanje cc napadov (zahteva, da se HTTP segment nginx.conf poveča lua_shared_dict omeji 10m; )
        CCrate = "100/60"
        --Nastavi CC napadno frekvenco v sekundah.
        --Privzeto lahko isti IP naslov zahteva isti naslov le 100-krat na minuto
        html=[[Prosim, pojdi stran~~]]
        --Opozorilna vsebina, prilagodljiva v oklepajih
        Opomba: Ne uporabljajte dvojnih narekovajev, da bi bili občutljivi na velike in velike črke

        
Preveri, ali pravila veljajo

Po razporeditvi lahko poskusite naslednji ukaz:        
  
      

Opomba: Privzeto naprava ne filtrira v beli listi, konfiguracijo config.lua pa lahko prilagodite sami


Upodobitve so naslednje


Posodobitve pravil:

Glede na problem predpomnjenja običajnih datotek dinamična pravila vplivajo na zmogljivost, zato ne uporabljam stvari, kot so slovarji skupnega pomnilnika in redis, za dinamično upravljanje.

Posodobitve pravil je mogoče namestiti na druge strežnike, pravila pa je mogoče posodabljati z rednim prenosom preko naloge crontab, pri čemer se začne izvajati ponovni nalaganje nginx. Da bi zagotovili visoko zmogljivost NGX LUA WAF.

Snemaj samo filter log, ne vklapljaj filtriranja, samo dodaj -- komentar pred preverjanjem v kodi, če moraš filtrirati, obratno

Nekaj opomb:

        Pravila filtriranja lahko prilagodite glede na vaše potrebe pod wafconf, vsako pravilo pa je treba zaviti ali razdeliti z |
        
                ARG pravila pridobijo parameter to filter
                URL-ji so pravila, ki zahtevajo le URL-je, filtrirane v GET               
                Post je pravilo filtriranja samo pri zahtevah za objave               
                Bela lista je bela lista, URL-ji v njej pa se ujemajo, zato ni filtrirana               
                user-agent je filtriralno pravilo za user-agent
        

        Filtriranje Get in objav sta privzeto omogočena, če moraš omogočiti filtriranje piškotkov, uredi del waf.lua cancel - comment
        
        Format imena dnevnika je naslednji: Ime spletnega gostitelja _sec.log






Prejšnji:PowerShell ne naloži datotek pri neposrednem skriptiranju, ker je skripta prepovedana
Naslednji:cmd /c in cmd /k sta podrobno razložena
Objavljeno na 8. 11. 2017 15:23:22 |
Da, naučil sem se
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com