AWS - WAF Enum

AWS - WAF Enum

unga mkono HackTricks

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:

  1. Sheria ya Kawaida: Aina hii ya sheria hutumia hali zilizoelezwa kubainisha ikiwa kuruhusu, kuzuia, au kuhesabu maombi ya wavuti.

  2. 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:

  1. Ruhusu Anwani za IP zilizoorodheshwa.

  2. Zuia Anwani za IP zilizoorodheshwa kwenye orodha nyeusi.

  3. 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

# Web ACLs #

## Retrieve a list of web access control lists (Web ACLs) available in your AWS account
aws wafv2 list-web-acls --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve details about the specified Web ACL
aws wafv2 get-web-acl --name <value> --id <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

## Retrieve a list of resources associated with a specific web access control list (Web ACL)
aws wafv2 list-resources-for-web-acl --web-acl-arn <value> # Additional permissions needed depending on the protected resource type: cognito-idp:ListResourcesForWebACL, ec2:DescribeVerifiedAccessInstanceWebAclAssociations or apprunner:ListAssociatedServicesForWebAcl
## Retrieve the Web ACL associated with the specified AWS resource
aws wafv2 get-web-acl-for-resource --resource-arn <arn> # Additional permissions needed depending on the protected resource type: cognito-idp:GetWebACLForResource, ec2:GetVerifiedAccessInstanceWebAcl, wafv2:GetWebACL or apprunner:DescribeWebAclForService

# Rule groups #

## List of the rule groups available in your AWS account
aws wafv2 list-rule-groups --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve the details of a specific rule group
aws wafv2 get-rule-group [--name <value>] [--id <value>] [--arn <value>] [--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>]
## Retrieve the IAM policy attached to the specified rule group
aws wafv2 get-permission-policy --resource-arn <rule-group-arn> # Just the owner of the Rule Group can do this operation

# Managed rule groups (by AWS or by a third-party) #

## List the managed rule groups that are available
aws wafv2 list-available-managed-rule-groups --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## List the available versions of the specified managed rule group
aws wafv2 list-available-managed-rule-group-versions --vendor-name <value> --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve high-level information about a specific managed rule group
aws wafv2 describe-managed-rule-group --vendor-name <value> --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--version-name <value>]
## Retrieve high-level information about all managed rule groups
aws wafv2 describe-all-managed-products --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve high-level information about all managed rule groups from a specific vendor
aws wafv2 describe-managed-products-by-vendor --vendor-name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

# IP sets #

## List the IP sets that are available in your AWS account
aws wafv2 list-ip-sets --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve the specific IP set
aws wafv2 get-ip-set --name <value> --id <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve the keys that are currently being managed by a rate-based rule.
aws wafv2 get-rate-based-statement-managed-keys --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>\
--web-acl-name <value> --web-acl-id <value> --rule-name <value> [--rule-group-rule-name <value>]

# Regex pattern sets #

## List all the regex pattern sets that you manage
aws wafv2 list-regex-pattern-sets --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieves the specified regex pattern sets
aws wafv2 get-regex-pattern-set --name <value> --id <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

# API Keys #

## List API keys for the specified scope
aws wafv2 list-api-keys --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve decrypted API key
aws wafv2 get-decrypted-api-key --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --api-key <value>

# Logs #

## List of logging configurations (storage location of the logs)
aws wafv2 list-logging-configurations --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--log-scope <value>]
## Retrieve the logging configuration settings associated with a specific web ACL
aws wafv2 get-logging-configuration --resource-arn <value> [--log-scope <CUSTOMER | SECURITY_LAKE>] [--log-type <value>]

# Miscelaneous #

## Retrieve a list of the tags associated to the specified resource
aws wafv2 list-tags-for-resource resource-arn <value>

## Retrieve a sample of web requests that match a specified rule within a WebACL during a specified time range
aws wafv2 get-sampled-requests --web-acl-arn <value> --rule-metric-name <value> --time-window <value> --max-items <1-500> --scope <value>

## Obtains the web ACL capacity unit (WCU) requirements for a specified scope and ruleset
aws wafv2 check-capacity --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --rules <value>

## List of available releases for the AWS WAFv2 mobile SDK
aws wafv2 list-mobile-sdk-releases --platform <IOS | ANDROID>
## Retrieves information for the specified mobile SDK release
aws wafv2 get-mobile-sdk-release --platform <value> --release-version <value>

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

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.

# Create Rule Group
aws wafv2 create-rule-group --name <value> --capacity <value> --visibility-config <value> \
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--description <value>]
# Update Rule Group
aws wafv2 update-rule-group --name <value> --id <value> --visibility-config <value> --lock-token <value>\
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--description <value>]
# Delete Rule Group
aws wafv2 delete-rule-group --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Mifano ifuatayo inaonyesha kikundi cha sheria ambacho kingezuia trafiki halali kutoka kwa anwani za IP maalum:

aws wafv2 create-rule-group --name BlockLegitimateIPsRuleGroup --capacity 1 --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=BlockLegitimateIPsRuleGroup --scope CLOUDFRONT --region us-east-1 --rules file://rule.json

