Check: EPAS-00-007300
EnterpriseDB Postgres Advanced Server (EPAS) STIG:
EPAS-00-007300
(in version v1 r1)
Title
The EDB Postgres Advanced Server must enforce discretionary access control policies, as defined by the data owner, over defined subjects and objects. (Cat II impact)
Discussion
Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects, and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled table permissions. When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control (MAC) policies is still able to operate under the less rigorous constraints of this requirement. Thus, while MAC imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside of the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control.
Check Content
Review system documentation to identify the required DAC for the database. Review the security configuration of the database and the EDB Postgres Advanced Server. If applicable, review the security configuration of the application(s) using the database. If the DAC defined in the documentation is not implemented in the security configuration, this is a finding. If any database objects are found to be owned by users not authorized to own database objects, this is a finding. To check the ownership of objects in the database, as the "enterprisedb" user, run the following the operating system command line: psql <database_name> From the psql prompt: \dn *.* \dt *.* \ds *.* \dv *.* \x (turns on expanded view for easier viewing) \df+ *.* If any role or user is granted privileges to unauthorized objects, this is a finding.
Fix Text
Revoke any unauthorized user/role object privileges found. Example: > psql -c "REVOKE SELECT ON TABLE <schema.table_name> from <user or role name>"
Additional Identifiers
Rule ID: SV-259272r938869_rule
Vulnerability ID: V-259272
Group Title: SRG-APP-000328-DB-000301
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-002165 |
The information system enforces organization-defined discretionary access control policies over defined subjects and objects. |
Controls
Number | Title |
---|---|
AC-3 (4) |
Discretionary Access Control |