Interpretación de las nuevas características | Autenticación multifactor MySQL 8.0

MySQL 8.0.27 agrega la función de autenticación multifactor (MFA), que puede especificar múltiples verificaciones de identidad para un usuario. También se ha introducido una nueva variable del sistema authentic_policy para gestionar la funcionalidad de autenticación multifactor.

Sabemos que antes de MySQL 8.0.27, se podía especificar un complemento de autenticación al crear un usuario. Si no se especifica explícitamente, se tomará el valor de la variable del sistema default_authentication_plugin. Hay tres valores válidos para default_authentication_plugin, a saber, mysql_native_password, sha256_password, caching_sha2_password. Estos tres complementos de autenticación son complementos integrados que no requieren pasos de registro.

En MySQL 8.0.27, authentication_policy administra la autenticación del usuario. Primero inicie mysql.

Verifique los valores de authentic_policy y default_authentication_plugin al mismo tiempo. Veamos El valor predeterminado de authentic_policy es *,,

El valor del primer elemento es un asterisco (), lo que significa que puede ser cualquier complemento. El valor predeterminado es el valor de default_authentication_plugin. Si el valor del elemento no es un asterisco (), se debe establecer en uno de mysql_native_password, sha256_password, caching_sha2_password.

Los valores del segundo y tercer elemento están vacíos. Estas dos ubicaciones no se pueden configurar como complementos almacenados internamente. Si el valor del elemento está vacío, significa que el complemento es opcional.

Cree un usuario y eche un vistazo. Cuando no se especifica el nombre del complemento, se utilizará automáticamente el caching_sha2_password del complemento predeterminado.

Cuando se especifica el nombre del complemento. especificado, se utilizará el complemento correspondiente

Intente cambiar el valor del primer elemento de authentic_policy y configúrelo en sha256_password

Cree un usuario nuevamente sin especificar el nombre del. plug-in.

Puede ver que el complemento predeterminado es sha256_password, lo que indica que cuando authentic_policy Cuando el primer elemento especifica el nombre del complemento, default_authentication_plugin está en desuso.

Primero restauramos authentic_policy al valor predeterminado

Crea un usuario de autenticación de dos factores. La siguiente creación falló porque no se pueden usar dos complementos de almacenamiento interno al mismo tiempo.

Luego instalemos un complemento enchufable Socket Peer-Credential

Cree un usuario de autenticación de dos factores

La creación se realizó correctamente y luego el usuario ' wei4'@ 'localhost' debe proporcionar la contraseña correcta y, al mismo tiempo, el usuario de inicio de sesión del host local es root, se pasará la verificación.

Probémoslo. Como usuario raíz del host, proporcione la contraseña correcta 123 e inicie sesión correctamente.

Modifíquelo y cambie el usuario de inicio de sesión del host requerido por 'wei4'@'localhost' a wei4

Una vez más, como usuario raíz del host, proporcione la contraseña correcta 123, la contraseña falló

p>

Por lo tanto, se puede concluir que el mecanismo de autenticación de dos factores es efectivo. MySQL 8.0.27 puede configurar la autenticación de tres factores para un usuario, lo que no se mostrará aquí.

Para resumir brevemente, la autenticación de contraseña existente es muy adecuada para el acceso a sitios web o aplicaciones, pero puede no ser lo suficientemente segura en determinadas circunstancias, como en las transacciones financieras en línea. La introducción de la función de autenticación multifactor (MFA) puede mejorar hasta cierto punto la seguridad del sistema de base de datos.

/doc/refman/8.0/en/server-system-variables.html#sysvar_authentication_policy