Compare commits

...

6 Commits

Author SHA1 Message Date
pedrooot
17c341e06e fix tests 2024-05-16 17:00:24 +02:00
pedrooot
6e1c554eec feat(cli-flag): modify method logic 2024-05-16 15:36:37 +02:00
Sergio Garcia
f0b6767cdb chore(safety): ignore pip vulnerability (#4007) 2024-05-16 13:36:38 +02:00
pedrooot
accde1244d feat(metadata): update checks metadata for more providers 2024-05-16 13:36:12 +02:00
pedrooot
b14cfe14e4 feat(metadata): update checks medatada services/subservices 2024-05-16 11:18:56 +02:00
pedrooot
8b5a089a32 chore(parser): add --subservices tag 2024-05-13 14:30:01 +02:00
614 changed files with 1134 additions and 962 deletions

View File

@@ -73,7 +73,7 @@ jobs:
- name: Safety
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run safety check
poetry run safety check --ignore 67599
- name: Vulture
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |

View File

@@ -97,7 +97,7 @@ repos:
- id: safety
name: safety
description: "Safety is a tool that checks your installed dependencies for known security vulnerabilities"
entry: bash -c 'safety check'
entry: bash -c 'safety check --ignore 67599'
language: system
- id: vulture

View File

@@ -18,6 +18,7 @@ from prowler.lib.check.check import (
list_checks_json,
list_fixers,
list_services,
list_subservices,
parse_checks_from_folder,
print_categories,
print_checks,
@@ -25,6 +26,7 @@ from prowler.lib.check.check import (
print_compliance_requirements,
print_fixers,
print_services,
print_subservices,
remove_custom_checks_module,
run_fixer,
)
@@ -69,6 +71,7 @@ def prowler():
excluded_checks = args.excluded_check
excluded_services = args.excluded_service
services = args.service
subservices = args.subservice
categories = args.category
checks_file = args.checks_file
checks_folder = args.checks_folder
@@ -78,6 +81,7 @@ def prowler():
default_execution = (
not checks
and not services
and not subservices
and not categories
and not excluded_checks
and not excluded_services
@@ -102,7 +106,9 @@ def prowler():
if args.list_services:
print_services(list_services(provider))
sys.exit()
if args.list_subservices:
print_subservices(list_subservices(provider))
sys.exit()
if args.list_fixer:
print_fixers(list_fixers(provider))
sys.exit()
@@ -151,6 +157,7 @@ def prowler():
checks_file,
checks,
services,
subservices,
severities,
compliance_framework,
categories,

View File

@@ -204,6 +204,26 @@ def list_services(provider: str) -> set:
return sorted(available_services)
def list_subservices(provider: str) -> dict:
available_subservices = dict()
checks_tuple = recover_checks_from_provider(provider)
for _, check_path in checks_tuple:
check_name = check_path.split("/")[-1]
check_path = f"{check_path}/{check_name}.metadata.json"
check_metadata = load_check_metadata(check_path)
if check_metadata.SubServiceName:
if check_metadata.ServiceName not in available_subservices:
available_subservices[check_metadata.ServiceName] = []
if (
check_metadata.SubServiceName
not in available_subservices[check_metadata.ServiceName]
):
available_subservices[check_metadata.ServiceName].append(
check_metadata.SubServiceName
)
return available_subservices
def list_fixers(provider: str) -> set:
available_fixers = set()
checks = recover_checks_from_provider(provider, include_fixers=True)
@@ -256,6 +276,23 @@ def print_services(service_list: set):
print(message)
def print_subservices(sub_service_dict: dict):
subservices_num = 0
for service, sub_service_list in sub_service_dict.items():
subservices_num += len(sub_service_list)
plural_string = f"\nThere are {Fore.YELLOW}{subservices_num}{Style.RESET_ALL} available subservices.\n"
singular_string = f"\nThere is {Fore.YELLOW}{subservices_num}{Style.RESET_ALL} available subservice.\n"
message = plural_string if subservices_num > 1 else singular_string
for service, sub_service_list in sub_service_dict.items():
print(f"- {service}")
for sub_service in sub_service_list:
print(f"\t- {sub_service}")
print(message)
def print_fixers(fixers_list: set):
fixers_num = len(fixers_list)
plural_string = (
@@ -794,3 +831,31 @@ def recover_checks_from_service(service_list: list, provider: str) -> set:
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
def recover_checks_from_subservice(sub_service_list: list, provider: str) -> set:
"""
Recover all checks from the selected provider and subservices
Returns a set of checks from the given subservices
"""
# Get all the services available for the provider
try:
checks = set()
checks_tuple = recover_checks_from_provider(provider)
for _, check_path in checks_tuple:
check_name = check_path.split("/")[-1]
check_path = f"{check_path}/{check_name}.metadata.json"
check_metadata = load_check_metadata(check_path)
if (
check_metadata.SubServiceName in sub_service_list
or check_metadata.SubServiceName.lower() in sub_service_list
):
checks.add(check_metadata.CheckID)
return checks
except Exception as error:
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)

View File

@@ -6,6 +6,7 @@ from prowler.lib.check.check import (
parse_checks_from_file,
recover_checks_from_provider,
recover_checks_from_service,
recover_checks_from_subservice,
)
from prowler.lib.logger import logger
@@ -17,6 +18,7 @@ def load_checks_to_execute(
checks_file: str,
check_list: list,
service_list: list,
sub_service_list: list,
severities: list,
compliance_frameworks: list,
categories: set,
@@ -77,6 +79,12 @@ def load_checks_to_execute(
elif service_list:
checks_to_execute = recover_checks_from_service(service_list, provider)
# Handle if there are sub-services passed using -u/--sub-services
elif sub_service_list:
checks_to_execute = recover_checks_from_subservice(
sub_service_list, provider
)
# Handle if there are compliance frameworks passed using --compliance
elif compliance_frameworks:
checks_to_execute = parse_checks_from_compliance_framework(

View File

@@ -252,6 +252,13 @@ Detailed documentation at https://docs.prowler.com
nargs="+",
help="List of services to be executed.",
)
group.add_argument(
"--subservice",
"--subservices",
"-u",
nargs="+",
help="List of subservices to be executed.",
)
common_checks_parser.add_argument(
"--severity",
"--severities",
@@ -299,6 +306,11 @@ Detailed documentation at https://docs.prowler.com
action="store_true",
help="List covered services by given provider",
)
list_group.add_argument(
"--list-subservices",
action="store_true",
help="List covered subservices by given provider",
)
list_group.add_argument(
"--list-compliance",
"--list-compliances",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "accessanalyzer",
"ServiceName": "AccessAnalyzer",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:access-analyzer:region:account-id:analyzer/resource-id",
"Severity": "low",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "accessanalyzer",
"ServiceName": "AccessAnalyzer",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:access-analyzer:region:account-id:analyzer/resource-id",
"Severity": "low",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "account",
"ServiceName": "Account",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:access-recorder:region:account-id:recorder/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "account",
"ServiceName": "Account",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:access-recorder:region:account-id:recorder/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "account",
"ServiceName": "Account",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:access-recorder:region:account-id:recorder/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "account",
"ServiceName": "Account",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:access-recorder:region:account-id:recorder/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"Data Protection"
],
"ServiceName": "acm",
"ServiceName": "ACM",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:acm:region:account-id:certificate/resource-id",
"Severity": "high",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"Logging and Monitoring"
],
"ServiceName": "acm",
"ServiceName": "ACM",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:acm:region:account-id:certificate/resource-id",
"Severity": "medium",

View File

@@ -8,8 +8,8 @@
"CheckType": [
"IAM"
],
"ServiceName": "apigateway",
"SubServiceName": "rest_api",
"ServiceName": "APIGateway",
"SubServiceName": "RestApi",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsApiGatewayRestApi",

View File

@@ -8,8 +8,8 @@
"CheckType": [
"Data Protection"
],
"ServiceName": "apigateway",
"SubServiceName": "rest_api",
"ServiceName": "APIGateway",
"SubServiceName": "RestApi",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsApiGatewayStage",

View File

@@ -8,8 +8,8 @@
"CheckType": [
"Logging and Monitoring"
],
"ServiceName": "apigateway",
"SubServiceName": "rest_api",
"ServiceName": "APIGateway",
"SubServiceName": "RestApi",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsApiGatewayStage",

View File

@@ -8,8 +8,8 @@
"CheckType": [
"Infrastructure Security"
],
"ServiceName": "apigateway",
"SubServiceName": "rest_api",
"ServiceName": "APIGateway",
"SubServiceName": "RestApi",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsApiGatewayRestApi",

View File

@@ -8,8 +8,8 @@
"CheckType": [
"Infrastructure Security"
],
"ServiceName": "apigateway",
"SubServiceName": "rest_api",
"ServiceName": "APIGateway",
"SubServiceName": "RestApi",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsApiGatewayRestApi",

View File

@@ -8,8 +8,8 @@
"CheckType": [
"Infrastructure Security"
],
"ServiceName": "apigateway",
"SubServiceName": "rest_api",
"ServiceName": "APIGateway",
"SubServiceName": "RestApi",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsApiGatewayStage",

View File

@@ -8,7 +8,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "apigateway",
"ServiceName": "APIGatewayV2",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",

View File

@@ -8,7 +8,7 @@
"CheckType": [
"Logging and Monitoring"
],
"ServiceName": "apigateway",
"ServiceName": "APIGatewayV2",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",

View File

@@ -7,7 +7,7 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "appstream",
"ServiceName": "AppStream",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:appstream:region:account-id:fleet/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"Infrastructure Security"
],
"ServiceName": "appstream",
"ServiceName": "AppStream",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:appstream:region:account-id:fleet/resource-id",
"Severity": "medium",

View File

@@ -7,7 +7,7 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "appstream",
"ServiceName": "AppStream",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:appstream:region:account-id:fleet/resource-id",
"Severity": "medium",

View File

@@ -7,7 +7,7 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "appstream",
"ServiceName": "AppStream",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:appstream:region:account-id:fleet/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"Software and Configuration Checks"
],
"ServiceName": "athena",
"ServiceName": "Athena",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:athena:region:account-id:workgroup/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"Software and Configuration Checks"
],
"ServiceName": "athena",
"ServiceName": "Athena",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:athena:region:account-id:workgroup/resource-id",
"Severity": "medium",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"IAM"
],
"ServiceName": "autoscaling",
"ServiceName": "AutoScaling",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:autoscaling:region:account-id:autoScalingGroupName/resource-name",
"Severity": "critical",

