私はauth_socket
/unix_socket
の代わりにパスワード認証を使用してmysqlデータベースの2番目のアカウントを作成する「ベストプラクティス」を数時間調査してきました。
このガイド 新しいユーザーmariadbを作成するための最も安全で永続的なソリューション により、認証はプラグインを使用しません。他のガイドでは、人々はmysql_native_password
をプラグインとして追加します(例 here )。
ただし、mariadb mysql_native_passwordに関するドキュメント により、代わりに ed25519 plugin を使用することを推奨しています。 mariadbでこのガイドを使用するためのオンラインガイドをオンラインで見たことはありません。
ここで、どの認証方法/プラグインを使用する必要があり、no plugin
とed25519
の大きな違いは何ですか?
ed25519プラグイン リンクに従って:
MySQLはバージョン4.1以降、SHA-1ベースの認証を使用しています。 MariaDB 5.2以降、この認証プラグインはmysql_native_passwordと呼ばれています。コンピュータが高速化するにつれて、SHA-1に対する新しい攻撃が開発されました。現在、SHA-1は2001年ほど安全ではありません。そのため、ed25519認証プラグインが作成されました。
Ed25519認証プラグインは、楕円曲線デジタル署名アルゴリズムを使用して、ユーザーのパスワードを安全に保存し、ユーザーを認証します。 ed25519アルゴリズムは、OpenSSHで使用されるものと同じです。これは、楕円曲線とDaniel J. Bernsteinによって作成されたコードに基づいています。
セキュリティが懸念される場合は、MariaDBのベストプラクティスに従い、ed25519プラグインを使用します。
デフォルトでは、プラグインなしの Mariadb はsha1(sha1("password"))
を使用しますが、実際にはSHA1(UNHEX(SHA1("this_is_a_random_string")))
を使用しており、sha1
は安全ではありません。いつものように、ベストプラクティスに従って、ed25519プラグインを使用します。セキュリティに関するベストプラクティスがある場合は、それに従ってください。通常、それには十分な理由があります。正当な理由がない場合、だれもがベストプラクティスを書くことはありません。