脅威と脆弱性の対策 (レプリケーション)
このトピックでは、レプリケーション トポロジに対する脅威を軽減する方法について説明します。
暗号化
暗号化とは、想定されている相手以外はデータを解読できないように、特殊なキーがないと解読できない形式にデータを変換するプロセスです。レプリケーションでは、テーブルに格納されるデータやネットワーク接続で送信されるデータの暗号化は行われません。これは、トランスポート レベルで暗号化を行うさまざまな技術があるからです。たとえば、仮想プライベート ネットワーク (VPN)、SSL (Secure Sockets Layer)、IPSEC (IP Security) などの業界標準技術があります。レプリケーション トポロジのコンピュータ間の接続は、これらの方法を使用して暗号化することをお勧めします。詳細については、「SQL Server への接続の暗号化」を参照してください。VPN と SSL を使用したインターネット経由のデータのレプリケーションについては、「インターネット経由のレプリケーションのセキュリティ」を参照してください。
SSL を使用してレプリケーション トポロジのコンピュータ間の接続をセキュリティで保護する場合、各レプリケーション エージェントの -EncryptionLevel パラメータに値 1 または 2 を指定します (値 2 が推奨値です)。値 1 は、暗号化を使用していますが、SSL サーバー証明書が信頼されている発行者によって署名されていることをエージェントが検証していないことを示します。値 2 は、証明書が検証されていることを示します。エージェント パラメータは、エージェント プロファイルおよびコマンド ラインで指定できます。詳細については、次のトピックを参照してください。
レプリケーション エージェント プロファイルを操作する方法 (SQL Server Management Studio)
レプリケーション エージェント コマンド プロンプト パラメータを表示および変更する方法 (SQL Server Management Studio)
以下では、データベースのマスタ キーに関連するレプリケーションの動作について説明します。マスタ キーはデータの暗号化に使用されます。
レプリケーションに関係するデータベース (パブリケーション データベース、サブスクリプション データベース、またはディストリビューション データベース) にマスタ キーがある場合、そのデータベースのエージェント パスワードの暗号化および暗号化解除には、SQL Server 2008 データベースの対称キーが使用されます。マスタ キーを使用する場合は、レプリケーションに関係する各データベースでマスタ キーを作成する必要があります。レプリケーションに関係するデータベースにマスタ キーがない場合、そのデータベースのエージェント パスワードの暗号化および暗号化解除には、SQL Server 2000 で利用可能なアルゴリズムが使用されます。マスタ キーの作成の詳細については、「CREATE MASTER KEY (Transact-SQL)」を参照してください。
レプリケーションでは、マスタ キーはレプリケートされません。サブスクライバでマスタ キーが必要な場合は、BACKUP MASTER KEY を使用してパブリケーション データベースからエクスポートし、RESTORE MASTER KEY を使用してサブスクリプション データベースにインポートする必要があります。詳細については、「BACKUP MASTER KEY (Transact-SQL)」および「RESTORE MASTER KEY (Transact-SQL)」を参照してください。
アタッチ可能なサブスクリプション データベースに対してマスタ キーが定義されている場合は、sp_attachsubscription (Transact-SQL) の @db_master_key_password パラメータを使用してマスタ キーのパスワードを指定します。これにより、サブスクライバでそのデータベースをアタッチできます。
暗号化とマスタ キーの詳細については、「暗号化階層」を参照してください。
レプリケーションでは、暗号化された列データをパブリッシュできます。このデータの暗号化を解除してサブスクライバで使用するには、パブリッシャでのデータの暗号化に使用されたキーがサブスクライバにも存在する必要があります。レプリケーションでは、暗号化キーを送信する安全なメカニズムは提供されません。このため、暗号化キーはサブスクライバで手動で再作成する必要があります。詳細については、「暗号化された列のデータをレプリケートする方法 (SQL Server Management Studio)」を参照してください。