π AWS RDS Snapshot is publicly accessible π’
- Contextual name: π Snapshot is publicly accessible π’
- ID:
/ce/ca/aws/rds/snapshot-publicly-accessible
- Located in: π AWS RDS
Flagsβ
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
Our Metadataβ
- Policy Type:
COMPLIANCE_POLICY
- Policy Category:
SECURITY
Similar Policiesβ
- AWS Security Hub
- [[RDS.1] RDS snapshot should be private]([RDS.1] RDS snapshot should be private (https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html#rds-1)]
- Cloud Conformity
- Internal
dec-x-b3342905
Similar Internal Rulesβ
Rule | Policies | Flags |
---|---|---|
βοΈ dec-x-b3342905 | 1 |
Logicβ
- π§ prod.logic.yaml π’
Descriptionβ
Descriptionβ
Ensure that your AWS Relational Database Service (RDS) database snapshots are not publicly accessible (i.e., shared with all AWS accounts and users) to protect your private data.
Rationaleβ
RDS snapshots contain both the data and configurations of your database instances. If these snapshots are publicly accessible, unauthorized users can access sensitive information, leading to data breaches and other security issues. Keeping RDS snapshots private helps maintain the confidentiality and integrity of your data.
Publicly sharing an AWS RDS database snapshot grants another AWS account permission to copy the snapshot and create database instances from it. It is strongly recommended not to share your database snapshots with all AWS accounts. If necessary, you can share your RDS snapshots with specific AWS accounts without making them public.
Auditβ
This policy marks an AWS RDS snapshot as
INCOMPLIANT
if the snapshot type ispublic
or if the snapshot'srestore
attribute is set toall
.An AWS RDS snapshot is marked as
INAPPLICABLE
when:... see more
Remediationβ
Remediationβ
Case A: Make a snapshot private (accessible only by a current AWS Account)β
From Consoleβ
- Log in to the AWS management console and navigate to the RDS dashboard at https://console.aws.amazon.com/rds/.
- In the left navigation panel, click on
Snapshots
.- Select
Manual Snapshots
from the Filter dropdown menu to display only manual database snapshots.- Select the RDS snapshot that you want to make private.
- Click
Snapshot Actions
button from the dashboard top menu and selectShare Snapshot
option.- On the
Manage Snapshot Permissions
page, selectPrivate
next to DB Snapshot Visibility to make the selected snapshot accessible only from the current AWS account. ClickSave
to apply the changes.- Repeat steps no. 5 β 7 to restrict public access to other RDS database snapshots created within the current region.
- Change the AWS region from the navigation bar and repeat the audit process for other regions.
From Command Lineβ
- Run
modify-db-snapshot-attribute
command (OSX/Linux/UNIX) using the snapshot name as--db-snapshot-identifier
to remove the permissions for restoring database instances from the selected snapshot and make it private:... see more
policy.yamlβ
Linked Framework Sectionsβ
Section | Sub Sections | Internal Rules | Policies | Flags |
---|---|---|---|---|
πΌ AWS Foundational Security Best Practices v1.0.0 β πΌ [RDS.1] RDS snapshot should be private | 1 | 1 | ||
πΌ Cloudaware Framework β πΌ Public and Anonymous Access | 69 | |||
πΌ FedRAMP High Security Controls β πΌ AC-3 Access Enforcement (L)(M)(H) | 35 | 46 | ||
πΌ FedRAMP High Security Controls β πΌ AC-4 Information Flow Enforcement (M)(H) | 2 | 31 | 64 | |
πΌ FedRAMP High Security Controls β πΌ AC-4(21) Physical or Logical Separation of Information Flows (M)(H) | 11 | 38 | ||
πΌ FedRAMP High Security Controls β πΌ AC-6 Least Privilege (M)(H) | 8 | 11 | 33 | |
πΌ FedRAMP High Security Controls β πΌ AC-21 Information Sharing (M)(H) | 2 | |||