Check: EPAS-00-000800
EnterpriseDB Postgres Advanced Server (EPAS) STIG:
EPAS-00-000800
(in version v1 r1)
Title
The EDB Postgres Advanced Server must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies. (Cat I impact)
Discussion
Authentication with a DOD-approved PKI certificate does not necessarily imply authorization to access the DBMS. To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-approved PKIs, all DOD systems, including databases, must be properly configured to implement access control policies. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. Access control policies include identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system. This requirement is applicable to access control enforcement applications, a category that includes database management systems. If the DBMS does not follow applicable policy when approving access, it may be in conflict with networks or other applications in the information system. This may result in users either gaining or being denied access inappropriately and in conflict with applicable policy.
Check Content
Review the system security plan or equivalent documentation to determine the allowed permissions on database objects for each database role or user as well as the database authentication methods that are allowed for each role or user. If this documentation is missing, this is a finding. Review the permissions in place for the EDB Postgres Advanced Server. First, check the privileges of all users and roles in the database by running the following command as the "enterprisedb" user: > psql edb -c "\du" If any users or roles have privileges that exceed those that are documented, this is a finding. Next check the privileges that have been granted on the tables, views, and sequences in the database by running the following command as the "enterprisedb" operating system user: > psql edb -c "\dp" If the privileges assigned to these objects for any users or roles exceeds those that have been documented, this is a finding. Next, as the "enterprisedb" operating system user, run the following command to view the location of the pg_hba.conf file and review the authentication settings that are configured in that file. > psql edb -c "SHOW hba_file" > cat <output-path-to-file-from above> If any entries do not match the documented authentication requirements, this is a finding.
Fix Text
To determine current user access to database objects, run the following as the "enterprisedb" operating system user: > psql edb -c "SELECT grantee, privilege_type, table_name FROM information_schema.role_table_grants WHERE grantee='<username>'" Use GRANT, REVOKE, and ALTER statements to add and/or remove permissions on server-level securables, bringing them in line with the documented requirements.
Additional Identifiers
Rule ID: SV-259212r938689_rule
Vulnerability ID: V-259212
Group Title: SRG-APP-000033-DB-000084
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000213 |
The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. |
Controls
Number | Title |
---|---|
AC-3 |
Access Enforcement |