aws-cis-controls-assessment 1.1.3__py3-none-any.whl → 1.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. aws_cis_assessment/__init__.py +4 -4
  2. aws_cis_assessment/config/rules/cis_controls_ig1.yaml +365 -2
  3. aws_cis_assessment/controls/ig1/control_access_analyzer.py +198 -0
  4. aws_cis_assessment/controls/ig1/control_access_asset_mgmt.py +360 -0
  5. aws_cis_assessment/controls/ig1/control_access_control.py +323 -0
  6. aws_cis_assessment/controls/ig1/control_backup_security.py +579 -0
  7. aws_cis_assessment/controls/ig1/control_cloudfront_logging.py +215 -0
  8. aws_cis_assessment/controls/ig1/control_configuration_mgmt.py +407 -0
  9. aws_cis_assessment/controls/ig1/control_data_classification.py +255 -0
  10. aws_cis_assessment/controls/ig1/control_dynamodb_encryption.py +279 -0
  11. aws_cis_assessment/controls/ig1/control_ebs_encryption.py +177 -0
  12. aws_cis_assessment/controls/ig1/control_efs_encryption.py +243 -0
  13. aws_cis_assessment/controls/ig1/control_elb_logging.py +195 -0
  14. aws_cis_assessment/controls/ig1/control_guardduty.py +156 -0
  15. aws_cis_assessment/controls/ig1/control_inspector.py +184 -0
  16. aws_cis_assessment/controls/ig1/control_inventory.py +511 -0
  17. aws_cis_assessment/controls/ig1/control_macie.py +165 -0
  18. aws_cis_assessment/controls/ig1/control_messaging_encryption.py +419 -0
  19. aws_cis_assessment/controls/ig1/control_mfa.py +485 -0
  20. aws_cis_assessment/controls/ig1/control_network_security.py +194 -619
  21. aws_cis_assessment/controls/ig1/control_patch_management.py +626 -0
  22. aws_cis_assessment/controls/ig1/control_rds_encryption.py +228 -0
  23. aws_cis_assessment/controls/ig1/control_s3_encryption.py +383 -0
  24. aws_cis_assessment/controls/ig1/control_tls_ssl.py +556 -0
  25. aws_cis_assessment/controls/ig1/control_version_mgmt.py +329 -0
  26. aws_cis_assessment/controls/ig1/control_vpc_flow_logs.py +205 -0
  27. aws_cis_assessment/controls/ig1/control_waf_logging.py +226 -0
  28. aws_cis_assessment/core/models.py +20 -1
  29. aws_cis_assessment/core/scoring_engine.py +98 -1
  30. aws_cis_assessment/reporters/base_reporter.py +31 -1
  31. aws_cis_assessment/reporters/html_reporter.py +172 -11
  32. aws_cis_controls_assessment-1.2.0.dist-info/METADATA +320 -0
  33. {aws_cis_controls_assessment-1.1.3.dist-info → aws_cis_controls_assessment-1.2.0.dist-info}/RECORD +39 -15
  34. docs/developer-guide.md +204 -5
  35. docs/user-guide.md +137 -4
  36. aws_cis_controls_assessment-1.1.3.dist-info/METADATA +0 -404
  37. {aws_cis_controls_assessment-1.1.3.dist-info → aws_cis_controls_assessment-1.2.0.dist-info}/WHEEL +0 -0
  38. {aws_cis_controls_assessment-1.1.3.dist-info → aws_cis_controls_assessment-1.2.0.dist-info}/entry_points.txt +0 -0
  39. {aws_cis_controls_assessment-1.1.3.dist-info → aws_cis_controls_assessment-1.2.0.dist-info}/licenses/LICENSE +0 -0
  40. {aws_cis_controls_assessment-1.1.3.dist-info → aws_cis_controls_assessment-1.2.0.dist-info}/top_level.txt +0 -0
docs/user-guide.md CHANGED
@@ -4,12 +4,13 @@ This comprehensive guide covers how to use the AWS CIS Controls Compliance Asses
4
4
 
5
5
  ## Production Framework Overview
6
6
 
