SV-235147r638812_rule
V-235147
SRG-APP-000148-DB-000103
MYS8-00-006100
CAT II
10
Configure MySQL Database Server 8.0 settings to uniquely identify and authenticate all organizational users who log on/connect to the system.
Remove user-accessible shared accounts and use individual user names.
Configure applications to ensure successful individual authentication prior to shared account access.
Ensure each user's identity is received and used in audit data in all relevant circumstances.
Install appropriate auth plugin, for example LDAP.
INSTALL PLUGIN authentication_ldap_sasl
SONAME 'authentication_ldap_sasl.so';
INSTALL PLUGIN authentication_ldap_simple
SONAME 'authentication_ldap_simple.so';
Configure
SET PERSIST authentication_ldap_sasl_server_host='127.0.0.1';
SET PERSIST authentication_ldap_sasl_bind_base_dn='dc=example,dc=com';
SET PERSIST authentication_ldap_simple_server_host='127.0.0.1';
SET PERSIST authentication_ldap_simple_bind_base_dn='dc=example,dc=com';
Create users with proper organizational mapping, for example:
CREATE USER 'betsy'@'localhost'
IDENTIFIED WITH authentication_ldap_simple
BY 'uid=betsy_ldap,ou=People,dc=example,dc=com';
Assign appropriate roles and grants.
Review MySQL Database Server 8.0 settings to determine whether organizational users are uniquely identified and authenticated when logging on/connecting to the system.
Using SQL, search for external authentication plugins:
SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE '%ldap%' OR PLUGIN_NAME LIKE '%ldap%' OR PLUGIN_NAME LIKE '%pam%';
This listing will show what is enabled.
In addition to MySQL password-based internal accounts, there is also support for external accounts:
Linux PAM (Pluggable Authentication Modules)
Windows Active Directory (only for Windows MySQL servers)
Native LDAP
auth_socket
Review the configuration of the plugin; for link of accounts and permissions to organizational level, run this SQL:
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM performance_schema.global_variables
WHERE VARIABLE_NAME LIKE 'auth%' ;
This will show external configuration setup for authentication using an organizational authentication source.
Review users using organizational authentication. Review the "authentication_string" for proper mapping:
SELECT `user`.`Host`,
`user`.`user`,
`user`.`plugin`,
`user`.`authentication_string`
from mysql.user where plugin like 'auth%';
If organizational users are not uniquely identified and authenticated, this is a finding.
If accounts are determined to be shared, determine if they are directly accessible to end users. If so, this is a finding.
V-235147
False
MYS8-00-006100
Review MySQL Database Server 8.0 settings to determine whether organizational users are uniquely identified and authenticated when logging on/connecting to the system.
Using SQL, search for external authentication plugins:
SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE '%ldap%' OR PLUGIN_NAME LIKE '%ldap%' OR PLUGIN_NAME LIKE '%pam%';
This listing will show what is enabled.
In addition to MySQL password-based internal accounts, there is also support for external accounts:
Linux PAM (Pluggable Authentication Modules)
Windows Active Directory (only for Windows MySQL servers)
Native LDAP
auth_socket
Review the configuration of the plugin; for link of accounts and permissions to organizational level, run this SQL:
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM performance_schema.global_variables
WHERE VARIABLE_NAME LIKE 'auth%' ;
This will show external configuration setup for authentication using an organizational authentication source.
Review users using organizational authentication. Review the "authentication_string" for proper mapping:
SELECT `user`.`Host`,
`user`.`user`,
`user`.`plugin`,
`user`.`authentication_string`
from mysql.user where plugin like 'auth%';
If organizational users are not uniquely identified and authenticated, this is a finding.
If accounts are determined to be shared, determine if they are directly accessible to end users. If so, this is a finding.
M
5277