View File

@@ -3,7 +3,7 @@
"CheckID": "autoscaling_group_multiple_az",
"CheckTitle": "EC2 Auto Scaling Group should use multiple Availability Zones",
"CheckType": [],
"ServiceName": "autoscaling",
"ServiceName": "AutoScaling",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:autoscaling:region:account-id:autoScalingGroupName/resource-name",
"Severity": "medium",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_invoke_api_operations_cloudtrail_logging_enabled",
"CheckTitle": "Check if Lambda functions invoke API operations are being recorded by CloudTrail.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "low",
"ResourceType": "AwsLambdaFunction",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_no_secrets_in_code",
"CheckTitle": "Find secrets in Lambda functions code.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "critical",
"ResourceType": "AwsLambdaFunction",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_no_secrets_in_variables",
"CheckTitle": "Find secrets in Lambda functions variables.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "critical",
"ResourceType": "AwsLambdaFunction",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_not_publicly_accessible",
"CheckTitle": "Check if Lambda functions have resource-based policy set as Public.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "critical",
"ResourceType": "AwsLambdaFunction",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_url_cors_policy",
"CheckTitle": "Check Lambda Function URL CORS configuration.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "medium",
"ResourceType": "AwsLambdaFunction",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_url_public",
"CheckTitle": "Check Public Lambda Function URL.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "high",
"ResourceType": "AwsLambdaFunction",

