AWS - WAF Enum
AWS - WAF Enum
AWS WAF
AWS WAF ni firewall ya programu ya wavuti iliyoundwa kulinda programu za wavuti au APIs dhidi ya mbinu mbalimbali za udukuzi wa wavuti ambazo zinaweza kuathiri upatikanaji wao, usalama, au matumizi ya rasilimali. Inawezesha watumiaji kudhibiti trafiki ya kuingia kwa kuweka mipangilio ya usalama ambayo inapunguza vectors za mashambulizi kama vile SQL injection au cross-site scripting na pia kwa kufafanua sheria za kuchuja desturi.
Dhana muhimu
Web ACL (Orodha ya Kudhibiti Upatikanaji)
Web ACL ni mkusanyiko wa sheria unazoweza kutumia kwa programu zako za wavuti au APIs. Unapounganisha Web ACL na rasilimali, AWS WAF inachunguza maombi yanayoingia kulingana na sheria zilizoelezwa katika Web ACL na kuchukua hatua zilizotajwa.
Kikundi cha Sheria
Kikundi cha Sheria ni mkusanyiko unaozoweza kutumika wa sheria unazoweza kutumia kwa Web ACL nyingi. Kikundi cha sheria husaidia katika kusimamia na kudumisha seti za sheria thabiti kati ya programu tofauti za wavuti au APIs.
Kila kikundi cha sheria kina uwezo wake, ambao husaidia kuhesabu na kudhibiti rasilimali zinazotumiwa kutekeleza sheria zako, vikundi vya sheria, na Web ACLs. Mara thamani yake inapowekwa wakati wa uundaji, haiwezekani kuihariri.
Sheria
Sheria inafafanua seti ya hali ambazo AWS WAF hutumia kuchunguza maombi ya wavuti yanayoingia. Kuna aina kuu mbili za sheria:
Sheria ya Kawaida: Aina hii ya sheria hutumia hali zilizoelezwa kubainisha ikiwa kuruhusu, kuzuia, au kuhesabu maombi ya wavuti.
Sheria ya Kulingana na Kiwango: Inahesabu maombi kutoka kwa anwani ya IP maalum kwa kipindi cha dakika tano. Hapa, watumiaji wanafafanua kizingiti, na ikiwa idadi ya maombi kutoka kwa IP inazidi kikomo hiki ndani ya dakika tano, maombi yanayofuata kutoka kwa IP hiyo yanazuiliwa hadi kiwango cha maombi kishuke chini ya kizingiti. Kizingiti cha chini kwa sheria za kulingana na kiwango ni maombi 2000.
Sheria Zilizosimamiwa
AWS WAF inatoa seti za sheria zilizopangwa mapema, zinazosimamiwa na AWS na wauzaji wa AWS Marketplace. Seti hizi za sheria hutoa ulinzi dhidi ya vitisho vya kawaida na mara kwa mara huzisasisha kushughulikia mapungufu mapya.
Seti ya IP
Seti ya IP ni orodha ya anwani za IP au safu za anwani za IP unazotaka kuruhusu au kuzuia. Seti za IP hufanya iwe rahisi kusimamia sheria zinazotegemea IP.
Seti ya Mfano wa Regex
Seti ya Mfano wa Regex ina moja au zaidi ya taratibu za kawaida (regex) zinazoeleza mifano ya kutafuta katika maombi ya wavuti. Hii ni muhimu kwa hali za kupatana zaidi, kama vile kufuta mfululizo maalum wa herufi.
Tokeni ya Kufunga
Tokeni ya Kufunga hutumiwa kwa kudhibiti ushirikiano wakati wa kufanya marekebisho kwa rasilimali za WAF. Inahakikisha kuwa mabadiliko hayakusudiwi kufutwa na watumiaji au michakato mingi inayojaribu kusasisha rasilimali sawia wakati huo huo.
Vipuli vya API
Vipuli vya API katika AWS WAF hutumiwa kuthibitisha maombi kwa operesheni fulani za API. Vipuli hivi vimefichwa na kusimamiwa kwa usalama ili kudhibiti ufikiaji na kuhakikisha kuwa watumiaji walioruhusiwa pekee wanaweza kufanya mabadiliko kwa mazingira ya WAF.
Mfano: Ushirikiano wa API ya CAPTCHA.
Sera ya Idhini
Sera ya Idhini ni sera ya IAM inayoeleza ni nani anaweza kutekeleza hatua kwenye rasilimali za AWS WAF. Kwa kufafanua ruhusa, unaweza kudhibiti ufikiaji wa rasilimali za WAF na kuhakikisha kuwa watumiaji walioruhusiwa pekee wanaweza kuunda, kusasisha, au kufuta mazingira.
Upeo
Parameta ya upeo katika AWS WAF inaeleza ikiwa sheria za WAF na mazingira yanatumika kwa programu ya kikanda au usambazaji wa Amazon CloudFront.
KIKANDA: Inatumika kwa huduma za kikanda kama Balancers ya Upakiaji wa Maombi (ALB), Amazon API Gateway REST API, AWS AppSync GraphQL API, kidimbwi cha watumiaji cha Amazon Cognito, huduma ya AWS App Runner na kifaa cha Kuthibitishwa cha AWS Access. Unaelezea eneo la AWS ambapo rasilimali hizi zinapatikana.
CLOUDFRONT: Inatumika kwa usambazaji wa Amazon CloudFront, ambao ni wa kimataifa. Mazingira ya WAF kwa CloudFront yanadhibitiwa kupitia eneo la
us-east-1
bila kujali mahali ambapo yaliyomo yanahudumiwa.
Sifa muhimu
Vigezo vya Ufuatiliaji (Hali)
Hali inaeleza vipengele vya maombi ya HTTP/HTTPS yanayochunguzwa na AWS WAF, ambavyo ni pamoja na XSS, eneo la kijiografia (GEO), anwani za IP, Vizuizi vya Ukubwa, SQL Injection, na mifano (herufi na kupatana na regex). Ni muhimu kutambua kwamba maombi yaliyozuiwa kwa kiwango cha CloudFront kulingana na nchi hayatafikia WAF.
Kila akaunti ya AWS inaweza kusanidi:
Hali 100 kwa kila aina (isipokuwa kwa Regex, ambapo ni hali 10 tu zinaruhusiwa, lakini kikomo hiki kinaweza kuongezwa).
Sheria 100 na Web ACLs 50.
Kiwango cha juu cha sheria 5 za kulingana na kiwango.
Uwezo wa maombi 10,000 kwa sekunde wakati WAF inatekelezwa na balancer ya upakiaji wa maombi.
Hatua za Sheria
Hatua zinapewa kila sheria, chaguzi zikiwa:
Ruhusu: Maombi yanapelekwa kwa usambazaji sahihi wa CloudFront au Balancer ya Upakiaji wa Maombi.
Zuia: Maombi yanakomeshwa mara moja.
Hesabu: Inahesabu maombi yanayokutana na hali za sheria. Hii ni muhimu kwa majaribio ya sheria, kuthibitisha usahihi wa sheria kabla ya kuweka Ruhusu au Zuia.
CAPTCHA na Changamoto: Inathibitisha kwamba ombi halitoki kwa boti kwa kutumia puzzles za CAPTCHA na changamoto za kimya.
Ikiwa ombi halilingani na sheria yoyote ndani ya Web ACL, linapitia hatua ya msingi (Ruhusu au Zuia). Mpangilio wa utekelezaji wa sheria, uliofafanuliwa ndani ya Web ACL, ni muhimu na kawaida unafuata mfuatano huu:
Ruhusu Anwani za IP zilizoorodheshwa.
Zuia Anwani za IP zilizoorodheshwa kwenye orodha nyeusi.
Zuia maombi yanayolingana na saini mbaya yoyote.
Ushirikiano wa CloudWatch
AWS WAF inashirikiana na CloudWatch kwa ufuatiliaji, ikitoa vipimo kama vile Maombi Yaliyoruhusiwa, Maombi Yaliyozuiwa, Maombi Yaliyohesabiwa, na Maombi Yaliyopita. Vipimo hivi hutoa ripoti kila dakika kwa chaguo-msingi na kuhifadhiwa kwa kipindi cha wiki mbili.
Uorodheshaji
Ili kuingiliana na usambazaji wa CloudFront, lazima uweke Mkoa wa US Mashariki (N. Virginia):
CLI - Weka Mkoa wa US Mashariki unapotumia upeo wa CloudFront:
--scope CLOUDFRONT --region=us-east-1
.API na SDKs - Kwa wito wote, tumia kituo cha mkoa us-east-1.
Ili kuingiliana na huduma za kikanda, unapaswa kufafanua eneo:
Mfano na eneo la Ulaya (Hispania):
--scope REGIONAL --region=eu-south-2
Baada ya Uvamizi / Kupita
Kutoka mtazamo wa mshambuliaji, huduma hii inaweza kumsaidia mshambuliaji kutambua ulinzi wa WAF na upenyezaji wa mtandao ambao unaweza kumsaidia kudhoofisha tovuti nyingine.
Hata hivyo, mshambuliaji pia anaweza kuwa na nia ya kuvuruga huduma hii ili tovuti zisilindwe na WAF.
Katika operesheni nyingi za Kufuta na Kuboresha, ingekuwa muhimu kutoa alama ya kufunga. Alama hii hutumiwa kwa udhibiti wa ushirikiano juu ya rasilimali, ikihakikisha kuwa mabadiliko hayabadilishwi kwa bahati mbaya na watumiaji au michakato mingi inayojaribu kuboresha rasilimali sawia kwa wakati mmoja. Ili kupata alama hii, unaweza kutekeleza operesheni ya orodha au pata kwenye rasilimali maalum.
wafv2:CreateRuleGroup
, wafv2:UpdateRuleGroup
, wafv2:DeleteRuleGroup
wafv2:CreateRuleGroup
, wafv2:UpdateRuleGroup
, wafv2:DeleteRuleGroup
Mshambuliaji angekuwa na uwezo wa kudhoofisha usalama wa rasilimali iliyohusika kwa:
Kuunda vikundi vya sheria ambavyo vinaweza, kwa mfano, kuzuia trafiki halali kutoka kwa anwani halali za IP, kusababisha kukataliwa kwa huduma.
Kuboresha vikundi vya sheria, ikiwezekana kurekebisha vitendo vyake kwa mfano kutoka Kuzuia hadi Kuruhusu.
Kufuta vikundi vya sheria vinavyotoa hatua muhimu za usalama.
Mifano ifuatayo inaonyesha kikundi cha sheria ambacho kingezuia trafiki halali kutoka kwa anwani za IP maalum:
Faili la rule.json litakua na muonekano ufuatao:
Athari Inayoweza Kutokea: Upatikanaji usioidhinishwa, uvujaji wa data, na mashambulizi ya DoS yanayowezekana.
wafv2:CreateWebACL
, wafv2:UpdateWebACL
, wafv2:DeleteWebACL
wafv2:CreateWebACL
, wafv2:UpdateWebACL
, wafv2:DeleteWebACL
Kwa ruhusa hizi, mshambuliaji angekuwa na uwezo wa:
Kuunda Web ACL mpya, kuingiza sheria zinazoruhusu trafiki yenye nia mbaya kupitia au kuzuia trafiki halali, hivyo kufanya WAF kuwa batili au kusababisha kukataliwa kwa huduma.
Kusasisha Web ACL zilizopo, ikiwa na uwezo wa kubadilisha sheria kuruhusu mashambulizi kama vile SQL injection au cross-site scripting, ambayo hapo awali yalizuiliwa, au kuvuruga mtiririko wa trafiki ya kawaida kwa kuzuia maombi halali.
Kufuta Web ACL, kuacha rasilimali zilizoathiriwa bila ulinzi kabisa, kuziweka wazi kwa aina mbalimbali za mashambulizi ya wavuti.
Unaweza kufuta WebACL iliyospecifika tu ikiwa ManagedByFirewallManager ni uwongo.
Mifano ifuatayo inaonyesha jinsi ya kusasisha Web ACL ili kuzuia trafiki halali kutoka kwenye seti maalum ya IP. Ikiwa IP ya asili haifanani na moja ya hizo IPs, hatua ya msingi pia itakuwa kuzuia, ikisababisha DoS.
ACL ya Wavuti ya Asili:
Command to update the Web ACL:
Faili la rule.json litakua na muonekano ufuatao:
Athari Inayoweza Kutokea: Upatikanaji usiohalali, uvujaji wa data, na mashambulizi ya DoS yanawezekana.
wafv2:AssociateWebACL
, wafv2:DisassociateWebACL
wafv2:AssociateWebACL
, wafv2:DisassociateWebACL
Ruhusa ya wafv2:AssociateWebACL
ingeweza kuruhusu mshambuliaji kuunganisha ACL za wavuti (Orodha za Udhibiti wa Upatikanaji) na rasilimali, hivyo kuweza kukiuka udhibiti wa usalama, kuruhusu trafiki isiyo halali kufikia programu, na hatimaye kusababisha matumizi mabaya kama vile kuingiza SQL au udukuzi wa tovuti (XSS). Kinyume chake, kwa ruhusa ya wafv2:DisassociateWebACL
, mshambuliaji anaweza kwa muda kufuta ulinzi wa usalama, kuweka wazi rasilimali kwa mapungufu bila kugunduliwa.
Ruhusa za ziada zitahitajika kulingana na aina ya rasilimali iliyolindwa:
Kuunganisha
apigateway:SetWebACL
apprunner:AssociateWebAcl
appsync:SetWebACL
cognito-idp:AssociateWebACL
ec2:AssociateVerifiedAccessInstanceWebAcl
elasticloadbalancing:SetWebAcl
Kutenganisha
apigateway:SetWebACL
apprunner:DisassociateWebAcl
appsync:SetWebACL
cognito-idp:DisassociateWebACL
ec2:DisassociateVerifiedAccessInstanceWebAcl
elasticloadbalancing:SetWebAcl
Athari Inayoweza Kutokea: Usalama wa rasilimali uliodhuriwa, ongezeko la hatari ya kutumiwa vibaya, na kusumbuliwa kwa huduma inayowezekana ndani ya mazingira ya AWS yaliyolindwa na AWS WAF.
wafv2:CreateIPSet
, wafv2:UpdateIPSet
, wafv2:DeleteIPSet
wafv2:CreateIPSet
, wafv2:UpdateIPSet
, wafv2:DeleteIPSet
Mshambuliaji angekuwa na uwezo wa kuunda, kusasisha, na kufuta seti za IP zinazosimamiwa na AWS WAF. Hii inaweza kuwa hatari kwani inaweza kuunda seti mpya za IP kuruhusu trafiki haramu, kusasisha seti za IP ili kuzuia trafiki halali, kusasisha seti za IP zilizopo ili kujumuisha anwani za IP zenye nia mbaya, kuondoa anwani za IP za kuaminika au kufuta seti muhimu za IP ambazo zinalenga kulinda rasilimali muhimu.
Mfano ufuatao unaonyesha jinsi ya kubadilisha seti ya IP iliyopo kwa seti ya IP inayotaka:
Athari Inayoweza Kutokea: Upatikanaji usiohalali na kuzuia trafiki halali.
wafv2:CreateRegexPatternSet
, wafv2:UpdateRegexPatternSet
, wafv2:DeleteRegexPatternSet
wafv2:CreateRegexPatternSet
, wafv2:UpdateRegexPatternSet
, wafv2:DeleteRegexPatternSet
Mshambuliaji mwenye ruhusa hizi angekuwa na uwezo wa kubadilisha seti za mifano ya maneno ya kawaida inayotumiwa na AWS WAF kudhibiti na kuchuja trafiki inayoingia kulingana na mifano maalum.
Kuunda mifano mpya ya mifumo ya maneno ya kawaida ingesaidia mshambuliaji kuruhusu maudhui yenye madhara
Kwa kusasisha mifumo iliyopo, mshambuliaji angepita sheria za usalama
Kufuta mifumo iliyoundwa kuzuia shughuli za uovu kunaweza kumfanya mshambuliaji atume mizigo ya uovu na kupita kwenye hatua za usalama.
Athari Inayowezekana: Kupita kwa udhibiti wa usalama, kuruhusu yaliyomo mabaya na huenda kufichua data nyeti au kuvuruga huduma na rasilimali zilizolindwa na AWS WAF.
(wavf2:PutLoggingConfiguration
& iam:CreateServiceLinkedRole
), wafv2:DeleteLoggingConfiguration
wavf2:PutLoggingConfiguration
& iam:CreateServiceLinkedRole
), wafv2:DeleteLoggingConfiguration
Mshambuliaji mwenye wafv2:DeleteLoggingConfiguration
angekuwa na uwezo wa kuondoa usanidi wa kuingiza kwenye ACL ya Wavuti iliyotajwa. Kufuatia hilo, kwa idhini za wavf2:PutLoggingConfiguration
na iam:CreateServiceLinkedRole
, mshambuliaji anaweza kuunda au kuchukua nafasi ya mizunguko ya kuingiza (baada ya kuidetea) ili kuzuia kuingiza kabisa au kupeleka mizunguko kwenye vituo visivyoruhusiwa, kama vile ndoo za Amazon S3, kikundi cha logi cha Amazon CloudWatch Logs au Amazon Kinesis Data Firehose chini ya udhibiti.
Wakati wa mchakato wa uundaji, huduma inajiweka moja kwa moja ruhusa zinazohitajika kuruhusu logi kuandikwa kwenye marudio ya kuingiza yaliyotajwa:
Amazon CloudWatch Logs: AWS WAF inaunda sera ya rasilimali kwenye kikundi cha logi cha CloudWatch Logs kilichotengwa. Sera hii inahakikisha kuwa AWS WAF ina ruhusa zinazohitajika kuandika logi kwenye kikundi cha logi.
Ndoo ya Amazon S3: AWS WAF inaunda sera ya ndoo kwenye ndoo ya S3 iliyotengwa. Sera hii inatoa AWS WAF ruhusa zinazohitajika kupakia logi kwenye ndoo iliyotajwa.
Amazon Kinesis Data Firehose: AWS WAF inaunda jukumu maalum la huduma kwa kuingiliana na Kinesis Data Firehose. Jukumu hili linaruhusu AWS WAF kutoa logi kwenye mtiririko uliochaguliwa wa Firehose.
Inawezekana kufafanua marudio ya kuingiza moja tu kwa kila ACL ya wavuti.
Athari Inayowezekana: Kuficha uwezo wa kuona matukio ya usalama, kufanya iwe ngumu kujibu matukio, na kurahisisha shughuli za uovu kwa siri ndani ya mazingira yaliyolindwa na AWS WAF.
wafv2:DeleteAPIKey
wafv2:DeleteAPIKey
Mshambuliaji mwenye ruhusa hii angekuwa na uwezo wa kufuta funguo za API zilizopo, ikifanya CAPTCHA kuwa batili na kuvuruga utendaji unaotegemea hilo, kama vile kuwasilisha fomu na udhibiti wa ufikiaji. Kulingana na utekelezaji wa hii CAPTCHA, hii inaweza kusababisha upitishaji wa CAPTCHA au DoS ikiwa usimamizi wa makosa haujafanywa ipasavyo kwenye rasilimali.
Athari Inayoweza Kutokea: Kulemaza ulinzi wa CAPTCHA au kuvuruga utendaji wa programu, ikisababisha uvunjaji wa usalama na wizi wa data.
wafv2:TagResource
, wafv2:UntagResource
wafv2:TagResource
, wafv2:UntagResource
Mshambuliaji angekuwa na uwezo wa kuongeza, kuhariri, au kuondoa vitambulisho kutoka kwa rasilimali za AWS WAFv2, kama ACL za Wavuti, vikundi vya sheria, seti za IP, seti za mifano ya regex, na miundo ya kuingiza.
Athari Inayowezekana: Kubadilisha rasilimali, kuvuja kwa taarifa, udhibiti wa gharama na kuvuruga uendeshaji.
Marejeo
Last updated