7
- **✅ Complete Implementation**
8
- - 138 AWS Config rules implemented (133 CIS Controls + 5 bonus security rules)
9
- - 100% coverage across all Implementation Groups (IG1, IG2, IG3)
7
+ **✅ Enhanced CIS Controls v8.1 Coverage**
8
+ - **125 IG1 rules** implemented (75%+ coverage of CIS Controls v8.1 IG1 safeguards)
9
+ - **50 new rules** added across security services, logging, encryption, inventory, configuration management, and backup security
10
+ - **38 IG2 rules** and **12 IG3 rules** for enhanced and advanced security
10
11
  - Production-tested architecture with enterprise-grade error handling
11
12
  - Ready for immediate deployment in production environments
12
- - **NEW:** AWS Backup service controls for infrastructure assessment
13
+ - **NEW:** Coverage metrics reporting showing safeguard coverage percentages
13
14
 
14
15
  ## Table of Contents
15
16
 
@@ -486,6 +487,138 @@ Each non-compliant finding includes:
486
487
  - Priority level (HIGH, MEDIUM, LOW)
487
488
  - Estimated effort
488
489
 
490
+ ## CIS Controls v8.1 IG1 Expansion (New in v1.2.0)
491
+
492
+ ### Overview
493
+
494
+ Version 1.2.0 adds **50 new IG1 rules** across four phases, achieving **75%+ coverage** of CIS Controls v8.1 Implementation Group 1 safeguards. This expansion significantly enhances the framework's ability to assess essential cyber hygiene controls.
495
+
496
+ ### Coverage Metrics
497
+
498
+ The framework now reports coverage metrics showing how many CIS Controls safeguards are assessed:
499
+
500
+ - **IG1**: 42 of 56 safeguards covered (75%+) with 125 rules
501
+ - **IG2**: 30 of 74 safeguards covered (~40%) with 38 rules
502
+ - **IG3**: 15 of 153 safeguards covered (~10%) with 12 rules
503
+
504
+ Coverage metrics appear in:
505
+ - HTML reports (executive dashboard)
506
+ - JSON reports (executive_summary section)
507
+ - Assessment statistics
508
+
509
+ ### Phase 1 - Quick Wins (13 Rules)
510
+
511
+ **Security Services (4 rules)**
512
+ - GuardDuty enablement check
513
+ - Inspector v2 enablement and configuration
514
+ - Macie enablement for data discovery
515
+ - IAM Access Analyzer deployment
516
+
517
+ **Logging (4 rules)**
518
+ - VPC Flow Logs enablement
519
+ - ELB access logging
520
+ - CloudFront distribution logging
521
+ - WAF logging configuration
522
+
523
+ **Encryption (5 rules)**
524
+ - EBS encryption by default
525
+ - RDS storage encryption
526
+ - EFS file system encryption
527
+ - DynamoDB table encryption with KMS
528
+ - S3 bucket default encryption with KMS
529
+
530
+ ### Phase 2 - Core Security (15 Rules)
531
+
532
+ **Patch Management (3 rules)**
533
+ - SSM Patch Manager enablement
534
+ - Patch baseline configuration
535
+ - EC2 instance patch compliance
536
+
537
+ **Access Control (5 rules)**
538
+ - AWS SSO/Identity Center enablement
539
+ - Identity Center configuration
540
+ - Admin user MFA requirements
541
+ - Cognito user pool MFA
542
+ - VPN endpoint MFA
543
+
544
+ **TLS/SSL Enforcement (5 rules)**
545
+ - ALB HTTP to HTTPS redirection
546
+ - ELB HTTPS-only listeners
547
+ - RDS SSL connection requirements
548
+ - API Gateway SSL enforcement
549
+ - Redshift TLS requirements
550
+
551
+ **Additional Encryption (3 rules)**
552
+ - SNS topic KMS encryption
553
+ - SQS queue encryption
554
+ - CloudTrail S3 data events
555
+
556
+ ### Phase 3 - Advanced (15 Rules)
557
+
558
+ **Inventory Management (5 rules)**
559
+ - SSM Inventory enablement
560
+ - AWS Config multi-region deployment
561
+ - AMI inventory tracking
562
+ - Lambda runtime inventory
563
+ - IAM user inventory
564
+
565
+ **Configuration Management (4 rules)**
566
+ - Config conformance pack deployment
567
+ - Security Hub standards enablement
568
+ - Asset tagging compliance
569
+ - Inspector assessment enablement
570
+
571
+ **Version Management (3 rules)**
572
+ - EC2 OS version support validation
573
+ - RDS engine version support
574
+ - Lambda runtime support
575
+
576
+ **Access & Asset Management (3 rules)**
577
+ - IAM user last access tracking
578
+ - SSM Session Manager availability
579
+ - Unauthorized asset detection
580
+
581
+ ### Phase 4 - Enhanced (7 Rules)
582
+
583
+ **Data Classification (2 rules)**
584
+ - Data resource classification tagging
585
+ - S3 bucket classification tags
586
+
587
+ **Network Security (2 rules)**
588
+ - AWS Network Firewall deployment
589
+ - Route 53 DNS Firewall enablement
590
+
591
+ **Backup Security (5 rules)**
592
+ - Backup vault encryption
593
+ - Cross-region backup copy
594
+ - Backup vault lock
595
+ - Route 53 query logging
596
+ - RDS backup retention
597
+
598
+ ### Using the New Rules
599
+
600
+ All new rules are automatically included in IG1 assessments:
601
+
602
+ ```bash
603
+ # Run complete IG1 assessment with all 125 rules
604
+ aws-cis-assess assess --implementation-groups IG1
605
+
606
+ # View coverage metrics in HTML report
607
+ aws-cis-assess assess --implementation-groups IG1 --output-format html
608
+
609
+ # Check specific phase rules
610
+ aws-cis-assess list-controls --implementation-groups IG1
611
+ ```
612
+
613
+ ### Benefits
614
+
615
+ 1. **Comprehensive Coverage**: 75%+ of CIS Controls v8.1 IG1 safeguards
616
+ 2. **Security Services**: Validates enablement of AWS security services
617
+ 3. **Encryption**: Ensures encryption at rest and in transit
618
+ 4. **Inventory**: Tracks assets and software versions
619
+ 5. **Configuration**: Validates security configuration standards
620
+ 6. **Backup**: Assesses backup infrastructure security
621
+
489
622
  ## Next Steps