View File

@@ -3,8 +3,8 @@
"CheckID": "awslambda_function_using_supported_runtimes",
"CheckTitle": "Find obsolete Lambda runtimes.",
"CheckType": [],
"ServiceName": "lambda",
"SubServiceName": "",
"ServiceName": "Lambda",
"SubServiceName": "Functions",
"ResourceIdTemplate": "arn:partition:lambda:region:account-id:function/function-name",
"Severity": "medium",
"ResourceType": "AwsLambdaFunction",

View File

@@ -7,8 +7,8 @@
"Resilience",
"Backup"
],
"ServiceName": "backup",
"SubServiceName": "",
"ServiceName": "Backup",
"SubServiceName": "Plans",
"ResourceIdTemplate": "arn:partition:service:region:account-id:backup-plan:backup-plan-id",
"Severity": "low",
"ResourceType": "AwsBackupBackupPlan",

View File

@@ -7,8 +7,8 @@
"Resilience",
"Backup"
],
"ServiceName": "backup",
"SubServiceName": "",
"ServiceName": "Backup",
"SubServiceName": "ReportPlan",
"ResourceIdTemplate": "arn:partition:service:region:account-id:backup-report-plan:backup-report-plan-id",
"Severity": "low",
"ResourceType": "Other",

View File

@@ -8,8 +8,8 @@
"Backup",
"Data Protection"
],
"ServiceName": "backup",
"SubServiceName": "",
"ServiceName": "Backup",
"SubServiceName": "Vaults",
"ResourceIdTemplate": "arn:partition:service:region:account-id:backup-vault:backup-vault-id",
"Severity": "medium",
"ResourceType": "AwsBackupBackupVault",

