リモート MySQL/MariaDB データベースサーバへの接続を保護する
概要
Plesk に 1 つ以上のリモート MySQL/MariaDB データベースサーバを登録している場合、SSL/TLS 証明書を使用して、それらのサーバと Plesk の間の接続を保護することをお勧めします。これにより、機密情報が第三者によって傍受される可能性を防ぐことができます。
このトピックでは、SSL/TLS 証明書を使用して MySQL/MariaDB データベースサーバへの接続を保護する方法について説明します。
概要
警告
You can only secure database connections after you have fully configured Plesk to use a remote database server. Both Plesk's own system database and the user databases must reside on the remote server. If you use both a local database server and a remote database server, you cannot secure the database connections.
You can use the instructions found in this topic to secure connections to remote MySQL database servers, and also to MySQL derivatives, such as MariaDB.
データベースサーバへの接続は、自己署名 SSL/TLS 証明書または認証局から発行された無料または有料の証明書を使用して保護することができます。自己署名証明書により、Plesk とデータベースサーバの間の接続が暗号化されるため、ほとんどの場合はこれで十分です。ただし、認証局から発行された証明書(無料または有料)を使用すると、データベースサーバのアイデンティティを検証することもできるため、中間者攻撃からの保護に役立ちます。
リモート MySQL/MariaDB データベースサーバへの接続を保護する
リモートデータベースサーバへの接続を保護するプロセスには、2 つのステップがあります。まず、暗号化された接続を使用するように各リモートデータベースサーバを構成する必要があります。次に、Plesk でデータベースサーバへの暗号化接続を有効にする必要があります。
暗号化された接続を使用するようにデータベースサーバを設定するには、当該サーバのベンダーのドキュメントに記載された指示に従います。
上記の指示に従う場合、my.cnf ファイルに以下のオプション行を追加してください。
require_secure_transport=ON
これは、暗号化された接続の使用をデータベースサーバに強制するためです。別の方法として、ALTER USER ステートメントを使用して、次のようにデータベースユーザをユーザごとに更新することができます。
alter user 'admin'@'localhost' require ssl;
後者の場合、更新されたデータベースユーザへの接続のみが暗号化されます。
すべてのデータベースサーバで暗号化接続を使用するように設定したら、Plesk でデータベースサーバへの暗号化接続を有効にする必要があります。オプションとして、接続前にデータベースサーバのアイデンティティを検証するように Plesk を設定することもできます。これは、中間者攻撃から保護するために必要です。
データベースサーバへの暗号化接続を有効にする
-
ファイルに以下の行を追加して、データベースサーバへの暗号化接続を有効にします。
[database] tls.enable = true;
-
(オプション)接続前にデータベースサーバのアイデンティティを検証するために、先ほど追加した行の下に以下の行を追加します。
tls.verifyServerCert = true; tls.sslCA = <path to the .pem file containing the relevant X.509 certificate(s)>;
X.509 証明書は、
opensslユーティリティ(1 つ以上のデータベースサーバが自己署名証明書で保護されている場合)を介して生成するか、対応する認証局(1 つ以上のデータベースサーバが認証局から発行された証明書で保護されている場合)に要求することができます。注釈
データベースサーバのアイデンティティを検証してから接続するように Plesk が設定されている場合は、データベースサーバのホスト名と保護に使用されている SSL/TLS 証明書に指定されている名前が一致する必要があります。Plesk は、保護に使用されている SSL/TLS 証明書に指定されている名前とホスト名が一致しないデータベースサーバへの接続を拒否します。
これで MySQL/MariaDB データベースサーバと Plesk の間の接続が安全になり、第三者による傍受が不可能になりました。