シナリオ:MySQL サーバーの認証

2024年7月15日

ID 261227

MySQL サーバーの認証には TLS 証明書を使用することを推奨します。信頼できる証明機関(CA)の証明書または自己署名証明書を使用できます。

管理サーバーは、MySQL に対して一方向および双方向の SSL 認証の両方をサポートします。

一方向 SSL 認証の有効化

MySQL の一方向 SSL 認証を設定するには、次の手順に従います:

  1. MySQL サーバー用の自己署名 TLS 証明書を生成する

    次のコマンドを実行します:

    openssl genrsa 1024 > ca-key.pem

    openssl req -new -x509 -nodes -days 365 -key ca-key.pem -config myssl.cnf > ca-cert.pem

    openssl req -newkey rsa:1024 -days 365 -nodes -keyout server-key.pem -config myssl.cnf > server-req.pem

    openssl x09 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem

  2. サーバーフラグファイルの作成

    klscflag ユーティリティを使用して KLSRV_MYSQL_OPT_SSL_CA サーバーフラグを作成し、その値として証明書へのパスを指定します。klscflag ユーティリティは、管理サーバーがインストールされているディレクトリにあります。既定のインストールパスは /opt/kaspersky/ksc64/sbin です。

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <ca-cert.pem へのパス> -t d

  3. 定義データベースの設定

    ファイル my.cnf で証明書を指定します。テキストエディターでファイル my.cnf を開き、次の行を[mysqld]セクションに追加します:

    [mysqld]

    ssl-ca=".../mysqlcerts/ca-cert.pem"

    ssl-cert=".../mysqlcerts/server-cert.pem"

    ssl-key=".../mysqlcerts/server-key.pem"

双方向 SSL 認証の有効化

MySQL の双方向 SSL 認証を設定するには、次の手順に従います:

  1. サーバーフラグファイルの作成

    klscflag ユーティリティを使用してサーバーフラグを作成し、その値として証明書ファイルへのパスを指定します。

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <ca-cert.pem へのパス> -t d

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <server-cert.pem へのパス> -t d

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <server-key.pem へのパス> -t d

    klscflag ユーティリティは、管理サーバーがインストールされているディレクトリにあります。既定のインストールパスは /opt/kaspersky/ksc64/sbin です。

  2. (オプション)パスフレーズを指定する

    server-key.pem にパスフレーズが必要な場合は、KLSRV_MARIADB_OPT_TLS_PASPHRASE フラグを作成し、その値としてパスフレーズを指定します:

    klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <パスフレーズ> -t d

  3. 定義データベースの設定

    ファイル my.cnf で証明書を指定します。テキストエディターでファイル my.cnf を開き、次の行を[mysqld]セクションに追加します:

    [mysqld]

    ssl-ca=".../mysqlcerts/ca-cert.pem"

    ssl-cert=".../mysqlcerts/server-cert.pem"

    ssl-key=".../mysqlcerts/server-key.pem"

この記事はお役に立ちましたか?
改善できる点がありましたらお聞かせください。
フィードバックをいただき、ありがとうございました。改善に向けて取り組んでまいります。
フィードバックをいただき、ありがとうございました。改善に向けて取り組んでまいります。