turbot/tailpipe-mod-aws-cloudtrail-log-detections

Detection: RDS DB Instance Restored from Public Snapshot

Overview

Detect when an Amazon RDS database was restored with public accessibility enabled. Restoring databases with public access exposes them to the internet, increasing the risk of unauthorized access, data breaches, and exploitation. Ensuring databases are restored with public access disabled protects data confidentiality and reduces the attack surface.

References:

Usage

Run the detection in your terminal:

powerpipe detection run aws_cloudtrail_log_detections.detection.rds_db_instance_restored_from_public_snapshot

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe detection run aws_cloudtrail_log_detections.detection.rds_db_instance_restored_from_public_snapshot --share

SQL

This detection uses a named query:

select
tp_timestamp as timestamp,
string_split(event_source, '.')[1] || ':' || event_name as operation,
request_parameters ->> 'dBInstanceIdentifier' as resource,
user_identity.arn as actor,
tp_source_ip as source_ip,
tp_index as account_id,
aws_region as region,
tp_id as source_id,
*
from
aws_cloudtrail_log
where
event_source = 'rds.amazonaws.com'
and event_name = 'RestoreDBInstanceFromDBSnapshot'
and (request_parameters -> 'publiclyAccessible') = true
and error_code is null
order by
event_time desc;

Tags