PostgreSQL must require users to reauthenticate when organization-defined circumstances or situations require reauthentication.

From PostgreSQL 9.x Security Technical Implementation Guide

Part of SRG-APP-000389-DB-000372

Associated with: CCI-002038

SV-87679r1_rule PostgreSQL must require users to reauthenticate when organization-defined circumstances or situations require reauthentication.

Vulnerability discussion

The DoD standard for authentication of an interactive user is the presentation of a Common Access Card (CAC) or other physical token bearing a valid, current, DoD-issued Public Key Infrastructure (PKI) certificate, coupled with a Personal Identification Number (PIN) to be entered by the user at the beginning of each session and whenever reauthentication is required.Without reauthentication, users may access resources or perform tasks for which they do not have authorization.When applications provide the capability to change security roles or escalate the functional capability of the application, it is critical the user re-authenticate.In addition to the reauthentication requirements associated with session locks, organizations may require reauthentication of individuals and/or devices in other situations, including (but not limited to) the following circumstances:(i) When authenticators change;(ii) When roles change;(iii) When security categorized information systems change;(iv) When the execution of privileged functions occurs;(v) After a fixed period of time; or(vi) Periodically.Within the DoD, the minimum circumstances requiring reauthentication are privilege escalation and role changes.

Check content

Determine all situations where a user must re-authenticate. Check if the mechanisms that handle such situations use the following SQL: To make a single user re-authenticate, the following must be present: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE user='' To make all users re-authenticate, run the following: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE user LIKE '%' If the provided SQL does not force re-authentication, this is a finding.

Fix text

Modify and/or configure PostgreSQL and related applications and tools so that users are always required to reauthenticate when changing role or escalating privileges. To make a single user re-authenticate, the following must be present: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE user='' To make all users re-authenticate, the following must be present: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE user LIKE '%'

Pro Tips

Lavender hyperlinks in small type off to the right (of CSS class id, if you view the page source) point to globally unique URIs for each document and item. Copy the link location and paste anywhere you need to talk unambiguously about these things.

You can obtain data about documents and items in other formats. Simply provide an HTTP header Accept: text/turtle or Accept: application/rdf+xml.

Powered by sagemincer