View File

@@ -7,8 +7,8 @@
"Resilience",
"Backup"
],
"ServiceName": "backup",
"SubServiceName": "",
"ServiceName": "Backup",
"SubServiceName": "Vaults",
"ResourceIdTemplate": "arn:partition:service:region:account-id:backup-vault:backup-vault-id",
"Severity": "low",
"ResourceType": "AwsBackupBackupVault",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudformation_stack_outputs_find_secrets",
"CheckTitle": "Find secrets in CloudFormation outputs",
"CheckType": [],
"ServiceName": "cloudformation",
"SubServiceName": "",
"ServiceName": "CloudFormation",
"SubServiceName": "Stacks",
"ResourceIdTemplate": "arn:partition:cloudformation:region:account-id:stack/resource-id",
"Severity": "critical",
"ResourceType": "AwsCloudFormationStack",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudformation_stacks_termination_protection_enabled",
"CheckTitle": "Enable termination protection for Cloudformation Stacks",
"CheckType": [],
"ServiceName": "cloudformation",
"SubServiceName": "",
"ServiceName": "CloudFormation",
"SubServiceName": "Stacks",
"ResourceIdTemplate": "arn:partition:cloudformation:region:account-id:stack/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudFormationStack",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudfront_distributions_field_level_encryption_enabled",
"CheckTitle": "Check if CloudFront distributions have Field Level Encryption enabled.",
"CheckType": [],
"ServiceName": "cloudfront",
"SubServiceName": "",
"ServiceName": "CloudFront",
"SubServiceName": "Distributions",
"ResourceIdTemplate": "arn:partition:cloudfront:region:account-id:distribution/resource-id",
"Severity": "low",
"ResourceType": "AwsCloudFrontDistribution",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudfront_distributions_geo_restrictions_enabled",
"CheckTitle": "Check if Geo restrictions are enabled in CloudFront distributions.",
"CheckType": [],
"ServiceName": "cloudfront",
"SubServiceName": "",
"ServiceName": "CloudFront",
"SubServiceName": "Distributions",
"ResourceIdTemplate": "arn:partition:cloudfront:region:account-id:distribution/resource-id",
"Severity": "low",
"ResourceType": "AwsCloudFrontDistribution",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudfront_distributions_https_enabled",
"CheckTitle": "Check if CloudFront distributions are set to HTTPS.",
"CheckType": [],
"ServiceName": "cloudfront",
"SubServiceName": "",
"ServiceName": "CloudFront",
"SubServiceName": "Distributions",
"ResourceIdTemplate": "arn:partition:cloudfront:region:account-id:distribution/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudFrontDistribution",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudfront_distributions_logging_enabled",
"CheckTitle": "Check if CloudFront distributions have logging enabled.",
"CheckType": [],
"ServiceName": "cloudfront",
"SubServiceName": "",
"ServiceName": "CloudFront",
"SubServiceName": "Distributions",
"ResourceIdTemplate": "arn:partition:cloudfront:region:account-id:distribution/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudFrontDistribution",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudfront_distributions_using_deprecated_ssl_protocols",
"CheckTitle": "Check if CloudFront distributions are using deprecated SSL protocols.",
"CheckType": [],
"ServiceName": "cloudfront",
"SubServiceName": "",
"ServiceName": "CloudFront",
"SubServiceName": "Distributions",
"ResourceIdTemplate": "arn:partition:cloudfront:region:account-id:distribution/resource-id",
"Severity": "low",
"ResourceType": "AwsCloudFrontDistribution",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"IAM"
],
"ServiceName": "cloudfront",
"SubServiceName": "",
"ServiceName": "CloudFront",
"SubServiceName": "Distributions",
"ResourceIdTemplate": "arn:partition:cloudfront:region:account-id:distribution/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudFrontDistribution",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "low",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Insights",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "low",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "critical",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -7,8 +7,8 @@
"Industry and Regulatory Standards",
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "high",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "low",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Logging and Monitoring"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "low",
"ResourceType": "AwsS3Bucket",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Logging and Monitoring"
],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "low",
"ResourceType": "AwsS3Bucket",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudtrail_threat_detection_enumeration",
"CheckTitle": "Ensure there are no potential enumeration threats in CloudTrail",
"CheckType": [],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "critical",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -3,8 +3,8 @@
"CheckID": "cloudtrail_threat_detection_privilege_escalation",
"CheckTitle": "Ensure there are no potential privilege escalation threats in CloudTrail",
"CheckType": [],
"ServiceName": "cloudtrail",
"SubServiceName": "",
"ServiceName": "CloudTrail",
"SubServiceName": "Trails",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "critical",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Alarms",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Alarms",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Alarms",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Alarms",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,7 +5,7 @@
"CheckType": [
"Logging and Monitoring"
],
"ServiceName": "cloudwatch",
"ServiceName": "CloudWatch",
"SubServiceName": "",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Data Protection"
],
"ServiceName": "cloudwatch",
"SubServiceName": "logs",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsLogsLogGroup",

