次の方法で共有


脅威と脆弱性の軽減策 (レプリケーション)

このトピックでは、レプリケーション トポロジに対する脅威を軽減する手法について説明します。

暗号化

暗号化とは、目的の受信者のみがデータを読み取ることができるように、データを特別なキーなしでは読み取ることができない形式に変換するプロセスです。 レプリケーションでは、テーブルに格納されたデータやネットワーク接続経由で送信されたデータは暗号化されません。 暗号化は、業界標準のテクノロジである仮想プライベート ネットワーク (VPN)、Secure Sockets Layer (SSL)、IP Security (IPSEC) など、さまざまなテクノロジを使用してトランスポート レベルで使用できるため、仕様に従っています。 レプリケーション トポロジ内のコンピューター間の接続には、これらの暗号化方法のいずれかを使用することをお勧めします。 詳細については、「データベース エンジンへの暗号化接続の有効化 (SQL Server 構成マネージャー)」を参照してください。 インターネット経由でデータをレプリケートするために VPN と SSL を使用する方法については、「インターネット 経由でのレプリケーションのセキュリティ保護」を参照してください。

SSL を使用してレプリケーション トポロジ内のコンピューター間の接続をセキュリティで保護する場合は、各レプリケーション エージェントの -EncryptionLevel パラメーターに値 1 または 2 を指定します (値 2 を指定することをお勧めします)。 値 1 は暗号化が使用されることを指定しますが、エージェントは SSL サーバー証明書が信頼された発行者によって署名されていることを確認しません。値 2 は、証明書が検証されることを指定します。 エージェント パラメーターは、エージェント プロファイルおよびコマンド ラインで指定できます。 詳細については、以下を参照してください。

レプリケーションは、データの暗号化に使用されるデータベース マスター キーに関して次の動作を行います。

  • レプリケーションに関係するデータベース (パブリケーション データベース、サブスクリプション データベース、またはディストリビューション データベース) にマスター キーが存在する場合、レプリケーションは SQL Server 2012 データベース対称キーを使用して、そのデータベース内のエージェント パスワードを暗号化および復号化します。 マスター キーを使用する場合は、レプリケーションに関係する各データベースにマスター キーを作成する必要があります。 マスター キーの作成の詳細については、「 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)」を参照してください。

こちらもご覧ください

ID とアクセス制御 (レプリケーション)
セキュリティで保護されたレプリケーションのデプロイ