Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 17464|Atbildi: 2

[Tīmeklis] ngx_lua_waf ir tīmekļa lietojumprogrammu ugunsmūris, kura pamatā ir lua-nginx-module (openresty).

[Kopēt saiti]
Publicēts 21.12.2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf ir ngx_lua balstīts tīmekļa lietojumprogrammu ugunsmūris, kas izstrādāts, kad es pirmo reizi pievienojos Fun Travel.

Kods ir vienkāršs, un sākotnējais attīstības nolūks ir izmantot vienkāršību, augstu veiktspēju un vieglumu.

Tagad tas ir atvērtā koda un atbilst MIT licencei. Tajā ir mūsu filtrēšanas noteikumi. Ja jums ir kādi ieteikumi vai vēlaties to darīt, lūdzu, nekautrējieties to uzlabot kopā ar mani.

Lietošana:
            
      
Novērst tīmekļa uzbrukumus, piemēram, SQL injekciju, lokālo iekļaušanu, daļēju pārpildi, izplūdes testēšanu, xss, SSRF utt
        Novērst failu noplūdi, piemēram, SVN/dublējumu
        Novēršiet uzbrukumus no stresa testēšanas rīkiem, piemēram, ApacheBench
        Bloķēt izplatītākos skenēšanas hakeru rīkus, skenerus
        Neparastu tīkla pieprasījumu bloķēšana
        Bloķējiet attēla pielikumu direktorijas PHP izpildes atļauju
        Tīmekļa čaulas augšupielādes novēršana


Ieteicamā uzstādīšana:

Lua atbalstam ieteicams izmantot lujit2.1

ngx_lua ja tā ir versija 0.9.2 vai jaunāka, ieteicams mainīt parasto filtra funkciju uz ngx.re.find, un atbilstības efektivitāte tiks palielināta apmēram trīs reizes.


Lietošanas instrukcija:

Tiek pieņemts, ka nginx instalācijas ceļš ir: /usr/local/nginx/conf/

Lejupielādējiet ngx_lua_waf konferenču direktorijā, izsaiņojiet to un nosauciet to par waf

Pievienojiet to nginx.conf http sadaļā

            

Konfigurējiet WAF noteikumu direktoriju config.lua (parasti waf/conf/ direktorijā)

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

Ja mainās absolūtais ceļš, tas ir attiecīgi jāmaina

Pēc tam restartējiet nginx


Profila informācija:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --noteikumu krātuves direktorijs
        attacklog = "izslēgts"
        --Lai iespējotu uzbrukuma informācijas reģistrēšanu, jums ir jākonfigurē logdir
        logdir = "/usr/local/nginx/logs/hack/"
        - žurnālu krātuves direktorijs, kas jāizveido pašam lietotājam, un tam nepieciešama nginx lietotāja rakstīšanas atļauja
        UrlDeny="ieslēgts"
        --vai bloķēt URL piekļuvi
        Novirzīt = "ieslēgts"
        --vai novirzīt pēc pārtveršanas
        CookieMatch = "ieslēgts"
        --Vai bloķēt sīkdatņu uzbrukumus
        postMatch = "ieslēgts"
        --vai bloķēt pēcuzbrukumu
        whiteModule = "ieslēgts"
        --vai ieslēgt URL balto sarakstu
        black_fileExt={"php","jsp"}
        --Aizpildiet faila sufiksa tipu, kuru nav atļauts augšupielādēt
        ipWhitelist={"127.0.0.1"}
        --IP baltais saraksts, vairāki IP ir atdalīti ar komatiem
        ipBlocklist={"1.0.0.1"}
        --IP melnais saraksts, vairāki IP ir atdalīti ar komatiem
        CCDeny="ieslēgts"
        - Vai iespējot cc uzbrukumu pārtveršanu (nepieciešams, lai nginx.conf HTTP segments tiktu palielināts lua_shared_dict 10 m ierobežojumu; )
        CCrate = "100/60"
        - Iestatiet CC uzbrukuma frekvenci sekundēs.
        --Pēc noklusējuma viena un tā pati IP adrese var pieprasīt vienu un to pašu adresi tikai 100 reizes minūtē
        html=[[Lūdzu, dodieties prom~~]]
        - Brīdinājuma saturs, pielāgojams iekavās
        Piezīme: nelietojiet dubultpēdiņas, lai būtu reģistrjutīgi

        
Pārbaudiet, vai noteikumi ir spēkā

Pēc izvietošanas varat izmēģināt šādu komandu:        
  
      

Piezīmes: Pēc noklusējuma mašīna netiek filtrēta baltajā sarakstā, un jūs varat pielāgot config.lua konfigurāciju pats


Atveidojumi ir šādi


Noteikumu atjauninājumi:

Ņemot vērā regulāro lietotāju kešatmiņas problēmu, dinamiskie noteikumi ietekmē veiktspēju, tāpēc dinamiskai pārvaldībai es neizmantoju tādas lietas kā koplietojamās atmiņas vārdnīcas un redis.

Noteikumu atjauninājumus var ievietot citos serveros, un noteikumus var atjaunināt, regulāri lejupielādējot tos, izmantojot crontab uzdevumu, un nginx atkārtota ielāde stāsies spēkā. Lai nodrošinātu augstu veiktspēju NGX LUA WAF.

Ierakstiet tikai filtra žurnālu, neieslēdziet filtrēšanu, vienkārši pievienojiet komentāru koda pārbaudes priekšā, ja jums ir nepieciešams filtrēt, otrādi

Dažas piezīmes:

        Filtrēšanas noteikumus var pielāgot atbilstoši jūsu vajadzībām wafconf, un katrs noteikums ir jāiesaiņo vai jāsadala ar |
        
                argumentu kārtulas iegūt parametru filtrēšanai
                URL ir kārtulas, kas pieprasa tikai URL, kas filtrēti programmā GET               
                Izlikšana ir filtrēšanas kārtula tikai ziņu pieprasījumos               
                Baltais saraksts ir baltais saraksts, un tajā esošie URL sakrīt, lai tas netiktu filtrēts               
                Lietotāja aģents ir lietotāja aģenta filtrēšanas kārtula
        

        Iegūt un pēc filtrēšana ir iespējota pēc noklusējuma, ja jums ir nepieciešams iespējot sīkfailu filtrēšanu, rediģējiet waf.lua atcelt daļu - komentārs
        
        Žurnāla faila nosaukuma formāts ir šāds: Tīmekļa resursdatora nosaukums _sec.log






Iepriekšējo:Powershell neizdodas ielādēt failus, tieši skriptējot, jo skripts ir aizliegts
Nākamo:cmd /c un cmd /k ir detalizēti izskaidroti
Publicēts 08.11.2017 15:23:22 |
Jā, es iemācījos
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com