Check: PGS9-00-000800
PostgreSQL 9.x STIG:
PGS9-00-000800
(in versions v2 r4 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 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", 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 "md5": $ sudo su - postgres $ vi ${PGDATA?}/pg_hba.conf host all all .example.com md5
Additional Identifiers
Rule ID: SV-214056r879609_rule
Vulnerability ID: V-214056
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 |