Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 17464|Atsakyti: 2

[Žiniatinklis] ngx_lua_waf yra žiniatinklio programų ugniasienė, pagrįsta lua-nginx-moduliu (openresty).

[Kopijuoti nuorodą]
Paskelbta 2016-12-21 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf yra ngx_lua pagrindu sukurta žiniatinklio programų ugniasienė, sukurta, kai pirmą kartą prisijungiau prie "Fun Travel".

Kodas yra paprastas, o pradinis kūrimo tikslas yra naudoti paprastumą, aukštą našumą ir lengvumą.

Dabar jis yra atviro kodo ir atitinka MIT licenciją. Jame pateikiamos mūsų filtravimo taisyklės. Jei turite kokių nors pasiūlymų ar norite fa, nedvejodami patobulinkite jį su manimi.

Naudojimas:
            
      
Užkirskite kelią žiniatinklio atakoms, tokioms kaip SQL injekcija, vietinis įtraukimas, dalinis perpildymas, fuzzing testavimas, xss, SSRF ir kt
        Užkirskite kelią failų nutekėjimui, pvz., SVN / atsarginei kopijai
        Užkirskite kelią atakoms naudojant testavimo nepalankiausiomis sąlygomis įrankius, tokius kaip "ApacheBench".
        Blokuoti įprastus nuskaitymo įsilaužimo įrankius, skaitytuvus
        Blokuoti neįprastas tinklo užklausas
        Užblokuokite vaizdo priedų katalogo PHP vykdymo leidimą
        Neleisti įkelti žiniatinklio apvalkalo


Rekomenduojamas montavimas:

Lua palaikymui rekomenduojama naudoti lujit2.1

ngx_lua jei tai yra 0.9.2 ar naujesnė versija, rekomenduojama pakeisti įprastą filtro funkciją į ngx.re.find, o atitikimo efektyvumas padidės maždaug tris kartus.


Naudojimo instrukcijos:

Manoma, kad nginx diegimo kelias yra: /usr/local/nginx/conf/

Atsisiųskite ngx_lua_waf į conf katalogą ir išpakuokite jį ir pavadinkite jį waf

Pridėkite jį į nginx.conf http skyrių

            

Sukonfigūruokite WAF taisyklių katalogą config.lua (paprastai waf/conf/ kataloge)

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

Jei absoliutus kelias pasikeičia, jį reikia atitinkamai modifikuoti

Tada iš naujo paleiskite nginx


Profilio informacija:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --rule saugyklos katalogas
        attacklog = "išjungta"
        --Norėdami įjungti atakos informacijos registravimą, turite sukonfigūruoti logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --log saugyklos katalogas, kurį turi sukurti pats vartotojas ir kuriam reikalingas nginx vartotojo rašymo leidimas
        UrlDeny="įjungta"
        --ar blokuoti URL prieigą
        Redirect="on"
        --ar peradresuoti po perėmimo
        CookieMatch = "įjungta"
        --Ar blokuoti slapukų atakas
        postMatch = "įjungta"
        --Ar blokuoti po atakos
        whiteModule = "įjungta"
        --ar įjungti URL baltąjį sąrašą
        black_fileExt={"php","jsp"}
        --Užpildykite failo priesagos tipą, kurio neleidžiama įkelti
        ipWhitelist={"127.0.0.1"}
        --IP baltasis sąrašas, keli IP yra atskirti kableliais
        ipBlocklist={"1.0.0.1"}
        --IP juodasis sąrašas, keli IP atskirti kableliais
        CCDeny="įjungta"
        --Ar įjungti cc atakų perėmimą (reikalaujama, kad nginx.conf HTTP segmentas būtų padidintas lua_shared_dict 10 m ribos; )
        CCrate = "100/60"
        - Nustatykite CC atakos dažnį sekundėmis.
        --Pagal numatytuosius nustatymus tas pats IP adresas gali prašyti to paties adreso tik 100 kartų per minutę
        html=[[Prašome išeiti~~]]
        --Įspėjamasis turinys, pritaikomas skliausteliuose
        Pastaba: Nenaudokite dvigubų kabučių, kad būtų skiriamos didžiosios ir mažosios raidės

        
Patikrinkite, ar taisyklės galioja

Po diegimo galite išbandyti šią komandą:        
  
      

Pastaba: Pagal numatytuosius nustatymus įrenginys nefiltruoja baltajame sąraše, o config.lua konfigūraciją galite koreguoti patys


Atvaizdai yra tokie


Taisyklių atnaujinimai:

Atsižvelgiant į talpyklos problemą reguliariai, dinaminės taisyklės turi įtakos našumui, todėl aš nenaudoju tokių dalykų kaip bendros atminties žodynai ir redis dinaminiam valdymui.

Taisyklių naujinimus galima patalpinti kituose serveriuose, o taisykles galima atnaujinti reguliariai atsisiunčiant jas naudojant crontab užduotį, o nginx perkrovimas įsigalios. Siekiant užtikrinti aukštą NGX LUA WAF.

Įrašykite tik filtro žurnalą, neįjunkite filtravimo, tiesiog pridėkite komentarą prieš kodą, jei reikia filtruoti, atvirkščiai

Keletas pastabų:

        Filtravimo taisykles galima koreguoti pagal jūsų poreikius wafconf, o kiekvieną taisyklę reikia apvynioti arba padalinti su |
        
                argumentų taisyklės gauti parametrą filtrui
                URL yra taisyklės, kurios prašo tik URL, filtruojamų GET               
                Skelbti yra filtravimo taisyklė tik skelbimo užklausose               
                Baltasis sąrašas yra baltasis sąrašas, o jame esantys URL sutampa, kad jis nebūtų filtruojamas               
                vartotojo agentas yra vartotojo agento filtravimo taisyklė
        

        Gauti ir įrašo filtravimas įjungtas pagal numatytuosius nustatymus, jei reikia įjungti slapukų filtravimą, redaguokite waf.lua atšaukti dalį - komentaras
        
        Žurnalo failo vardo formatas yra toks: Žiniatinklio pagrindinio kompiuterio vardas _sec.log






Ankstesnis:"Powershell" nepavyksta įkelti failų tiesiogiai kuriant scenarijų, nes scenarijus yra draudžiamas
Kitą:cmd /c ir cmd /k yra išsamiai paaiškinti
Paskelbta 2017-11-08 15:23:22 |
Taip, aš išmokau
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com