Rule ID
SV-286172r1292133_rule
Version
V1R1
CCIs
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 act 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. MariaDB 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.
Verify MariaDB is integrated with an organization-level authentication/access mechanism. As the OS administrator, review the configuration files "/etc/pam.d" and "/etc/pam.conf". If either file is missing or not configured, this is a finding. As the DBA (root), log in to the database (mariadb -u root -p). Use the result of the next query to verify the MariaDB Server is using certificates: SHOW PLUGINS; If PAM is not listed as active, this is a finding. Use results of next query to show PAM authentication for all users: SELECT user, host, plugin from mysql.user; If plugin is blank, this is a finding. If all accounts are authenticated by the organization-level authentication/access mechanism such as LDAP, Kerberos, Active Directory and not by MariaDB, this is not a finding. If there are any accounts managed by the DBMS, review the system documentation for justification and approval of these accounts. If any DBMS-managed accounts exist that are not documented and approved, this is a finding.
Integrate MariaDB security with an organization-level authentication/access mechanism providing account management for all users, groups, roles, and any other principals. As the DBA (root), install and configure the PAM authentication module. Log in to the database (mariadb -u root -p) and run: INSTALL SONAME 'auth_pam'; PAM supports many authentication methods including LDAP, Active Directory, and Kerberos. Each method must be configured properly in "/etc/pam.d" and "/etc/pam.conf". For each MariaDB-managed account that is not documented and approved, transfer it to management by the external mechanism or document its need for approval. ALTER USER username@host IDENTIFIED VIA pam USING method;