Check: CD16-00-004200
Crunchy Data Postgres 16 STIG:
CD16-00-004200
(in version v1 r1)
Title
PostgreSQL must map the PKI-authenticated identity to an associated user account. (Cat II impact)
Discussion
The DOD standard for authentication is DOD-approved PKI certificates. Once a PKI certificate has been validated, it must be mapped to a PostgreSQL user account for the authenticated identity to be meaningful to PostgreSQL and useful for authorization decisions.
Check Content
The Common Name (cn) attribute of the certificate will be compared to the requested database username and, if they match, the login will be allowed. To check the cn of the certificate, using openssl, do the following: $ openssl x509 -noout -subject -in /path/to/your/client_cert.file If the cn does not match the users listed in PostgreSQL and no user mapping is used, this is a finding. User name mapping can be used to allow cn to be different from the database username. If User Name Maps are used, run the following as the database administrator (shown here as "postgres"), to get a list of maps used for authentication: $ sudo su - postgres $ grep "map" ${PGDATA?}/pg_hba.conf With the names of the maps used, check those maps against the username mappings in pg_ident.conf: $ sudo su - postgres $ cat ${PGDATA?}/pg_ident.conf If user accounts are not being mapped to authenticated identities, this is a finding. If the cn and the username mapping do not match, this is a finding.
Fix Text
Configure PostgreSQL to map authenticated identities directly to PostgreSQL user accounts. For information on configuring PostgreSQL to use SSL, refer to supplementary content APPENDIX-G.
Additional Identifiers
Rule ID: SV-261895r1000690_rule
Vulnerability ID: V-261895
Group Title: SRG-APP-000177-DB-000069
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000187 |
For public key-based authentication, map the authenticated identity to the account of the individual or group. |
Controls
Number | Title |
---|---|
IA-5(2) |
Pki-based Authentication |