暗号化機能を利用する場合のセットアップ方法について説明します。
参照
暗号化の詳細については、“RDB運用ガイド”の“暗号化”を参照してください。
クライアントとサーバ間の通信データを暗号化する場合は、以下のセットアップを行ってください。
通信データの暗号化には、SSLのデジタル証明書を使用したサーバ認証を行う場合と、行わない場合があり、手順が異なります。
サーバ認証を行うと、通信の盗聴を防止することに加え、中間者攻撃(例えばサーバのなりすましによりデータやパスワードを横奪するなど)を防止することができます。
セットアップ手順 | サーバ認証 | |
---|---|---|
行う | 行わない | |
1) 証明書発行の手続き | ○ | - |
2) サーバ証明書ファイル、サーバ秘密鍵ファイルの配置 | ○ | - |
3) CA証明書ファイルのクライアントへの配布 | ○ | - |
4) システム用の動作環境ファイルの編集 | ○ | ○ |
5) クライアント用の動作環境ファイルの編集 | ○ | ○ |
○:作業が必要
-:作業が不要
通信データの暗号化の環境を以下に示します。
サーバ認証を行う場合は、認証局(CA)に証明書を発行してもらう手続きが必要です。
Symfoware Serverでは、X.509の規格のPEM形式のファイルをサポートしています。
認証局からDER形式で発行された場合は、opensslコマンドなどのツールを使用してDER形式をPEM形式に変換してください。
以下に手順の概要を示します。詳細は、証明書ファイルの取得先である、公的または独自の認証局(CA)より公開されている手順を参照してください。
サーバ秘密鍵ファイルの作成
サーバ秘密鍵ファイルのパスフレーズ解除
サーバ秘密鍵ファイルからCSR(サーバ証明書を取得するための署名要求)を作成
認証局(CA)へサーバ証明書を申請
認証局(CA)から、サーバ証明書ファイルおよびCA証明書ファイルを取得
サーバ証明書ファイルおよびCA証明書ファイルを保管
注) 紛失や破損した場合は、再発行が必要になります。
上記の手順により、以下のファイルが準備できます。
サーバ秘密鍵ファイル
サーバ証明書ファイル
CA証明書ファイル
運用ノードおよび待機ノードのローカルディスクにディレクトリを作成し、サーバ証明書ファイル、サーバ秘密鍵ファイルを配置します。作成したディレクトリのアクセス権は、データベース管理者のみに付与します。
サーバ証明書ファイル、サーバ秘密鍵ファイルのアクセス権は、OSの機能を利用して、データベース管理者にのみ読込み権を設定してください。
また、サーバ証明書ファイルおよびサーバ秘密鍵ファイルは破損に備え、バックアップをして、厳重に管理してください。
クライアントのローカルディスクにディレクトリを作成し、配布されたCA証明書ファイルを配置します。
CA証明書ファイルを誤って削除などしないように、OSの機能を利用して、読込み権を設定してください。
運用ノードおよび待機ノードにおいて、サーバ側の暗号化を指定するため、システム用の動作環境ファイルの以下のパラメタの設定が必要です。
システム用の動作環境ファイルの編集は、3.4.4.2 RDBのセットアップ”で行います。
実行パラメタ | 概要 | サーバ認証 | |
---|---|---|---|
行う | 行わない | ||
SSL_USE | クライアント側からの暗号化した通信を受け入れるか、受け入れないかを指定します。 | ○ | ○ |
SSL_CIPHER_SUITES | サーバ認証を行うか、行わないかを指定します。 | ○ | ○ |
SSL_CERT_FILE | サーバ証明書ファイルの配置先を指定します。 | ○ | - |
SSL_PRIV_KEY_FILE | サーバ秘密鍵ファイルの配置先を指定します。 | ○ | - |
○:設定が必要
-:設定が不要
クライアント用の動作環境ファイルで暗号化の指定が必要です。アプリケーションの動作環境の設定時に指定してください。
なお、埋込みSQL連携で、クライアント用の動作環境ファイルのDEFAULT_CONNECTIONパラメタを使用している場合、データベースサーバに接続するユーザのパスワードが誰にでも参照できてしまいます。
そのため、サーバとの接続方法として、DEFAULT_CONNECTIONパラメタを使用せず、SQLサーバ名を使用したCONNECT文による接続を推奨します。
実行パラメタ | 概要 | サーバ認証 | |
---|---|---|---|
行う | 行わない | ||
SERVER_SPEC | データベースサーバに対して暗号化した通信を行うか、行わないかを指定します。 | ○ | ○ |
SSL_CLI_CA_CERT_FILE | CA証明書ファイルの配置先を指定します。 | ○ | - |
○:設定が必要
-:設定が不要
参照
アプリケーションの動作環境の設定については、パラメタの指定方法の詳細は、“アプリケーション開発ガイド(共通編)”を参照してください。
格納データを暗号化する場合は、キー管理サーバまたはキー管理ストレージを準備してください。
格納データの暗号化の環境を以下に示します。
マスタ暗号化キーは、RDBディクショナリや格納データと同時に盗難されないようにするため、分けて管理する必要があります。そのため、マスタ暗号化キーファイルを管理するための、キー管理サーバまたはキー管理ストレージを事前に用意してください。
キー管理サーバまたはキー管理ストレージとデータベースサーバの間の通信路を安全にするために、Security Architecture for Internet Protocol(IPsec)を導入するなどし、安全性を確保することを推奨します。
IPsecはIPパケット単位にデータを暗号化することができる通信プロトコルです。OSのIPsecによる通信機能を設定することで通信路の盗聴を防止します。
IPsecの導入方法については、使用しているシステムベンダのドキュメントを参照してください。
キー管理サーバまたはキー管理ストレージの準備手順の例を以下に示します。
実行環境 | 手順 |
---|---|
データベースサーバ | 1) IPsecの設定(注) |
2) ユーザアカウントの登録 | |
3) サービスの設定 | |
4) ローカルポリシーの設定 | |
キー管理サーバまたはキー管理ストレージ | 5) IPsecの設定(注) |
6) ユーザアカウントの登録 | |
7) 共有の設定 |
注) IPsecを導入する場合に行ってください。
IPsecを導入する場合は、使用しているシステムベンダのドキュメントを参照して、IPsecを設定してください。
キー管理サーバまたはキー管理ストレージにアクセスするための、Administratorsグループに属するユーザアカウントとパスワードを登録します。
[スタート]メニューの[管理ツール]で[サービス]をクリックします。
“SymfoWARE RDB RDBシステム名”を選択し、[プロパティ]ボタンをクリックします。
[ログオン]タブを選択し、2)で登録したユーザアカウント名とパスワードを登録します。
キー管理サーバまたはキー管理ストレージにアクセスするためのAdministratorsグループに属するユーザアカウントに対して、以下の権利を設定してください。
オペレーティングシステムの一部として機能
プロセスレベルトークンの置き換え
クォータの増加(Windows Server(R) 2003の場合)
プロセスのメモリクォータの増加(Windows Server(R) 2008、Windows Server(R) 2008 R2、Windows Server(R) 2012またはWindows Server(R) 2012 R2の場合)
IPsecを導入する場合は、使用しているシステムベンダのドキュメントを参照して、IPsecを設定してください。
2)で登録したしたユーザアカウントを、同じパスワードで登録します。
リモートアクセスするフォルダに対し、データベースサーバで登録したユーザアカウントがフルコントロールの権限でアクセス可能となるように共有の設定を行います。
注意
共有の設定で、同時に共有できるユーザ数の設定値が小さい場合、Symfoware/RDBの起動がqdg14345uのエラーで失敗することがあります。
このエラーは、エクスプローラで共有フォルダを参照しながら、Symfoware/RDBを起動するなど、共有フォルダに同時に接続しているアカウントの数が設定値を超えている場合に発生します。
そのため、設定値を、最低でも2以上に設定するようにしてください。