Skip to content

RDS / Aurora — Drift Coverage

Supported CloudTrail Events

Event Description Status
CreateDBInstance DB instance created ✔
DeleteDBInstance DB instance deleted ✔
ModifyDBInstance Instance config updated ✔
CreateDBCluster Aurora cluster created ✔
DeleteDBCluster Aurora cluster deleted ✔
ModifyDBCluster Cluster config updated ✔
AddTagsToResource Tags added/updated ✔
RemoveTagsFromResource Tags removed ✔
DeleteDBSnapshot Snapshot deleted ✔
ModifyDBParameterGroup Parameter group updated ✔
ModifyDBSubnetGroup Subnet group modified ✔

Monitored Drift Attributes

DB Instance

  • instance_class (e.g., db.t3.micro → db.t3.small)
  • allocated_storage
  • engine_version
  • storage_encrypted
  • deletion_protection
  • multi_az
  • monitoring_interval
  • backup_retention_period
  • backup_window
  • maintenance_window
  • publicly_accessible
  • iam_database_authentication_enabled

DB Cluster (Aurora)

  • engine_version
  • storage_encrypted
  • kms_key_id
  • preferred_backup_window
  • preferred_maintenance_window
  • backup_retention_period
  • deletion_protection
  • enable_http_endpoint (Aurora Serverless)

Parameter Groups

  • parameter values (configuration drift)

Falco Rule Examples

rule: rds_instance_modified
condition:
  cloud.service = "rds" and evt.name = "ModifyDBInstance"
output: "RDS Instance Modified (instance=%resource changes=%drift.changes user=%user)"
priority: warning

rule: rds_deletion_protection_disabled
condition:
  cloud.service = "rds" and evt.name in ("ModifyDBInstance","ModifyDBCluster") and
  drift.changes.deletion_protection = false
output: "RDS Deletion Protection Disabled (resource=%resource user=%user)"
priority: critical

Example Log Output

{
  "service": "rds",
  "event": "ModifyDBInstance",
  "resource": "db-instance-1",
  "changes": {
    "engine_version": ["14.6", "14.7"],
    "multi_az": [false, true],
    "backup_retention_period": [7, 14]
  },
  "user": "admin@example.com",
  "timestamp": "2025-12-06T07:30:00Z"
}

Grafana Dashboard Examples

Metrics

  • RDS instance class changes
  • Storage scaling events
  • Engine version upgrades
  • Multi-AZ configuration changes

Alerts

  • Unplanned deletion protection removal
  • Encryption disabled
  • Public accessibility enabled
  • Backup retention reduced

Known Limitations

  • Cross-region replication may have CloudTrail delay (eventual consistency)
  • Aurora Serverless v2 auto-scaling not tracked in real-time (AWS limitation)
  • RDS Proxy drift tracked separately (v0.3.0 planned)
  • Performance Insights configuration changes partial
  • Blue/Green deployment drift not fully supported yet

Security Considerations

RDS drift detection is critical for data security: - Encryption removal → compliance violation - Public accessibility → data exposure risk - Deletion protection → accidental data loss prevention - Backup retention → disaster recovery capability

Recommendation: Set critical priority for encryption and deletion protection rules.

Release History

  • v0.2.0-beta: Base RDS/Aurora coverage (11 events)
  • v0.3.0 (planned): RDS Proxy, Performance Insights, Aurora Global Database