1.4.3. MariaDB サーバー上の特定のユーザーアカウントに対して TLS 暗号化接続を必須とする
機密データの転送を保護するために、特定の MariaDB ユーザーアカウントに対して TLS 暗号化接続を必須とするように設定できます。
サーバー側ですべての接続に対してセキュアな転送を必須とするように設定 (require_secure_transport = on) できない場合は、個々のユーザーアカウントに対して TLS 暗号化を必須とするように設定してください。
前提条件
- MariaDB サーバーで TLS サポートが有効になっている。
- セキュアなトランスポートを必要とするように設定するユーザーが存在する。
手順
管理ユーザーとして MariaDB サーバーに接続します。
# mysql -u root -p -h server.example.com管理ユーザーがリモートでサーバーにアクセスするパーミッションを持たない場合は、MariaDB サーバーでコマンドを実行し、
localhostに接続します。REQUIRE SSL句を使用して、ユーザーが TLS 暗号化接続を使用して接続する必要があるよう強制します。MariaDB [(none)]> ALTER USER 'example'@'%' REQUIRE SSL;
検証
TLS 暗号化を使用して、
exampleユーザーとしてサーバーに接続します。# mysql -u example -p -h server.example.com --ssl ... MariaDB [(none)]>エラーが表示されず、インタラクティブな MariaDB コンソールにアクセスできる場合は、TLS との接続は成功します。
TLS を無効にして、
exampleユーザーとして接続を試みます。# mysql -u example -p -h server.example.com --skip-ssl ERROR 1045 (28000): Access denied for user 'example'@'server.example.com' (using password: YES)このユーザーに TLS が必要だが無効になっているため、サーバーはログインの試行を拒否しました (
--skip-ssl)。