複寫安全性最佳做法

適用於:SQL Server

複寫會移動分散式環境中的資料,範圍從單一網域上的企業內部網路,乃至於存取未受信任網域之間以及網際網路上資料的應用程式。 因此,了解在這些不同環境下保護複寫連接安全的最佳方法相當重要。

下列資訊與所有環境中的複寫相關:

  • 使用業界標準方法加密複寫拓撲中各電腦之間的連線,例如虛擬私人網路 (Virtual Private Networks,VPN)、傳輸層安全性 (TLS) (先前稱為安全通訊端層 (SSL)) 或 IP 安全性 (IPSEC)。 如需詳細資訊,請參閱啟用資料庫引擎的加密連線 (SQL Server 組態管理員)。 如需有關透過網際網路使用 VPN 與 TLS 複寫資料的資訊,請參閱 保護透過網際網路的複寫

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

  • 以不同的 Windows 帳戶執行各複寫代理程式,並針對所有複寫代理程式連接使用 Windows 驗證。 如需有關指定帳戶的詳細資訊,請參閱用於複寫的身分識別和存取控制

  • 僅對各代理程式授與必要的權限。 如需詳細資訊,請參閱< Replication Agent Security Model>的「代理程式所需的權限」一節。

  • 確定發行集存取清單 (PAL) 中包含所有「合併代理程式」及「散發代理程式」。 如需詳細資訊,請參閱保護發行者

  • 僅允許 PAL 中的帳戶擁有執行複寫工作所需的權限,以遵守最低權限原則。 切勿將登入加入至複寫不需要的任何固定伺服器角色。

  • 設定快照集共用,以允許所有「合併代理程式」和「散發代理程式」擁有讀取權限。 在發行集的快照集擁有參數化篩選的情況下,務必確認各資料夾已設定為僅允許存取適當的「合併代理程式」帳戶。

  • 設定快照集共用,以允許「快照集代理程式」擁有寫入權限。

  • 如果您使用提取訂閱,請使用網路共用,而非使用快照集資料夾的本機路徑。

如果複寫拓撲包含的電腦不在相同的網域中,或是位於彼此之間沒有信任關係的網域中,您可針對代理程式建立的連線使用 Windows 驗證或 SQL Server 驗證 (如需網域的詳細資訊,請參閱 Windows 說明文件)。 基於安全性最佳做法,建議您使用 Windows 驗證。

  • 使用 Windows 驗證:

    • 在適當的節點 (在各節點使用相同名稱和密碼) 為各代理程式加入本機 Windows 帳戶 (並非網域帳戶)。 例如,發送訂閱的散發代理程式在散發者端執行,並且建立至散發者與訂閱者的連接。 「散發代理程式」的 Windows 帳戶應加入至「散發者」和「訂閱者」。

    • 確認指定的代理程式 (例如,訂閱的「散發代理程式」) 會在每部電腦上以相同的帳戶執行。

  • 使用 SQL Server 驗證:

    • 在適當的節點 (在各節點使用相同帳戶名稱和密碼) 為各代理程式新增 SQL Server 帳戶。 例如,發送訂閱的散發代理程式在散發者端執行,並且建立至散發者與訂閱者的連接。 散發代理程式的 SQL Server 帳戶應新增至散發者和訂閱者。

    • 確認指定的代理程式 (例如,訂閱的「散發代理程式」) 會在每部電腦上以相同的帳戶建立連接。

    • 在需要 SQL Server 驗證的情況下,通常無法存取 UNC 快照集共用 (例如,存取可能遭到防火牆封鎖)。 在這種情況下,您可以透過檔案傳輸通訊協定 (FTP) 將快照集傳送至「訂閱者」。 如需詳細資訊,請參閱透過 FTP 傳送快照集

另請參閱

啟用 Database Engine 的加密連接 (SQL Server 組態管理員)
透過網際網路的複寫
保護訂閱者
保護散發者
保護發行者
檢視及修改複寫安全性設定