Skip to content

Commit b753d90

Browse files
committed
feat(sdk): add ELBv2 PQ TLS check
- Add configurable post-quantum TLS policy validation - Surface listener discovery failures as manual findings - Add SDK tests, compliance mappings, and changelog entry
1 parent 53772e2 commit b753d90

24 files changed

Lines changed: 822 additions & 0 deletions

contrib/k8s/helm/prowler-api/values.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,20 @@ mainConfig:
453453
- "SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09"
454454
- "SecurityPolicy_TLS13_1_2_PQ_2025_09"
455455

456+
# aws.elbv2_listener_pqc_tls_enabled
457+
elbv2_listener_pqc_tls_allowed_policies:
458+
- "ELBSecurityPolicy-TLS13-1-2-PQ-2025-09"
459+
- "ELBSecurityPolicy-TLS13-1-2-Ext1-PQ-2025-09"
460+
- "ELBSecurityPolicy-TLS13-1-2-Ext2-PQ-2025-09"
461+
- "ELBSecurityPolicy-TLS13-1-2-Res-PQ-2025-09"
462+
- "ELBSecurityPolicy-TLS13-1-3-PQ-2025-09"
463+
- "ELBSecurityPolicy-TLS13-1-2-FIPS-PQ-2025-09"
464+
- "ELBSecurityPolicy-TLS13-1-2-Ext0-FIPS-PQ-2025-09"
465+
- "ELBSecurityPolicy-TLS13-1-2-Ext1-FIPS-PQ-2025-09"
466+
- "ELBSecurityPolicy-TLS13-1-2-Ext2-FIPS-PQ-2025-09"
467+
- "ELBSecurityPolicy-TLS13-1-2-Res-FIPS-PQ-2025-09"
468+
- "ELBSecurityPolicy-TLS13-1-3-FIPS-PQ-2025-09"
469+
456470
# AWS Post-Quantum SSH Key Exchange Configuration
457471
# aws.transfer_server_pqc_ssh_kex_enabled
458472
transfer_pqc_ssh_allowed_policies:

docs/user-guide/cli/tutorials/configuration_file.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ The following list includes all the AWS checks with configurable variables that
7878
| `elasticache_redis_cluster_backup_enabled` | `minimum_snapshot_retention_period` | Integer | `7` |
7979
| `elb_is_in_multiple_az` | `elb_min_azs` | Integer | `2` |
8080
| `elbv2_is_in_multiple_az` | `elbv2_min_azs` | Integer | `2` |
81+
| `elbv2_listener_pqc_tls_enabled` | `elbv2_listener_pqc_tls_allowed_policies` | List of Strings | See `config.yaml` |
8182
| `eventbridge_bus_cross_account_access` | `trusted_account_ids` | List of Strings | `[]` |
8283
| `eventbridge_schema_registry_cross_account_access` | `trusted_account_ids` | List of Strings | `[]` |
8384
| `glue_etl_jobs_no_secrets_in_arguments` | `secrets_ignore_patterns` | List of Strings | `[]` |
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
`elbv2_listener_pqc_tls_enabled` check for AWS provider, verifying that ELBv2 listeners use post-quantum TLS policies

prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,6 +1181,7 @@
11811181
"elb_insecure_ssl_ciphers",
11821182
"elb_ssl_listeners",
11831183
"elbv2_insecure_ssl_ciphers",
1184+
"elbv2_listener_pqc_tls_enabled",
11841185
"cloudfront_distributions_pqc_tls_enabled",
11851186
"apigateway_domain_name_pqc_tls_enabled",
11861187
"transfer_server_pqc_ssh_kex_enabled",

prowler/compliance/aws/ccc_aws.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"elb_insecure_ssl_ciphers",
5050
"elb_ssl_listeners",
5151
"elbv2_insecure_ssl_ciphers",
52+
"elbv2_listener_pqc_tls_enabled",
5253
"cloudfront_distributions_pqc_tls_enabled",
5354
"apigateway_domain_name_pqc_tls_enabled",
5455
"transfer_server_pqc_ssh_kex_enabled",

prowler/compliance/aws/ens_rd2022_aws.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2495,6 +2495,7 @@
24952495
],
24962496
"Checks": [
24972497
"elbv2_insecure_ssl_ciphers",
2498+
"elbv2_listener_pqc_tls_enabled",
24982499
"cloudfront_distributions_pqc_tls_enabled",
24992500
"apigateway_domain_name_pqc_tls_enabled",
25002501
"transfer_server_pqc_ssh_kex_enabled"
@@ -2521,6 +2522,7 @@
25212522
],
25222523
"Checks": [
25232524
"elbv2_insecure_ssl_ciphers",
2525+
"elbv2_listener_pqc_tls_enabled",
25242526
"cloudfront_distributions_pqc_tls_enabled",
25252527
"apigateway_domain_name_pqc_tls_enabled",
25262528
"transfer_server_pqc_ssh_kex_enabled"

prowler/compliance/aws/fedramp_moderate_revision_4_aws.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1377,6 +1377,7 @@
13771377
"Checks": [
13781378
"apigateway_restapi_client_certificate_enabled",
13791379
"elbv2_insecure_ssl_ciphers",
1380+
"elbv2_listener_pqc_tls_enabled",
13801381
"cloudfront_distributions_pqc_tls_enabled",
13811382
"apigateway_domain_name_pqc_tls_enabled",
13821383
"transfer_server_pqc_ssh_kex_enabled",
@@ -1399,6 +1400,7 @@
13991400
"Checks": [
14001401
"apigateway_restapi_client_certificate_enabled",
14011402
"elbv2_insecure_ssl_ciphers",
1403+
"elbv2_listener_pqc_tls_enabled",
14021404
"cloudfront_distributions_pqc_tls_enabled",
14031405
"apigateway_domain_name_pqc_tls_enabled",
14041406
"transfer_server_pqc_ssh_kex_enabled",

prowler/compliance/aws/ffiec_aws.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,7 @@
615615
"Checks": [
616616
"apigateway_restapi_client_certificate_enabled",
617617
"elbv2_insecure_ssl_ciphers",
618+
"elbv2_listener_pqc_tls_enabled",
618619
"cloudfront_distributions_pqc_tls_enabled",
619620
"apigateway_domain_name_pqc_tls_enabled",
620621
"transfer_server_pqc_ssh_kex_enabled",

prowler/compliance/aws/gxp_21_cfr_part_11_aws.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@
266266
"ec2_ebs_default_encryption",
267267
"efs_encryption_at_rest_enabled",
268268
"elbv2_insecure_ssl_ciphers",
269+
"elbv2_listener_pqc_tls_enabled",
269270
"cloudfront_distributions_pqc_tls_enabled",
270271
"apigateway_domain_name_pqc_tls_enabled",
271272
"transfer_server_pqc_ssh_kex_enabled",

prowler/compliance/aws/iso27001_2013_aws.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"Checks": [
3737
"elb_insecure_ssl_ciphers",
3838
"elbv2_insecure_ssl_ciphers",
39+
"elbv2_listener_pqc_tls_enabled",
3940
"cloudfront_distributions_pqc_tls_enabled",
4041
"apigateway_domain_name_pqc_tls_enabled",
4142
"transfer_server_pqc_ssh_kex_enabled"

0 commit comments

Comments
 (0)