Faili la rule.json litakua na muonekano ufuatao:

[
{
"Name":"BlockLegitimateIPsRule",
"Priority":0,
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:us-east-1:123456789012:global/ipset/legitIPv4/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
},
"Action":{
"Block":{}
},
"VisibilityConfig":{
"SampledRequestsEnabled":false,
"CloudWatchMetricsEnabled":false,
"MetricName":"BlockLegitimateIPsRule"
}
}
]

Athari Inayoweza Kutokea: Upatikanaji usioidhinishwa, uvujaji wa data, na mashambulizi ya DoS yanayowezekana.

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.

# Create Web ACL
aws wafv2 create-web-acl --name <value> --default-action <value> --visibility-config <value> \
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--captcha-config <value>] [--description <value>]
# Update Web ACL
aws wafv2 update-web-acl --name <value> --id <value> --default-action <value> --visibility-config <value> --lock-token <value>\
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--captcha-config <value>] [--description <value>]
# Delete Web ACL
aws wafv2 delete-web-acl --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

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:

{
"WebACL": {
"Name": "AllowLegitimateIPsWebACL",
"Id": "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f",
"ARN": "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/AllowLegitimateIPsWebACL/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f",
"DefaultAction": {
"Allow": {}
},
"Description": "",
"Rules": [
{
"Name": "AllowLegitimateIPsRule",
"Priority": 0,
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:us-east-1:123456789012:regional/ipset/LegitimateIPv4/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
},
"Action": {
"Allow": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": false,
"CloudWatchMetricsEnabled": false,
"MetricName": "AllowLegitimateIPsRule"
}
}
],
"VisibilityConfig": {
"SampledRequestsEnabled": false,
"CloudWatchMetricsEnabled": false,
"MetricName": "AllowLegitimateIPsWebACL"
},
"Capacity": 1,
"ManagedByFirewallManager": false,
"LabelNamespace": "awswaf:123456789012:webacl:AllowLegitimateIPsWebACL:"
},
"LockToken": "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}

Command to update the Web ACL:

aws waf update-web-acl --web-acl-id <value> --updates <value>
aws wafv2 update-web-acl --name AllowLegitimateIPsWebACL --scope REGIONAL --id 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --lock-token 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --default-action Block={} --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=AllowLegitimateIPsWebACL --rules file://rule.json --region us-east-1

Faili la rule.json litakua na muonekano ufuatao:

[
{
"Name": "BlockLegitimateIPsRule",
"Priority": 0,
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:us-east-1:123456789012:regional/ipset/LegitimateIPv4/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
},
"Action": {
"Block": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": false,
"CloudWatchMetricsEnabled": false,
"MetricName": "BlockLegitimateIPRule"
}
}
]

Athari Inayoweza Kutokea: Upatikanaji usiohalali, uvujaji wa data, na mashambulizi ya DoS yanawezekana.

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

# Associate
aws wafv2 associate-web-acl --web-acl-arn <value> --resource-arn <value>
# Disassociate
aws wafv2 disassociate-web-acl --resource-arn <value>

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

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.

# Create IP set
aws wafv2 create-ip-set --name <value> --ip-address-version <IPV4 | IPV6> --addresses <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
# Update IP set
aws wafv2 update-ip-set --name <value> --id <value> --addresses <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
# Delete IP set
aws wafv2 delete-ip-set --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Mfano ufuatao unaonyesha jinsi ya kubadilisha seti ya IP iliyopo kwa seti ya IP inayotaka:

aws wafv2 update-ip-set --name LegitimateIPv4Set --id 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --addresses 99.99.99.99/32 --lock-token 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --scope CLOUDFRONT --region us-east-1

Athari Inayoweza Kutokea: Upatikanaji usiohalali na kuzuia trafiki halali.

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.

# Create regex pattern set
aws wafv2 create-regex-pattern-set --name <value> --regular-expression-list <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--description <value>]
# Update regex pattern set
aws wafv2 update-regex-pattern-set --name <value> --id <value> --regular-expression-list <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
# Delete regex pattern set
aws wafv2 delete-regex-pattern-set --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --id <value> --lock-token <value>

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

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.

# Put logging configuration
aws wafv2 put-logging-configuration --logging-configuration <value>
# Delete logging configuration
aws wafv2 delete-logging-configuration --resource-arn <value> [--log-scope <CUSTOMER | SECURITY_LAKE>] [--log-type <value>]

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

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.

# Delete API key
aws wafv2 delete-api-key --api-key <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Athari Inayoweza Kutokea: Kulemaza ulinzi wa CAPTCHA au kuvuruga utendaji wa programu, ikisababisha uvunjaji wa usalama na wizi wa data.

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.

# Tag
aws wafv2 tag-resource --resource-arn <value> --tags <value>
# Untag
aws wafv2 untag-resource --resource-arn <value> --tag-keys <value>

Athari Inayowezekana: Kubadilisha rasilimali, kuvuja kwa taarifa, udhibiti wa gharama na kuvuruga uendeshaji.

Marejeo

Support HackTricks

Last updated