490
623
 
491
624
  - **Configuration Guide**: Learn about customizing assessments
@@ -1,404 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: aws-cis-controls-assessment
3
- Version: 1.1.3
4
- Summary: Production-ready AWS CIS Controls compliance assessment framework with 145 comprehensive rules
5
- Author-email: AWS CIS Assessment Team <security@example.com>
6
- Maintainer-email: AWS CIS Assessment Team <security@example.com>
7
- License: MIT
8
- Project-URL: Homepage, https://github.com/yourusername/aws-cis-controls-assessment
9
- Project-URL: Documentation, https://github.com/yourusername/aws-cis-controls-assessment/blob/main/README.md
10
- Project-URL: Repository, https://github.com/yourusername/aws-cis-controls-assessment.git
11
- Project-URL: Bug Reports, https://github.com/yourusername/aws-cis-controls-assessment/issues
12
- Project-URL: Changelog, https://github.com/yourusername/aws-cis-controls-assessment/blob/main/CHANGELOG.md
13
- Project-URL: Source Code, https://github.com/yourusername/aws-cis-controls-assessment
14
- Keywords: aws,security,compliance,cis,controls,assessment,audit,enterprise,production
15
- Classifier: Development Status :: 5 - Production/Stable
16
- Classifier: Intended Audience :: System Administrators
17
- Classifier: Intended Audience :: Information Technology
18
- Classifier: Intended Audience :: Developers
19
- Classifier: License :: OSI Approved :: MIT License
20
- Classifier: Operating System :: OS Independent
21
- Classifier: Programming Language :: Python :: 3
22
- Classifier: Programming Language :: Python :: 3.8
23
- Classifier: Programming Language :: Python :: 3.9
24
- Classifier: Programming Language :: Python :: 3.10
25
- Classifier: Programming Language :: Python :: 3.11
26
- Classifier: Programming Language :: Python :: 3.12
27
- Classifier: Topic :: Security
28
- Classifier: Topic :: System :: Systems Administration
29
- Classifier: Topic :: Software Development :: Quality Assurance
30
- Classifier: Environment :: Console
31
- Classifier: Environment :: No Input/Output (Daemon)
32
- Requires-Python: >=3.8
33
- Description-Content-Type: text/markdown
34
- License-File: LICENSE
35
- Requires-Dist: boto3<2.0.0,>=1.26.0
36
- Requires-Dist: PyYAML<7.0,>=6.0
37
- Requires-Dist: click<9.0,>=8.0
38
- Requires-Dist: jinja2<4.0,>=3.0
39
- Requires-Dist: tabulate<1.0,>=0.9.0
40
- Provides-Extra: dev
41
- Requires-Dist: pytest<8.0,>=7.0.0; extra == "dev"
42
- Requires-Dist: pytest-mock<4.0,>=3.10.0; extra == "dev"
43
- Requires-Dist: pytest-cov<5.0,>=4.0.0; extra == "dev"
44
- Requires-Dist: black<24.0,>=22.0.0; extra == "dev"
45
- Requires-Dist: flake8<7.0,>=5.0.0; extra == "dev"
46
- Requires-Dist: mypy<2.0,>=1.0.0; extra == "dev"
47
- Requires-Dist: bandit<2.0,>=1.7.0; extra == "dev"
48
- Requires-Dist: safety<3.0,>=2.0.0; extra == "dev"
49
- Provides-Extra: test
50
- Requires-Dist: pytest<8.0,>=7.0.0; extra == "test"
51
- Requires-Dist: pytest-mock<4.0,>=3.10.0; extra == "test"
52
- Requires-Dist: pytest-cov<5.0,>=4.0.0; extra == "test"
53
- Provides-Extra: security
54
- Requires-Dist: bandit<2.0,>=1.7.0; extra == "security"
55
- Requires-Dist: safety<3.0,>=2.0.0; extra == "security"
56
- Dynamic: license-file
57
-
58
- # AWS CIS Controls Compliance Assessment Framework
59
-
60
- A production-ready, enterprise-grade framework for evaluating AWS account configurations against CIS Controls Implementation Groups (IG1, IG2, IG3) using AWS Config rule specifications. **100% CIS Controls coverage achieved** with 163 implemented rules (131 CIS Controls + 32 bonus security enhancements).
61
-
62
- > **Production Status**: This framework is production-ready and actively deployed in enterprise environments. It provides comprehensive point-in-time compliance assessments while we recommend [AWS Config](https://aws.amazon.com/config/) for ongoing continuous compliance monitoring and automated remediation.
63
-
64
- ## 🎯 Key Features
65
-
66
- - **✅ Complete Coverage**: 163 total rules implemented (131 CIS Controls + 32 bonus)
67
- - **✅ Dual Scoring System**: Both weighted and AWS Config-style scoring methodologies
68
- - **✅ Enhanced HTML Reports**: Control names, working search, improved remediation display
69
- - **✅ Enterprise Ready**: Production-tested with enterprise-grade architecture
70
- - **✅ Performance Optimized**: Handles large-scale assessments efficiently
71
- - **✅ Multi-Format Reports**: JSON, HTML, and CSV with detailed remediation guidance
72
- - **✅ No AWS Config Required**: Direct AWS API calls based on Config rule specifications
73
- - **✅ AWS Backup Controls**: 6 comprehensive backup infrastructure controls (3 IG1 + 3 IG2)
74
- - **✅ Audit Logging Controls**: 7 comprehensive audit log management controls (CIS Control 8)
75
- - **✅ Access & Configuration Controls**: 14 comprehensive identity, access, and secure configuration controls (CIS Controls 4, 5, 6)
76
-
77
- ## 🚀 Quick Start
78
-
79
- ### Installation
80
-
81
- ```bash
82
- # Install from PyPI (production-ready)
83
- pip install aws-cis-controls-assessment
84
-
85
- # Or install from source for development
86
- git clone <repository-url>
87
- cd aws-cis-controls-assessment
88
- pip install -e .
89
- ```
90
-
91
- ### Basic Usage
92
-
93
- ```bash
94
- # Run complete assessment (all 163 rules) - defaults to us-east-1
95
- aws-cis-assess assess --aws-profile my-aws-profile
96
-
97
- # Assess multiple regions
98
- aws-cis-assess assess --aws-profile my-aws-profile --regions us-east-1,us-west-2
99
-
100
- # Assess specific Implementation Group using short flag (defaults to us-east-1)
101
- aws-cis-assess assess -p my-aws-profile --implementation-groups IG1 --output-format json
102
-
103
- # Generate comprehensive HTML report (defaults to us-east-1)
104
- aws-cis-assess assess --aws-profile production --output-format html --output-file compliance-report.html
105
-
106
- # Enterprise multi-region assessment with multiple formats
107
- aws-cis-assess assess -p security-audit --implementation-groups IG1,IG2,IG3 --regions all --output-format html,json --output-dir ./reports/
108
-
109
- # Quick assessment with default profile and default region (us-east-1)
110
- aws-cis-assess assess --output-format json
111
- ```
112
-
113
- ## 📊 Implementation Groups Coverage
114
-
115
- ### IG1 - Essential Cyber Hygiene (96 Rules) ✅
116
- **100% Coverage Achieved**
117
- - Asset Inventory and Management (6 rules)
118
- - Identity and Access Management (15 rules)
119
- - Data Protection and Encryption (8 rules)
120
- - Network Security Controls (20 rules)
121
- - Logging and Monitoring (13 rules)
122
- - Backup and Recovery (17 rules) - **6 AWS Backup service controls (3 IG1 + 3 IG2)**
123
- - Security Services Integration (5 rules)
124
- - Configuration Management (9 rules)
125
- - Vulnerability Management (5 rules)
126
-
127
- ### IG2 - Enhanced Security (+74 Rules) ✅
128
- **100% Coverage Achieved**
129
- - Advanced Encryption at Rest (6 rules)
130
- - Certificate Management (2 rules)
131
- - Network High Availability (7 rules)
132
- - Enhanced Monitoring (3 rules)
133
- - CodeBuild Security (4 rules)
134
- - Vulnerability Scanning (1 rule)
135
- - Network Segmentation (5 rules)
136
- - Auto-scaling Security (1 rule)
137
- - Enhanced Access Controls (8 rules)
138
- - AWS Backup Advanced Controls (3 rules) - **Vault lock, reporting, restore testing**
139
- - Audit Log Management (7 rules) - **Control 8 comprehensive logging coverage**
140
- - Secure Configuration (5 rules) - **Control 4: session duration, security groups, VPC DNS, RDS admin, EC2 least privilege**
141
- - Account Management (4 rules) - **Control 5: service account docs, admin policies, SSO, inline policies**
142
- - Access Control Management (5 rules) - **Control 6: Access Analyzer, permission boundaries, SCPs, Cognito MFA, VPN MFA**
143
-
144
- ### IG3 - Advanced Security (+1 Rule) ✅
145
- **100% Coverage Achieved**
146
- - API Gateway WAF Integration (1 rule)
147
- - Critical for preventing application-layer attacks
148
- - Required for high-security environments
149
-
150
- ### Bonus Security Rules (+32 Rules) ✅
151
- **Additional Value Beyond CIS Requirements**
152
- - Enhanced logging security (`cloudwatch-log-group-encrypted`)
153
- - Network security enhancement (`incoming-ssh-disabled`)
154
- - Data streaming encryption (`kinesis-stream-encrypted`)
155
- - Network access control (`restricted-incoming-traffic`)
156
- - Message queue encryption (`sqs-queue-encrypted-kms`)
157
- - Route 53 DNS query logging (`route53-query-logging-enabled`)
158
- - Plus 26 additional security enhancements
159
- - Application Load Balancer access logs (`alb-access-logs-enabled`)
160
- - CloudFront distribution access logs (`cloudfront-access-logs-enabled`)
161
- - WAF web ACL logging (`waf-logging-enabled`)
162
-
163
- ### 🔍 CIS Control 8: Audit Log Management (13 Rules)
164
- **Comprehensive Audit Logging Coverage**
165
-
166
- Control 8 focuses on collecting, alerting, reviewing, and retaining audit logs of events that could help detect, understand, or recover from an attack. Our implementation provides comprehensive coverage across AWS services:
167
-
168
- **DNS Query Logging**
169
- - `route53-query-logging-enabled`: Validates Route 53 hosted zones have query logging enabled to track DNS queries for security investigations
170
-
171
- **Load Balancer & CDN Logging**
172
- - `alb-access-logs-enabled`: Ensures Application Load Balancers capture access logs for traffic analysis
173
- - `elb-logging-enabled`: Validates Classic Load Balancers have access logging enabled
174
- - `cloudfront-access-logs-enabled`: Ensures CloudFront distributions log content delivery requests
175
-
176
- **Log Retention & Management**
177
- - `cloudwatch-log-retention-check`: Validates log groups have appropriate retention periods (minimum 90 days)
178
- - `cw-loggroup-retention-period-check`: Additional log retention validation
179
-
180
- **CloudTrail Monitoring**
181
- - `cloudtrail-insights-enabled`: Enables anomaly detection for unusual API activity
182
-
183
- **Configuration Tracking**
184
- - `config-recording-all-resources`: Ensures AWS Config tracks all resource configuration changes
185
-
186
- **Application Security Logging**
187
- - `waf-logging-enabled`: Validates WAF web ACLs capture firewall events
188
- - `wafv2-logging-enabled`: Ensures WAFv2 web ACLs have logging enabled
189
-
190
- **Database & Service Logging**
191
- - `rds-logging-enabled`: Validates RDS instances have appropriate logging enabled
192
- - `elasticsearch-logs-to-cloudwatch`: Ensures Elasticsearch domains send logs to CloudWatch
193
- - `codebuild-project-logging-enabled`: Validates CodeBuild projects capture build logs
194
- - `redshift-cluster-configuration-check`: Ensures Redshift clusters have audit logging enabled
195
-
196
- ### 🔐 CIS Controls 4, 5, 6: Access & Configuration Controls (14 Rules)
197
- **Comprehensive Identity, Access Management, and Secure Configuration Coverage**
198
-
199
- These controls focus on secure configuration of enterprise assets, account management, and access control management. Our implementation provides comprehensive coverage across AWS IAM, networking, and identity services:
200
-
201
- **Control 4 - Secure Configuration (5 rules)**
202
- - `iam-max-session-duration-check`: Validates IAM role session duration does not exceed 12 hours to limit credential exposure
203
- - `security-group-default-rules-check`: Ensures default security groups have no inbound or outbound rules to prevent unintended access
204
- - `vpc-dns-resolution-enabled`: Validates VPC DNS settings (enableDnsHostnames and enableDnsSupport) are properly configured
205
- - `rds-default-admin-check`: Ensures RDS instances don't use default admin usernames (postgres, admin, root, mysql, administrator)
206
- - `ec2-instance-profile-least-privilege`: Validates EC2 instance profile permissions follow least privilege principles
207
-
208
- **Control 5 - Account Management (4 rules)**
209
- - `iam-service-account-inventory-check`: Validates service accounts have required documentation tags (Purpose, Owner, LastReviewed)
210
- - `iam-admin-policy-attached-to-role-check`: Ensures administrative policies are attached to roles, not directly to users
211
- - `sso-enabled-check`: Validates AWS IAM Identity Center is configured and enabled for centralized identity management
212
- - `iam-user-no-inline-policies`: Ensures IAM users don't have inline policies (only managed policies or group memberships)
213
-
214
- **Control 6 - Access Control Management (5 rules)**
215
- - `iam-access-analyzer-enabled`: Validates IAM Access Analyzer is enabled in all active regions for external access detection
216
- - `iam-permission-boundaries-check`: Ensures permission boundaries are configured for roles with elevated privileges
217
- - `organizations-scp-enabled-check`: Validates AWS Organizations Service Control Policies are enabled and in use
218
- - `cognito-user-pool-mfa-enabled`: Ensures Cognito user pools have MFA enabled for enhanced authentication security
219
- - `vpn-connection-mfa-enabled`: Validates Client VPN endpoints require MFA authentication
220
-
221
- ## 🏗️ Production Architecture
222
-
223
- ### Core Components
224
- - **Assessment Engine**: Orchestrates compliance evaluations across all AWS regions
225
- - **Control Assessments**: 149 individual rule implementations with robust error handling
226
- - **Scoring Engine**: Calculates compliance scores and generates executive metrics
227
- - **Reporting System**: Multi-format output with detailed remediation guidance
228
- - **Resource Management**: Optimized for enterprise-scale deployments with memory management
229
-
230
- ### Enterprise Features
231
- - **Multi-threading**: Parallel execution for improved performance
232
- - **Error Recovery**: Comprehensive error handling and retry mechanisms
233
- - **Audit Trail**: Complete compliance audit and logging capabilities
234
- - **Resource Monitoring**: Real-time performance and resource usage tracking
235
- - **Scalable Architecture**: Handles assessments across hundreds of AWS accounts
236
-
237
- ## 📋 Requirements
238
-
239
- - **Python**: 3.8+ (production tested on 3.8, 3.9, 3.10, 3.11)
240
- - **AWS Credentials**: Configured via AWS CLI, environment variables, or IAM roles
241
- - **Permissions**: Read-only access to AWS services being assessed
242
- - **Memory**: Minimum 2GB RAM for large-scale assessments
243
- - **Network**: Internet access for AWS API calls
244
- - **Default Region**: Assessments default to `us-east-1` unless `--regions` is specified
245
-
246
- ## 📈 Business Value
247
-
248
- ### Immediate Benefits
249
- - **Compliance Readiness**: Instant CIS Controls compliance assessment
250
- - **Risk Reduction**: Identify and prioritize security vulnerabilities
251
- - **Audit Support**: Generate comprehensive compliance reports
252
- - **Cost Optimization**: Identify misconfigured and unused resources
253
- - **Operational Efficiency**: Automate manual compliance checking
254
-
255
- ### Long-term Value
256
- - **Continuous Improvement**: Track compliance posture over time
257
- - **Regulatory Compliance**: Support for multiple compliance frameworks
258
- - **Security Automation**: Foundation for automated remediation
259
- - **Enterprise Integration**: Integrate with existing security tools
260
- - **Future-Proof**: Extensible architecture for evolving requirements
261
-
262
- ## 🛡️ Security & Compliance
263
-
264
- ### Security Features
265
- - **Read-Only Access**: Framework requires only read permissions
266
- - **No Data Storage**: No sensitive data stored or transmitted
267
- - **Audit Logging**: Complete audit trail of all assessments
268
- - **Error Handling**: Secure error handling without data leakage
269
-
270
- ### Compliance Support
271
- - **CIS Controls**: 100% coverage of Implementation Groups 1, 2, and 3
272
- - **AWS Well-Architected**: Aligned with security pillar best practices
273
- - **Industry Standards**: Supports SOC 2, NIST, ISO 27001 mapping
274
- - **Regulatory Requirements**: HIPAA, PCI DSS, FedRAMP compatible
275
- - **Custom Frameworks**: Extensible for organization-specific requirements
276
-
277
- ## 📚 Documentation
278
-
279
- ### Core Documentation
280
- - **[Installation Guide](docs/installation.md)**: Detailed installation instructions and requirements
281
- - **[User Guide](docs/user-guide.md)**: Comprehensive user manual and best practices
282
- - **[CLI Reference](docs/cli-reference.md)**: Complete command-line interface documentation
283
- - **[Dual Scoring Guide](docs/dual-scoring-implementation.md)**: Weighted vs AWS Config scoring methodologies
284
- - **[Scoring Methodology](docs/scoring-methodology.md)**: Detailed explanation of weighted scoring
285
- - **[AWS Config Comparison](docs/scoring-comparison-aws-config.md)**: Comparison with AWS Config approach
286
- - **[Troubleshooting Guide](docs/troubleshooting.md)**: Common issues and solutions
287
- - **[Developer Guide](docs/developer-guide.md)**: Development and contribution guidelines
288
-
289
- ### Technical Documentation
290
- - **[Assessment Logic](docs/assessment-logic.md)**: How compliance assessments work
291
- - **[Config Rule Mappings](docs/config-rule-mappings.md)**: CIS Controls to AWS Config rule mappings
292
- - **[HTML Report Improvements](docs/html-report-improvements.md)**: Enhanced HTML report features and customization
293
-
294
- ## 🤝 Support & Community
295
-
296
- ### Getting Help
297
- - **Documentation**: Comprehensive guides and API documentation
298
- - **GitHub Issues**: Bug reports and feature requests
299
- - **Enterprise Support**: Commercial support available for enterprise deployments
300
-
301
- ### Contributing
302
- - **Code Contributions**: Pull requests welcome with comprehensive tests
303
- - **Documentation**: Help improve documentation and examples
304
- - **Bug Reports**: Detailed bug reports with reproduction steps
305
- - **Feature Requests**: Enhancement suggestions with business justification
306
-
307
- ## 📄 License
308
-
309
- MIT License - see [LICENSE](LICENSE) file for details.
310
-
311
- ## 🏆 Project Status
312
-
313
- **✅ Production Ready**: Complete implementation with 100% CIS Controls coverage
314
- **✅ Enterprise Deployed**: Actively used in production environments
315
- **✅ Continuously Maintained**: Regular updates and security patches
316
- **✅ Community Supported**: Active development and community contributions
317
- **✅ Future-Proof**: Extensible architecture for evolving requirements
318
-
319
- ---
320
-
321
- **Framework Version**: 1.1.0 (in development)
322
- **CIS Controls Coverage**: 151/151 rules (100%) + 9 bonus rules
323
- **Production Status**: ✅ Ready for immediate enterprise deployment
324
- **Last Updated**: January 2026
325
-
326
- ## 🆕 What's New in Version 1.1.0
327
-
328
- ### Access & Configuration Controls (CIS Controls 4, 5, 6)
329
- Fourteen new controls added to assess identity, access management, and secure configuration:
330
-
331
- **Control 4 - Secure Configuration (5 rules)**:
332
- 1. **iam-max-session-duration-check** - Validates IAM role session duration does not exceed 12 hours
333
- - Ensures temporary credentials have limited exposure window
334
- - Checks MaxSessionDuration property on all IAM roles
335
- - Compliant if session duration ≤ 43200 seconds (12 hours)
336
-
337
- 2. **security-group-default-rules-check** - Ensures default security groups have no rules
338
- - Validates default security groups are restricted (no inbound/outbound rules)
339
- - Prevents unintended access through default security groups
340
- - Encourages use of custom security groups with explicit rules
341
-
342
- 3. **vpc-dns-resolution-enabled** - Validates VPC DNS configuration
343
- - Checks both enableDnsHostnames and enableDnsSupport are enabled
344
- - Ensures proper DNS resolution within VPCs
345
- - Required for many AWS services to function correctly
346
-
347
- 4. **rds-default-admin-check** - Ensures RDS instances don't use default admin usernames
348
- - Detects default usernames: postgres, admin, root, mysql, administrator, sa
349
- - Case-insensitive detection
350
- - Reduces risk of credential guessing attacks
351
-
352
- 5. **ec2-instance-profile-least-privilege** - Validates EC2 instance profile permissions
353
- - Checks for overly permissive policies (AdministratorAccess, PowerUserAccess)
354
- - Detects wildcard permissions (Action: "*", Resource: "*")
355
- - Ensures least privilege principle for EC2 workloads
356
-
357
- **Control 5 - Account Management (4 rules)**:
358
- 6. **iam-service-account-inventory-check** - Validates service account documentation
359
- - Ensures service accounts have required tags: Purpose, Owner, LastReviewed
360
- - Identifies service accounts by naming convention or tags
361
- - Supports compliance and access review processes
362
-
363
- 7. **iam-admin-policy-attached-to-role-check** - Ensures admin policies on roles, not users
364
- - Detects administrative policies attached directly to IAM users
365
- - Encourages role-based access with temporary credentials
366
- - Improves audit trail and access management
367
-
368
- 8. **sso-enabled-check** - Validates AWS IAM Identity Center (SSO) is configured
369
- - Checks for SSO instance existence
370
- - Encourages centralized identity management
371
- - Supports integration with corporate identity providers
372
-
373
- 9. **iam-user-no-inline-policies** - Ensures IAM users don't have inline policies
374
- - Detects inline policies attached to users
375
- - Encourages use of managed policies for reusability
376
- - Simplifies policy management and auditing
377
-
378
- **Control 6 - Access Control Management (5 rules)**:
379
- 10. **iam-access-analyzer-enabled** - Validates Access Analyzer in all regions
380
- - Ensures IAM Access Analyzer is enabled regionally
381
- - Detects resources shared with external entities
382
- - Provides continuous monitoring for unintended access
383
-
384
- 11. **iam-permission-boundaries-check** - Validates permission boundaries for elevated roles
385
- - Identifies roles with elevated privileges
386
- - Checks for permission boundary configuration
387
- - Prevents privilege escalation in delegated administration
388
-
389
- 12. **organizations-scp-enabled-check** - Validates Service Control Policies are in use
390
- - Checks account is part of AWS Organizations
391
- - Verifies SCPs are enabled (FeatureSet includes ALL)
392
- - Ensures custom SCPs exist beyond default FullAWSAccess
393
-
394
- 13. **cognito-user-pool-mfa-enabled** - Ensures Cognito user pools have MFA
395
- - Validates MfaConfiguration is 'ON' or 'OPTIONAL'
396
- - Supports both SMS and TOTP authentication methods
397
- - Enhances authentication security for applications
398
-
399
- 14. **vpn-connection-mfa-enabled** - Validates Client VPN endpoints require MFA
400
- - Checks VPN authentication options for MFA requirement
401
- - Supports Active Directory, SAML, and certificate-based MFA
402
- - Ensures secure remote access to AWS resources
403
-
404
- These controls complement the existing audit logging and backup controls by providing comprehensive coverage of identity, access management, and secure configuration practices. Total rules: 163 (149 previous + 14 new). See [Config Rule Mappings](docs/config-rule-mappings.md) for detailed documentation.