本文へジャンプします。

ニフティクラウド ユーザーガイド

RDB:SSL接続の利用

SSL暗号化を利用することができます。

SSL接続は、クライアントとDBサーバー間の通信を暗号化するためだけに利用してください。認証の仕組みは別途必要です。

SSL通信を経由してDBサーバーを利用するには、下記の手順を実施する必要があります。

MySQLエンジン、MariaDBエンジンのDBサーバーでSSL接続を利用する

DBサーバーを作成する際に、SSL証明書の作成と DBサーバーへのインストールが行われます。
証明書は認証局によって署名されています。公開鍵は下記よりダウンロードしてご利用ください。

標準のmysqlクライアントを利用して暗号化通信を行うには、mysqlコマンドを起動する際に--ssl_caパラメーターで公開鍵のパスを指定してください。下記は一例です。

mysql -h XXX.XXX.XXX.XXX(払い出されたIPアドレス) --ssl_ca=mysql-ssl-ca-cert.pem

GRANTステートメントを利用し、特定のユーザーに対してSSL接続を必須にすることができます。
下記は、encrypted_userというアカウントに対して、SSL接続を必須とする場合のSQL実行例です。

GRANT USAGE ON *.* TO `encrypted_user`@`%` REQUIRE SSL

PostgreSQLエンジンのDBサーバーでSSL接続を利用する

下記より公開鍵をダウンロードします。

公開鍵をクライアント側の~/.postgresql/root.crtに配置

SSL通信を経由してPostgreSQLエンジンのDBサーバーに接続するには接続文字列に"sslmode=verify-ca"を追加します。
下記は、psqlコマンドでSSL接続を行う場合の入力例です。

psql "sslmode=verify-ca host=XXX.XXX.XXX.XXX(DBサーバーのIPアドレス) user=(マスターユーザー名) dbname=(DB名)"

接続が暗号化されているかどうかは、接続時のログインバナーに表示されています。

psql (8.4.18, サーバ 9.3.4)
注意: psql バージョン 8.4, サーババージョン 9.3.
         psql の機能の中で、動作しないものがあるかもしれません。
SSL 接続 (暗号化方式: DHE-RSA-AES256-SHA, ビット長: 256)
"help" でヘルプを表示します.

postgres=>
            

sslinfoエクステンションを読みこんで、ssl_is_used()関数を呼び出し、SSLが利用されているかどうかを確認することもできます。
接続にSSLが利用されている場合にはtrue(t)、そうでない場合にはfalse(f)を返却します。

postgres=> create extension sslinfo;
CREATE EXTENSION

postgres=> select ssl_is_used();
 ssl_is_used
-------------
 t
(1 行)

DBサーバーの属するDBパラメーターグループで、SSLパラメーターがtrueに設定されている場合(デフォルトはtrue)は、 下記のコマンドを利用してパラメーターの値を表示することができます。

postgres=> show ssl;
ssl
-----
on
(1 行)

ニフティクラウド サイト内検索

ユーザーガイドメニュー

  • ツイッターでフォローしてください
  • ニフティクラウド公式フェイスブックページ

推奨画面サイズ 1024×768 以上