View File

@@ -6,8 +6,8 @@
"Protect",
"Secure development"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:log-group/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailLogGroup",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Data Retention"
],
"ServiceName": "cloudwatch",
"SubServiceName": "logs",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsLogsLogGroup",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -5,8 +5,8 @@
"CheckType": [
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
],
"ServiceName": "cloudwatch",
"SubServiceName": "",
"ServiceName": "CloudWatch",
"SubServiceName": "Logs",
"ResourceIdTemplate": "arn:partition:cloudwatch:region:account-id:certificate/resource-id",
"Severity": "medium",
"ResourceType": "AwsCloudTrailTrail",

View File

@@ -3,8 +3,8 @@
"CheckID": "codeartifact_packages_external_public_publishing_disabled",
"CheckTitle": "Ensure CodeArtifact internal packages do not allow external public source publishing.",
"CheckType": [],
"ServiceName": "codeartifact",
"SubServiceName": "",
"ServiceName": "CodeArtifact",
"SubServiceName": "Repositories",
"ResourceIdTemplate": "arn:partition:codeartifact:region:account-id:repository/repository-name",
"Severity": "critical",
"ResourceType": "Other",

View File

@@ -6,8 +6,8 @@
"Software and Configuration Checks",
"Industry and Regulatory Standards"
],
"ServiceName": "codebuild",
"SubServiceName": "",
"ServiceName": "CodeBuild",
"SubServiceName": "Projects",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsCodeBuildProject",

