Cloud Defense Logo

Products

Solutions

Company

Book A Live Demo

Rule: S3 Buckets Should Enforce SSL

This rule requires S3 buckets to enforce SSL for secure data transmission.

RuleS3 buckets should enforce SSL
FrameworkNIST 800-53 Revision 5
Severity
Medium

Rule Description:

S3 buckets should enforce SSL to meet the security requirements outlined in NIST 800-53 Revision 5. This rule ensures that all communications with the S3 buckets are encrypted using the SSL/TLS protocol, preventing unauthorized access to the data stored within the buckets.

Enforcing SSL for S3 buckets helps protect sensitive information, maintains the integrity of data transfers, and ensures compliance with security standards.

Troubleshooting Steps:

  1. 1.

    Check Bucket Configuration: Ensure that the S3 bucket in question has SSL enforced as a part of its configuration.

  2. 2.

    Verify SSL Certificate: Confirm that the SSL certificate being used by S3 is valid and up to date.

  3. 3.

    Check S3 Bucket Policy: Review the bucket policy to ensure that it doesn't allow insecure communication or neglects SSL encryption.

  4. 4.

    Test Communications: Perform tests to verify that SSL is being enforced by attempting to access the bucket over non-encrypted connections.

  5. 5.

    Review Error Logs: Examine S3 access logs and error logs to spot any potential issues related to SSL enforcement.

Necessary Code (if applicable):

N/A

Step-by-Step Guide for Remediation:

  1. 1.

    Access the AWS Management Console and navigate to the S3 service.

  2. 2.

    Locate the S3 bucket for which you want to enforce SSL and select it.

  3. 3.

    In the bucket properties, click on the "Permissions" tab.

  4. 4.

    Scroll down to the "Block Public Access" section and click on "Edit".

  5. 5.

    Ensure that the "Block all public access" option is selected to prevent unauthorized access.

  6. 6.

    Now, navigate to the "Bucket Policy" tab, click on "Edit".

  7. 7.

    Modify the bucket policy to explicitly deny any requests that don't use SSL encryption.

    Example Bucket Policy (sample-role-arn and sample-bucket-name need to be replaced with actual values):

    {
        "Id": "Policyid1",
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "DenyUnencryptedInboundTraffic",
                "Effect": "Deny",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::sample-bucket-name/*",
                "Condition": {
                    "Bool": {
                        "aws:SecureTransport": "false"
                    }
                }
            }
        ]
    }
    
  8. 8.

    Save the bucket policy changes.

  9. 9.

    Double-check that the SSL certificate used by S3 is valid and up to date.

  10. 10.

    Test the bucket accessibility over non-encrypted connections to ensure that SSL is being enforced properly.

By following these steps, SSL enforcement can be implemented for the S3 bucket, meeting the security requirements defined by NIST 800-53 Revision 5.

Is your System Free of Underlying Vulnerabilities?
Find Out Now