Check: CD12-00-000800
Crunchy Data PostgreSQL STIG:
CD12-00-000800
(in versions v2 r2 through v1 r1)
Title
If passwords are used for authentication, PostgreSQL must transmit only encrypted representations of passwords. (Cat I impact)
Discussion
The DoD standard for authentication is DoD-approved PKI certificates. Authentication based on User ID and Password may be used only when it is not possible to employ a PKI certificate, and requires Authorizing Official (AO) approval. In such cases, passwords need to be protected at all times, and encryption is the standard method for protecting passwords during transmission. PostgreSQL passwords sent in clear text format across the network are vulnerable to discovery by unauthorized users. Disclosure of passwords may easily lead to unauthorized access to the database.
Check Content
Note: The following instructions use the PGDATA environment variable. See supplementary content APPENDIX-F for instructions on configuring PGDATA. As the database administrator (shown here as "postgres"), review the authentication entries in pg_hba.conf: $ sudo su - postgres $ cat ${PGDATA?}/pg_hba.conf If any entries use the auth_method (last column in records) "password" or "md5", this is a finding.
Fix Text
Note: The following instructions use the PGDATA environment variable. See supplementary content APPENDIX-F for instructions on configuring PGDATA. As the database administrator (shown here as "postgres"), edit pg_hba.conf authentication file and change all entries of "password" to "scram-sha-256": $ sudo su - postgres $ vi ${PGDATA?}/pg_hba.conf host all all .example.com scram-sha-256
Additional Identifiers
Rule ID: SV-233519r879609_rule
Vulnerability ID: V-233519
Group Title: SRG-APP-000172-DB-000075
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000197 |
The information system, for password-based authentication, transmits only cryptographically-protected passwords. |
Controls
Number | Title |
---|---|
IA-5 (1) |
Password-Based Authentication |