共用方式為


威脅和弱點安全防護 (複寫)

本主題描述可減輕複寫拓樸威脅的技術。

加密

加密是將資料轉換成一種無特殊金鑰便無法讀取格式的處理,這樣一來就只有預期收件者才能讀取該資料。複寫不會加密資料表中儲存的資料,或透過網路連接傳送的資料。這是設計所限,因為加密可在傳輸層使用數種技術來提供,包括下列的業界標準技術:「虛擬私人網路」(VPN)、「安全通訊端層」(SSL) 及「IP 安全性」(IPSEC)。建議對複寫拓撲中電腦之間的連接使用這些加密方法中的一種。如需詳細資訊,請參閱<加密 SQL Server 的連接>。如需有關透過網際網路使用 VPN 與 SSL 複寫資料的資訊,請參閱<保護透過網際網路的複寫>。

如果使用 SSL 保護複寫拓撲中電腦之間的連接,請將每個複寫代理程式的 -EncryptionLevel 參數值指定為 12 (建議使用 2 值)。值 1 會指定使用加密,但代理程式不會確認 SSL 伺服器憑證是否由受信任發行者簽署;值 2 則會指定對憑證進行確認。可在代理程式設定檔和命令列中指定代理程式參數。如需詳細資訊,請參閱:

針對資料庫「主要金鑰」,複寫採取下列行為來加密資料:

  • 如果複寫涉及的資料庫 (發行集資料庫、訂閱資料庫或散發資料庫) 中存在「主要金鑰」,則複寫會用 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)>。