Information
Enterprise environments make account management for applications and databases challenging and complex. A manual process for account management functions adds the risk of a potential oversight or other error. Managing accounts for the same person in multiple places is inefficient and prone to problems with consistency and synchronization.
A comprehensive application account management process that includes automation helps to ensure that accounts designated as requiring attention are consistently and promptly addressed.
Examples include, but are not limited to, using automation to take action on multiple accounts designated as inactive, suspended, or terminated, or by disabling accounts located in noncentralized account stores, such as multiple servers. Account management functions can also include: assignment of group or role membership; identifying account type; specifying user access authorizations (i.e., privileges); account removal, update, or termination; and administrative alerts. The use of automated mechanisms can include, for example: using email or text messaging to notify account managers when users are terminated or transferred; using the information system to monitor account usage; and using automated telephone notification to report atypical system account usage.
The DBMS must be configured to automatically use organization-level account management functions, and these functions must immediately enforce the organization's current account policy.
Automation may comprise differing technologies that when placed together contain an overall mechanism supporting an organization's automated account management requirements.
NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance.
Solution
Identify any user that is using 'trust', 'md5', or 'password' as allowable access methods.
> cat <path-to-PGDATA-directory>/pg_hba.conf | egrep -I 'trust|md5|password'| grep -v '^#'
NOTE: A command line text editor such as VIM or EMACS can also be used such as VIM or EMACS to search for 'MD5'.
The default path for PGDATA is /var/lib/edb/as<version>/data, but this will vary according to local circumstances.
Document any rows that have 'trust', 'md5', or 'password' specified for the 'METHOD' column and obtain appropriate approval for each user specified in the 'USER' column (i.e., all DBMS managed accounts).
For any users that are not documented and approved as DBMS managed accounts, change the 'METHOD' column to one of the externally managed (not 'trust', 'md5', or 'password') options defined here: https://www.postgresql.org/docs/current/auth-methods.html
Use a command line text editor such as VIM or EMACS to make changes. Example: > vim <path-to-PGDATA-directory>/pg_hba.conf