Back
🔒
Crunchy Data Postgres 16 STIG Compliance Checklist
Medium
21 items
·
4 hours
testuser
Published 4 weeks ago
This checklist distills the Crunchy Data Postgres 16 STIG into practical, actionable steps to harden Postgres 16 deployments. It’s for DBAs, security engineers, and administrators implementing DISA/STIG controls and tracking compliance.
Progress
0 / 21
- Download the official Crunchy Data Postgres 16 STIG — Get the XCCDF/STIG from DISA or Public Cyber.mil.
- Apply latest Postgres 16 patches and updates — Install vendor security updates for all Postgres 16 hosts.
- Implement host OS STIG controls on the database server — Apply RHEL/OS STIGs and network STIGs relevant to the host.
- Configure strong authentication and password policies — Enforce complexity, expiration, and lockout for DB accounts.
- Set password complexity and expiration — Require length, complexity, and periodic rotation.
- Enforce account lockout and password reuse controls — Configure lockout thresholds and prevent reuse of recent passwords.
- Restrict superuser and administrative access — Limit postgres/superuser roles to approved administrators.
- Audit and limit superuser login activity — Enable logging for superuser sessions and review privileges.
- Enable TLS for client-server connections — Require encrypted connections to protect data in transit.
- Install and manage valid server certificates; require SSL — Use CA-signed certs and enforce sslmode=require where applicable.
- Configure and enable database auditing and logging — Enable sufficient logging (connections, DDL, privileged actions).
- Set log retention, rotation, and secure log storage — Rotate logs and protect them from tampering or unauthorized access.
- Review audit logs regularly — Schedule periodic reviews for suspicious or privileged activity.
- Secure database data directory and config file permissions — Restrict filesystem ACLs to the DB service account only.
- Remove sample/demo databases and unused extensions — Drop example DBs and disable unneeded modules to reduce attack surface.
- Restrict network access to authorized hosts and ports — Use firewalls and ACLs to limit DB access to known clients.
- Implement role-based access control and least privilege — Define roles for app, admin, and read-only users; avoid shared accounts.
- Schedule regular backups and test restore procedures — Automate backups and perform restore drills to validate recoverability.
- Schedule regular vulnerability scans and remediate findings — Scan Postgres hosts and extensions; track and fix CVEs promptly.
- Integrate monitoring and alerting for suspicious activity — Alert on failed logins, priv escalation, schema changes, and high-risk events.
- Document exceptions and submit change requests to DISA — Record deviations and email DISA per STIG instructions when required.
Your Stats
🏆
0
Completed
📅
—
Last Done
⏱️
—
Last Time
Completion Rate
Items checked per run
⚡
—
Fastest Run
🔥
0
Streak
🚫
—
Most Skipped Step
🔄
0
Resets
📝 My Notes