Skip to main content

Incident Response & Disaster Recovery

Overviewโ€‹

HIPAA requires documented procedures for security incident response (45 CFR ยง 164.308(a)(6)) and contingency planning (45 CFR ยง 164.308(a)(7)).


1. Roles and Responsibilitiesโ€‹

RoleResponsibility
HIPAA Privacy OfficerPHI use oversight, patient rights, breach notification
HIPAA Security OfficerTechnical safeguards, incident response lead
Cloud AdministratorGCP infrastructure response
Legal CounselBreach notification compliance, regulatory reporting

Fill in contact details before going live. Store in a location accessible without GCP (e.g., physical binder + encrypted offline document).


2. Incident Classificationโ€‹

SeverityDescriptionResponse Time
P1 โ€” CriticalActive breach, ongoing data exfiltration< 1 hour
P2 โ€” HighConfirmed PHI exposure, account compromise4 hours
P3 โ€” MediumSuspected breach, anomalous activity24 hours
P4 โ€” LowPolicy violations, near-misses72 hours

3. Incident Response Processโ€‹

Detect โ†’ Contain โ†’ Analyze โ†’ Eradicate โ†’ Recover โ†’ Document โ†’ Notify

Step 1 โ€” Detectโ€‹

# Query for anomalous DB access during investigation
gcloud logging read \
'protoPayload.authenticationInfo.principalEmail!="[email protected]"
AND resource.type="cloudsql_database"' \
--project=YOUR_PHI_PROJECT_ID --format=json

Step 2 โ€” Containโ€‹

# Revoke a compromised service account
gcloud iam service-accounts disable \
COMPROMISED_SA@YOUR_PROJECT_ID.iam.gserviceaccount.com \
--project=YOUR_PHI_PROJECT_ID

# Remove a user's IAM access
gcloud projects remove-iam-policy-binding YOUR_PHI_PROJECT_ID \
--member="user:[email protected]" --role="roles/ROLE_NAME"

# Block an IP via Cloud Armor
gcloud compute security-policies rules create 900 \
--security-policy=phi-waf-policy \
--expression="inIpRange(origin.ip, 'ATTACKER_IP/32')" \
--action=deny-403 --project=YOUR_PHI_PROJECT_ID

Step 3 โ€” Analyzeโ€‹

# Export audit logs for the incident time window
gcloud logging read \
"timestamp >= \"2026-02-20T00:00:00Z\" AND timestamp <= \"2026-02-20T23:59:59Z\"" \
--project=YOUR_PHI_PROJECT_ID --format=json > incident_logs.json

Step 5 โ€” Recoverโ€‹

# List available backups
gcloud sql backups list --instance=phi-db-instance --project=YOUR_PHI_PROJECT_ID

# Restore from backup
gcloud sql instances restore-backup phi-db-instance \
--backup-id=BACKUP_ID \
--restore-instance=phi-db-restore \
--project=YOUR_PHI_PROJECT_ID

4. HIPAA Breach Notification Requirementsโ€‹

Notification Timelineโ€‹

NotificationRecipientDeadline
Internal escalationPrivacy Officer, Security OfficerImmediately
Affected individualsPatients whose PHI was breachedWithin 60 days
Secretary of HHS (< 500 affected)HHS.gov portalWithin 60 days after year end
Secretary of HHS (โ‰ฅ 500 affected)HHS.gov portalWithin 60 days of discovery
Media notice (โ‰ฅ 500 in a state)Prominent media outletWithin 60 days

Required Notification Contentโ€‹

  • Brief description of the breach
  • Types of PHI involved
  • Steps individuals can take to protect themselves
  • What you are doing to investigate, mitigate, and prevent recurrence
  • Contact information

HHS Reporting Portal: https://ocrportal.hhs.gov/ocr/breach/wizard.jsf


5. Disaster Recovery Planโ€‹

Recovery Objectivesโ€‹

MetricTarget
RTO (Recovery Time Objective)4 hours
RPO (Recovery Point Objective)1 hour

Backup Architectureโ€‹

Primary Region (us-central1)
โ”œโ”€โ”€ Cloud SQL (PRIMARY)
โ”‚ โ”œโ”€โ”€ Automated daily backup โ†’ Cloud Storage
โ”‚ โ””โ”€โ”€ PITR: 7-day transaction log window
โ”‚
โ””โ”€โ”€ Redis (STANDARD_HA)
โ””โ”€โ”€ Automatic failover to standby replica

DR Runbook โ€” Cloud SQL Failureโ€‹

# 1. Check instance state
gcloud sql instances describe phi-db-instance \
--format="value(state)" --project=YOUR_PHI_PROJECT_ID

# 2. List backups
gcloud sql backups list --instance=phi-db-instance --project=YOUR_PHI_PROJECT_ID

# 3. Restore
gcloud sql instances restore-backup phi-db-instance \
--backup-id=LATEST_BACKUP_ID \
--restore-instance=phi-db-recovery --project=YOUR_PHI_PROJECT_ID

DR Test Scheduleโ€‹

Test TypeFrequency
Backup restore (Cloud SQL)Quarterly
Redis failover testSemi-annually
Full DR tabletop exerciseAnnually
Full DR live failoverAnnually

Next: Risk Assessment โ†’