MariaDB:默认密码验证不够好?

MariaDB:默认密码验证不够好?

我已经研究了几个小时的“最佳实践”,即使用密码验证而不是auth_socket/为 mysql 数据库创建第二个帐户unix_socket

通过本指南创建新用户 mariadb 的最安全和永久的解决方案,身份验证不使用插件。在其他指南中,人们将添加mysql_native_password为插件(例如这里)。

然而,通过 mariadb有关 mysql_native_password 的文档,他们建议使用ed25519插件相反。我在网上没有看到任何关于如何使用这个和 mariadb 的指南。

现在,应该使用哪种身份验证方法/插件,以及和之间有什么大的no plugin区别ed25519

答案1

根据你的ed25519插件关联:

自 4.1 版以来,MySQL 一直使用基于 SHA-1 的身份验证。自 MariaDB 5.2 以来,此身份验证插件被称为 mysql_native_password。多年来,随着计算机速度的提高,针对 SHA-1 的新攻击层出不穷。如今,SHA-1 不再像 2001 年那样安全。这就是创建 ed25519 身份验证插件的原因。

ed25519 身份验证插件使用椭圆曲线数字签名算法来安全地存储用户的密码并验证用户身份。ed25519 算法与 OpenSSH 使用的算法相同。它基于 Daniel J. Bernstein 创建的椭圆曲线和代码。

如果您担心安全性,我会遵循 MariaDB 最佳实践并使用 ed25519 插件。

默认情况下,无需任何插件,玛利亚布使用sha1(sha1("password")),实际上SHA1(UNHEX(SHA1("this_is_a_random_string"))),并且sha1不安全。像往常一样,遵循最佳实践,使用 ed25519 插件 - 如果有与安全性相关的最佳实践,请遵循它,通常有充分的理由 - 如果没有充分的理由,没有人会为某事编写最佳实践。

相关内容