More Info:
AWS S3 buckets should enforce encryption of data over the network (as it travels to and from Amazon S3) using Secure Sockets Layer (SSL).Risk Level
CriticalAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- AWS Startup Security Baseline
- AWS Well Architected Framework
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS AWS
- CIS Critical Security Controls v8
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- Cloudanix Best Practice
- DPDPA
- Digital Operational Resilience Act (EU)
- GDPR
- HIPAA
- HITRUST CSF
- ISO 27001
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIS2 Directive
- NIST
- NIST CSF
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- PCI
- Reserve Bank of India (RBI) Cyber Security Framework
- Reserve Bank of India (RBI) Master Direction – Information Technology Framework
- SOC2
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Using Console
Using Console
- Open the AWS S3 Console.
- Navigate to the specific S3 bucket for which you want to enforce secure transport.
- Click on the “Permissions” tab.
- Scroll down to the “Bucket policy” section.
- Edit the bucket policy to enforce the use of HTTPS.
YOUR_BUCKET_NAME with the name of your S3 bucket.Using CLI
Using CLI
YOUR_BUCKET_NAME with the name of your S3 bucket.Using Python
Using Python
YOUR_BUCKET_NAME, YOUR_ACCESS_KEY, YOUR_SECRET_KEY, and update the region with your desired region in the Python script. Run the script, and it will enforce the use of HTTPS for the specified S3 bucket. Make sure to install the boto3 library if you haven’t already:Using Terraform
Using Terraform
put-bucket-policy call; it updates the existing policy in place (no bucket replacement), but it will overwrite any previous policy unless you merge other required statements into the aws_iam_policy_document.Verification: terraform plan should show an aws_s3_bucket_policy resource being created or updated with a Deny statement on s3:* for the bucket and all objects when aws:SecureTransport is false.