View File

@@ -6,8 +6,8 @@
"Software and Configuration Checks",
"Industry and Regulatory Standards"
],
"ServiceName": "codebuild",
"SubServiceName": "",
"ServiceName": "CodeBuild",
"SubServiceName": "Projects",
"ResourceIdTemplate": "arn:partition:service:region:account-id:resource-id",
"Severity": "medium",
"ResourceType": "AwsCodeBuildProject",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_identity_pool_guest_access_disabled",
"CheckTitle": "Ensure Cognito Identity Pool has guest access disabled",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "IdentityPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:identitypool/identitypool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoIdentityPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_advanced_security_enabled",
"CheckTitle": "Ensure cognito user pools has advanced security enabled with full-function",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_blocks_compromised_credentials_sign_in_attempts",
"CheckTitle": "Ensure that advanced security features are enabled for Amazon Cognito User Pools to block sign-in by users with suspected compromised credentials",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_blocks_potential_malicious_sign_in_attempts",
"CheckTitle": "Ensure that your Amazon Cognito user pool blocks potential malicious sign-in attempts",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_client_prevent_user_existence_errors",
"CheckTitle": "Amazon Cognito User Pool should prevent user existence errors",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPoolClient",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_client_token_revocation_enabled",
"CheckTitle": "Ensure that token revocation is enabled for Amazon Cognito User Pools",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPoolClient",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_deletion_protection_enabled",
"CheckTitle": "Ensure cognito user pools deletion protection enabled to prevent accidental deletion",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_mfa_enabled",
"CheckTitle": "Ensure Multi-Factor Authentication (MFA) is enabled for Amazon Cognito User Pools",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_password_policy_lowercase",
"CheckTitle": "Ensure Cognito User Pool has password policy to require at least one lowercase letter",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_password_policy_minimum_length_14",
"CheckTitle": "Ensure that the password policy for your user pools require a minimum length of 14 or greater",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_password_policy_number",
"CheckTitle": "Ensure that the password policy for your user pool requires a number",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_password_policy_symbol",
"CheckTitle": "Ensure that the password policy for your Amazon Cognito user pool requires at least one symbol.",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_password_policy_uppercase",
"CheckTitle": "Ensure that the password policy for your user pool requires at least one uppercase letter",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_self_registration_disabled",
"CheckTitle": "Ensure self registration is disabled for Amazon Cognito User Pools",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_temporary_password_expiration",
"CheckTitle": "Ensure that the user pool has a temporary password expiration period of 7 days or less",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

View File

@@ -3,8 +3,8 @@
"CheckID": "cognito_user_pool_waf_acl_attached",
"CheckTitle": "Ensure that Amazon Cognito User Pool is associated with a WAF Web ACL",
"CheckType": [],
"ServiceName": "cognito",
"SubServiceName": "",
"ServiceName": "Cognito",
"SubServiceName": "UserPool",
"ResourceIdTemplate": "arn:aws:cognito-idp:region:account:userpool/userpool-id",
"Severity": "medium",
"ResourceType": "AwsCognitoUserPool",

Some files were not shown because too many files have changed in this diff Show More