Detection rules › Panther

GCP SQL Config Changes

Severity
low
Group by
resource.labels.project_id
Compliance
CIS 2.11
Log types
GCP.AuditLog
Tags
GCP, Database
Reference
https://cloud.google.com/sql/docs/mysql/instance-settings
Source
github.com/panther-labs/panther-analysis

Monitoring changes to Sql Instance configuration may reduce time to detect and correct misconfigurations done on sql server.

Rule body yaml

AnalysisType: rule
Filename: gcp_sql_config_changes.py
RuleID: "GCP.SQL.ConfigChanges"
DisplayName: "GCP SQL Config Changes"
Enabled: true
DedupPeriodMinutes: 720 # 12 hours
LogTypes:
  - GCP.AuditLog
Tags:
  - GCP
  - Database
Reports:
  CIS:
    - 2.11
Severity: Low
Description: >
  Monitoring changes to Sql Instance configuration may reduce time to detect and correct misconfigurations done on sql server.
Runbook: Validate the Sql Instance configuration change was safe
Reference: https://cloud.google.com/sql/docs/mysql/instance-settings
SummaryAttributes:
  - severity
  - p_any_ip_addresses
  - p_any_domain_names
Tests:
  - Name: Sql Instance Change
    ExpectedResult: true
    Log:
      {
        "protoPayload":
          {
            "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
            "status": {},
            "authenticationInfo": { "principalEmail": "user@runpanther.io" },
            "requestMetadata":
              {
                "callerIp": "136.24.229.58",
                "callerSuppliedUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36,gzip(gfe)",
                "requestAttributes":
                  { "time": "2020-05-15T04:28:42.243082428Z", "auth": {} },
                "destinationAttributes": {},
              },
            "serviceName": "storage.googleapis.com",
            "methodName": "cloudsql.instances.update",
          },
        "resource":
          {
            "type": "sql_instance",
            "labels":
              {
                "project_id": "western-verve-123456",
                "location": "asia-northeast2",
              },
          },
      }

Detection logic

Condition

protoPayload.methodName eq "cloudsql.instances.update"

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
protoPayload.methodNameeq
  • cloudsql.instances.update