|
|
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 aizliegtsNākamo:cmd /c un cmd /k ir detalizēti izskaidroti
|