mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-24 04:51:51 +00:00
feat(wafv2): set us-east-1 region for global acls (#5558)
Co-authored-by: Sergio <sergio@prowler.com>
This commit is contained in:
committed by
GitHub
parent
a4c39c25f1
commit
8a6e222f7a
@@ -14,7 +14,11 @@ class WAFv2(AWSService):
|
||||
# Call AWSService's __init__
|
||||
super().__init__(__class__.__name__, provider)
|
||||
self.web_acls = {}
|
||||
self._list_web_acls_global()
|
||||
if self.audited_partition == "aws":
|
||||
# AWS WAFv2 is available globally for CloudFront distributions, but you must use the Region US East (N. Virginia) to create your web ACL.
|
||||
self.region = "us-east-1"
|
||||
self.client = self.session.client(self.service, self.region)
|
||||
self._list_web_acls_global()
|
||||
self.__threading_call__(self._list_web_acls_regional)
|
||||
self.__threading_call__(self._get_web_acl, self.web_acls.values())
|
||||
self.__threading_call__(
|
||||
@@ -25,29 +29,25 @@ class WAFv2(AWSService):
|
||||
|
||||
def _list_web_acls_global(self):
|
||||
logger.info("WAFv2 - Listing Global Web ACLs...")
|
||||
if "us-east-1" in self.regional_clients:
|
||||
try:
|
||||
regional_client = self.regional_clients["us-east-1"]
|
||||
for wafv2 in regional_client.list_web_acls(Scope="CLOUDFRONT")[
|
||||
"WebACLs"
|
||||
]:
|
||||
if not self.audit_resources or (
|
||||
is_resource_filtered(wafv2["ARN"], self.audit_resources)
|
||||
):
|
||||
arn = wafv2["ARN"]
|
||||
self.web_acls[arn] = WebAclv2(
|
||||
arn=arn,
|
||||
name=wafv2["Name"],
|
||||
id=wafv2["Id"],
|
||||
albs=[],
|
||||
user_pools=[],
|
||||
scope=Scope.CLOUDFRONT,
|
||||
region="us-east-1",
|
||||
)
|
||||
except Exception as error:
|
||||
logger.error(
|
||||
f"us-east-1 -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
try:
|
||||
for wafv2 in self.client.list_web_acls(Scope="CLOUDFRONT")["WebACLs"]:
|
||||
if not self.audit_resources or (
|
||||
is_resource_filtered(wafv2["ARN"], self.audit_resources)
|
||||
):
|
||||
arn = wafv2["ARN"]
|
||||
self.web_acls[arn] = WebAclv2(
|
||||
arn=arn,
|
||||
name=wafv2["Name"],
|
||||
id=wafv2["Id"],
|
||||
albs=[],
|
||||
user_pools=[],
|
||||
scope=Scope.CLOUDFRONT,
|
||||
region=self.region,
|
||||
)
|
||||
except Exception as error:
|
||||
logger.error(
|
||||
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
|
||||
def _list_web_acls_regional(self, regional_client):
|
||||
logger.info("WAFv2 - Listing Regional Web ACLs...")
|
||||
|
||||
Reference in New Issue
Block a user