STIGhubSTIGhub
STIGsRMF ControlsCompare

STIGhub

A free tool to search and browse the entire DISA STIG library. Saves up to 75% in security compliance research time.

Navigation

  • Browse STIGs
  • Search
  • RMF Controls
  • Compare Versions

Resources

  • About
  • Release Notes
  • VPAT
  • DISA STIG Library
STIGs updated 4 hours ago
Powered by Pylon
© 2026 Beacon Cloud Solutions, Inc. All rights reserved.
← Back to EDB Postgres Advanced Server v11 on Windows Security Technical Implementation Guide

V-224167

CAT I (High)

If passwords are used for authentication, the EDB Postgres Advanced Server must store only hashed, salted representations of passwords.

Rule ID

SV-224167r981949_rule

STIG

EDB Postgres Advanced Server v11 on Windows Security Technical Implementation Guide

Version

V2R4

CCIs

CCI-000196

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, database passwords stored in clear text, using reversible encryption, or using unsalted hashes would be vulnerable to unauthorized disclosure. Database passwords must always be in the form of one-way, salted hashes when stored internally or externally to the DBMS. In Postgres, encrypted passwords may be generated and stored using either MD5 or SRAM-SHA-256 encryption algorithms. The Postgres password_encryption parameter identifies which algorithm is being used by the Postgres cluster (i.e., instance). In general, MD5 is not approved for use within DoD systems. However, SCRAM-SHA-256 is approved for use within the DoD.

Check Content

Execute the following SQL as enterprisedb:

 SHOW password_encryption;

If the value returned for the password_encryption parameter is not "scram-sha-256", this is a finding unless otherwise documented as approved for the system.

Fix Text

Execute the following SQL as enterprisedb:

 ALTER SYSTEM SET password_encryption = "scram-sha-256";
 SELECT pg_reload_conf();