Skip to content

Commit 3598514

Browse files
puchy22HugoPBrito
andauthored
chore(aws/config): adapt metadata to new standarized format (#8641)
Co-authored-by: HugoPBrito <hugopbrit@gmail.com>
1 parent c4ba061 commit 3598514

File tree

3 files changed

+42
-25
lines changed

3 files changed

+42
-25
lines changed

prowler/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ All notable changes to the **Prowler SDK** are documented in this file.
1010
### Changed
1111
- Update AWS Neptune service metadata to new format [(#8494)](https://github.com/prowler-cloud/prowler/pull/8494)
1212

13+
### Changed
14+
- Update AWS Config service metadata to new format [(#8641)](https://github.com/prowler-cloud/prowler/pull/8641)
1315
### Fixed
1416

1517
## [v5.12.1] (Prowler v5.12.1)

prowler/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled.metadata.json

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,39 @@
11
{
22
"Provider": "aws",
33
"CheckID": "config_recorder_all_regions_enabled",
4-
"CheckTitle": "Ensure AWS Config is enabled in all regions.",
4+
"CheckTitle": "AWS Config recorder is enabled and not in failure state or disabled",
55
"CheckType": [
6-
"Logging and Monitoring"
6+
"Software and Configuration Checks/AWS Security Best Practices",
7+
"Software and Configuration Checks/Industry and Regulatory Standards/AWS Foundational Security Best Practices",
8+
"Software and Configuration Checks/Industry and Regulatory Standards/CIS AWS Foundations Benchmark"
79
],
810
"ServiceName": "config",
911
"SubServiceName": "",
10-
"ResourceIdTemplate": "arn:partition:access-recorder:region:account-id:recorder/resource-id",
12+
"ResourceIdTemplate": "",
1113
"Severity": "medium",
1214
"ResourceType": "Other",
13-
"Description": "Ensure AWS Config is enabled in all regions.",
14-
"Risk": "The AWS configuration item history captured by AWS Config enables security analysis, resource change tracking and compliance auditing.",
15-
"RelatedUrl": "https://aws.amazon.com/blogs/mt/aws-config-best-practices/",
15+
"Description": "**AWS accounts** have **AWS Config recorders** active and healthy in each Region. It identifies Regions with no recorder, a disabled recorder, or a recorder in a failure state.",
16+
"Risk": "**Gaps in Config recording** create **blind spots**. Changes in unmonitored Regions aren't captured, weakening **integrity** and **auditability**. Adversaries can alter resources or stage assets unnoticed, enabling misconfigurations and delaying **incident response**.",
17+
"RelatedUrl": "",
18+
"AdditionalURLs": [
19+
"https://repost.aws/es/questions/QUGcgeerhcTamRkwgdwh_tLQ/enable-aws-config",
20+
"https://www.tenable.com/audits/items/CIS_Amazon_Web_Services_Foundations_v1.5.0_L2.audit:6a5136528bd329139e5969f8f1e5ffbc",
21+
"https://aws.amazon.com/blogs/mt/aws-config-best-practices/"
22+
],
1623
"Remediation": {
1724
"Code": {
18-
"CLI": "aws configservice subscribe --s3-bucket <S3_BUCKET> --sns-topic <TOPIC_ARN>--iam-role <ROLE_ARN> ",
19-
"NativeIaC": "",
20-
"Other": "https://docs.prowler.com/checks/aws/logging-policies/logging_5-enable-aws-config-regions",
21-
"Terraform": "https://docs.prowler.com/checks/aws/logging-policies/logging_5-enable-aws-config-regions#terraform"
25+
"CLI": "",
26+
"NativeIaC": "```yaml\nResources:\n example_resource_recorder:\n Type: AWS::Config::ConfigurationRecorder\n Properties:\n Name: example_resource\n RoleARN: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig\n\n example_resource_channel:\n Type: AWS::Config::DeliveryChannel\n Properties:\n S3BucketName: example_resource\n\n example_resource_status:\n Type: AWS::Config::ConfigurationRecorderStatus\n Properties:\n Name: example_resource\n Recording: true # This line fixes the security issue\n DependsOn:\n - example_resource_channel\n```",
27+
"Other": "1. In the AWS Console, go to Config\n2. Click Set up AWS Config (or Settings)\n3. Select a resource recording option (any) and choose an existing S3 bucket for delivery\n4. Keep the default AWSServiceRoleForConfig role\n5. Click Confirm/Turn on to start recording\n6. Verify on the Settings page that Status shows Recording and not Failure",
28+
"Terraform": "```hcl\nresource \"aws_iam_service_linked_role\" \"example_resource\" {\n aws_service_name = \"config.amazonaws.com\"\n}\n\nresource \"aws_config_configuration_recorder\" \"example_resource\" {\n name = \"example_resource\"\n role_arn = aws_iam_service_linked_role.example_resource.arn\n}\n\nresource \"aws_config_delivery_channel\" \"example_resource\" {\n s3_bucket_name = \"example_resource\"\n}\n\nresource \"aws_config_configuration_recorder_status\" \"example_resource\" {\n name = aws_config_configuration_recorder.example_resource.name\n is_recording = true # This line fixes the security issue\n depends_on = [aws_config_delivery_channel.example_resource]\n}\n```"
2229
},
2330
"Recommendation": {
24-
"Text": "It is recommended to enable AWS Config in all regions.",
25-
"Url": "https://aws.amazon.com/blogs/mt/aws-config-best-practices/"
31+
"Text": "Enable **AWS Config** in every Region with continuous recording and maintain healthy recorder status.",
32+
"Url": "https://hub.prowler.com/check/config_recorder_all_regions_enabled"
2633
}
2734
},
2835
"Categories": [
36+
"logging",
2937
"forensics-ready"
3038
],
3139
"DependsOn": [],

prowler/providers/aws/services/config/config_recorder_using_aws_service_role/config_recorder_using_aws_service_role.metadata.json

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
11
{
22
"Provider": "aws",
33
"CheckID": "config_recorder_using_aws_service_role",
4-
"CheckTitle": "Ensure Config Recorder is using service-linked AWS Config role",
4+
"CheckTitle": "AWS Config recorder uses the AWSServiceRoleForConfig service-linked role",
55
"CheckType": [
6-
"Software and Configuration Checks/AWS Security Best Practices/AWS Foundational Security Best Practices"
6+
"Software and Configuration Checks/AWS Security Best Practices",
7+
"Software and Configuration Checks/Industry and Regulatory Standards/AWS Foundational Security Best Practices"
78
],
89
"ServiceName": "config",
910
"SubServiceName": "",
10-
"ResourceIdTemplate": "arn:partition:access-recorder:region:account-id:recorder/resource-id",
11+
"ResourceIdTemplate": "",
1112
"Severity": "medium",
1213
"ResourceType": "Other",
13-
"Description": "AWS Config uses an IAM role to access other AWS services. This role should be AWSServiceRoleForConfig, not a custom role. Using AWSServiceRoleForConfig ensures that the Config recorder has the necessary permissions to record configuration changes and that the role is managed by AWS, reducing the risk of misconfiguration.",
14-
"Risk": "If the Config recorder is not using AWSServiceRoleForConfig, it may not have the necessary permissions to record configuration changes, which could lead in not following the principle of least privilege, which could lead to misconfiguration and potential security vulnerabilities.",
15-
"RelatedUrl": "https://docs.aws.amazon.com/config/latest/developerguide/using-service-linked-roles.html",
14+
"Description": "**AWS Config recorders** are evaluated for use of the service‑linked IAM role `AWSServiceRoleForConfig` linked to `config.amazonaws.com` rather than a custom role.\n\nThe evaluation inspects active recorders and their role ARN to confirm the AWS‑managed service‑linked role is in use.",
15+
"Risk": "Using a custom or incorrect role can break recording or create blind spots, undermining the **integrity** and **availability** of configuration history. Over‑privileged roles weaken **least privilege**, increasing risk of unauthorized access, stealthy changes, and delayed incident response.",
16+
"RelatedUrl": "",
17+
"AdditionalURLs": [
18+
"https://docs.aws.amazon.com/securityhub/latest/userguide/config-controls.html#config-1",
19+
"https://docs.aws.amazon.com/config/latest/developerguide/using-service-linked-roles.html"
20+
],
1621
"Remediation": {
1722
"Code": {
18-
"CLI": "aws configservice put-configuration-recorder --configuration-recorder- name=<recorder-name>,roleARN=arn:<audited_partition>:iam::<account_number>:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig",
19-
"NativeIaC": "",
20-
"Other": "https://docs.aws.amazon.com/securityhub/latest/userguide/config-controls.html#config-1",
21-
"Terraform": ""
23+
"CLI": "aws configservice put-configuration-recorder --configuration-recorder name=<RECORDER_NAME>,roleARN=arn:<PARTITION>:iam::<ACCOUNT_ID>:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig",
24+
"NativeIaC": "```yaml\nResources:\n example_resource:\n Type: AWS::Config::ConfigurationRecorder\n Properties:\n Name: example_resource\n RoleARN: arn:<PARTITION>:iam::<ACCOUNT_ID>:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig # This line fixes the security issue\n```",
25+
"Other": "1. Open the AWS Console and go to AWS Config\n2. Choose Settings (or Recording) and click Edit\n3. For IAM role, select Use service-linked role (AWSServiceRoleForConfig)\n4. Save changes",
26+
"Terraform": "```hcl\nresource \"aws_config_configuration_recorder\" \"example_resource\" {\n name = \"example_resource\"\n role_arn = \"arn:<PARTITION>:iam::<ACCOUNT_ID>:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig\" # This line fixes the security issue\n}\n```"
2227
},
2328
"Recommendation": {
24-
"Text": "Use service-linked role AWSServiceRoleForConfig for AWS Config recorders.",
25-
"Url": "https://docs.aws.amazon.com/config/latest/developerguide/using-service-linked-roles.html"
29+
"Text": "Use the AWS‑managed servicelinked role `AWSServiceRoleForConfig` for all recorders to enforce **least privilege** and consistent trust.\n\nAvoid custom roles; restrict who can modify the recorder or role; monitor for drift and ensure recording remains enabled as part of **defense in depth**.",
30+
"Url": "https://hub.prowler.com/check/config_recorder_using_aws_service_role"
2631
}
2732
},
28-
"Categories": [],
33+
"Categories": [
34+
"identity-access"
35+
],
2936
"DependsOn": [],
3037
"RelatedTo": [],
3138
"Notes": ""

0 commit comments

Comments
 (0)