SSO 安全建議

透過企業單 Sign-On(SSO)系統,使用者只需使用一組憑證即可連接不同系統。 BizTalk 伺服器利用 SSO 系統作為敏感資訊的儲存庫。 雖然 BizTalk Server 會在安裝 BizTalk Server 執行時自動安裝,但您也可以將 Enterprise Single Sign-On 作為獨立元件安裝,獨立於 BizTalk 伺服器環境之外。 欲了解更多企業單一登入資訊,請參閱 使用 SSO。 建議您遵循以下指引,以確保在您的環境中安全地部署企業單一登入(SSO)服務與資源。

SSO 的一般部署建議

  • 整個環境中必須只有一個主秘密伺服器和一個 SSO 資料庫,即使你在環境中有多個 BizTalk 群組。 你必須先設定這兩台伺服器,才能設定其他 BizTalk 和 SSO 伺服器。

  • 你必須在環境中設置時間伺服器,以確保所有 SSO 伺服器同步。 如果 SSO 伺服器的時鐘不同步,環境安全可能會受到威脅。

  • 考慮到整個環境中只有一個主秘密伺服器,建議對主秘密伺服器採用主動-被動叢集配置。 欲了解更多關於叢集主秘密伺服器的資訊,請參閱 《如何叢集主秘密伺服器》。

  • 主秘密伺服器持有 SSO 系統用來加密 SSO 資料庫資訊的加密金鑰。 建議您不要在此電腦上安裝或設定任何其他產品或服務。

    備註

    安裝和設定主秘密伺服器的電腦不一定是伺服器。

  • 主秘密伺服器應能存取可移除的媒體或 NTFS 檔案系統資料夾,以便備份並還原主秘密。 若使用可移除媒體,務必採取適當措施保護該媒體。 如果你將主秘密備份到 NTFS 檔案系統,務必保護檔案和資料夾。 只有 SSO 管理員應該有權限存取這個檔案。

  • 主密鑰伺服器一產生主密鑰後,你就應該立刻備份。 這是為了在主秘密伺服器故障時,能夠恢復 SSO 資料庫中的資料。 關於備份主秘密的更多資訊,請參閱 「管理主秘密」。

  • 備份你目前的秘密,或定期產生新的秘密,例如每月一次。 沒有這個秘密,你無法從 SSO 資料庫取得資訊。 關於備份與還原主秘密的更多資訊,請參見 「管理主秘密」。

SSO 群組與帳號的安全建議

  • 建議使用 Windows 群組,而非單一使用者帳號,尤其是 SSO 管理員與 SSO 附屬管理員群組。 這些群組必須始終擁有至少兩個使用者帳號作為群組成員。

  • SSO 執行時服務帳號與 SSO 管理員使用者帳號應為不同帳號,即使它們屬於同一 SSO 管理員群組。 執行管理任務(如產生與備份秘密)的 SSO 管理員使用者必須是 Windows 管理員,而 SSO 執行時服務帳號則不必是 Windows 管理員。

    這很重要

    Windows 管理員的使用者權限不會取代 SSO 管理員的使用者權限。 要執行任何 SSO 管理層級任務,即使你已經是 Windows 管理員,也必須是 SSO 管理員群組的成員。

  • 如果你使用 SSO 工單功能,必須使用處理網域(SSO 伺服器所在的網域)電腦所識別的網域帳號。

  • 建議為 SSO 服務使用與主秘密伺服器對應的獨特服務帳號。

  • SSO 管理員帳號是 SSO 系統中的高度權限帳號,同時也是擁有 SSO 資料庫的 SQL 伺服器的 SQL Server 管理員帳號。 你應該有專門的 SSO 管理員帳號,且不應該將這些帳號用於其他用途。 你應該只允許負責運行和維護 SSO 系統的帳號加入 SSO 管理員群組。

  • 您必須手動將 BizTalk 管理員群組加入 SSO 聯盟管理員群組,讓 BizTalk 管理員能利用 SSO 系統將適配器的設定資訊儲存在 SSO 資料庫中。 只有管理轉接器的 BizTalk 管理員必須是 SSO 聯盟管理員群組的成員。 BizTalk 管理員不一定要是 SSO 管理員。

SSO 部署的安全建議

  • 如果你的網路支援 Kerberos 認證,你應該註冊所有 SSO 伺服器。 當你在主秘密伺服器與 SSO 資料庫之間使用 Kerberos 認證時,必須在 SSO 資料庫所在的 SQL 伺服器上設定服務主體名稱(SPN)。 欲了解更多關於設定服務主體名稱的資訊,請前往服務主體名稱(SPN)。

  • 當執行 Windows Server 2008 SP2 或 Windows Server 2008 R2 時,如果主秘密伺服器與其他 SSO 伺服器和 SSO 資料庫位於不同網域,則必須在主秘密伺服器、SSO 伺服器(處理網域中的處理電腦)以及 SSO 資料庫上關閉 RPC 安全性(這些安全性用於電腦之間的資料交易協調器 (DTC) 認證)。 RPC 安全性是 Windows Server 2008 SP2 與 Windows Server 2008 R2 中的 DTC 功能。 當你關閉 RPC 安全性時,RPC 通話的 DTC 認證安全等級會回復到 Microsoft Windows Server 2003 中可用的等級。

  • SSO 管理員應定期監控主秘密伺服器及 SSO 伺服器的事件日誌,以監控 SSO 稽核事件。

  • 除了防火牆外,建議在所有 SSO 伺服器與 SSO 資料庫之間使用 Internet Protocol security(IPSec)或安全套接層(SSL)。 欲了解更多使用 SSL 的資訊,請前往 「啟用與資料庫引擎的加密連線」。 欲了解更多關於在所有 SSO 伺服器與 SSO 資料庫間使用 SSL 的資訊,請參閱「如何啟用 SSL for SSO」。

周邊網絡

在執行網際網路資訊服務(IIS)及企業單一登入時,請遵循以下建議:

  • 若 IIS 位於邊界網路(亦稱非軍事區、DMZ 及屏蔽子網),則在防火牆後方提供另一台 IIS 伺服器以連接 SSO 系統。

  • 請勿在 IIS 上開啟遠端程序呼叫(RPC)埠。

SQL Server 存取

所有 SSO 伺服器都會存取 SQL Server 的 SSO 資料庫。 欲了解更多如何保護 SQL Server 資料庫的資訊,請參考 「保護 SQL Server」。

建議使用安全套接層(SSL)及/或網際網路協定安全(IPSec)來保護單一登入(SSO)伺服器與 SSO 資料庫之間的資料傳輸。 欲了解更多使用 SSL 的資訊,請前往 「啟用與資料庫引擎的加密連線」。

若要只在 SSO 伺服器與 SSO 資料庫之間的連線啟用 SSL,你可以使用 ssoconfig 工具在每個 SSO 伺服器上設定 SSL 支援。 此選項使 SSO 在存取 SSO 資料庫時始終使用 SSL。 更多資訊請參閱 「如何啟用 SSL for SSO」。

強密碼

非常重要的是,所有帳號都必須使用強密碼,尤其是屬於 SSO 管理員群組的帳號,因為這些使用者掌控整個 SSO 系統。

SSO 管理員帳號

建議你在不同電腦上執行的 SSO 服務使用不同的服務帳號。 你不應該使用負責產生和備份 SSO 服務秘密等管理操作的 SSO 管理員帳號。 雖然 SSO 服務帳號不應是該電腦的本地管理員,但執行管理操作的 SSO 管理員必須是該電腦的本地管理員,才能執行某些操作。

主要密鑰伺服器

強烈建議你保護並鎖定主秘密伺服器。 你不應該把這台伺服器當作處理伺服器使用。 這個伺服器唯一的目的應該是保存主密鑰。 你應該確保這台電腦的實體安全,只有 SSO 管理員才應該有權限存取這台電腦。

Kerberos

SSO 支援 Kerberos,建議你為 SSO 設定 Kerberos。 要設定帶有 SSO 的 Kerberos,您必須為 SSO 服務註冊一個安全主體名稱(SPN)。 預設情況下,當你設定 Kerberos 時,SSO 會用該 SPN 來透過 SSO 服務來驗證元件。 建議你在 SSO 管理子服務與 SSO 伺服器之間設定 Kerberos 認證。 你也可以在 SSO 伺服器之間,以及 SSO 伺服器與 SQL 伺服器(SSO 資料庫所在)之間使用 Kerberos 認證。

如需詳細資訊,請前往:

委派

使用 Windows Server 2008 SP2 或 Windows Server 2008 R2 時,可以使用受限委派,但建議不要使用委派來執行單一 Sign-On 管理員的任務。 同樣地,建議不要將額外任務或使用者權限委派給單一 Sign-On 管理員。

Auditing

稽核是追蹤環境中資訊的關鍵機制。 企業單一登入(SSO)會稽核在 SSO 資料庫中執行的所有操作。 SSO 使用資料庫本身的事件日誌與審計日誌。 SSO 為單一 Sign-On 伺服器提供兩個審計層級:

  • 正向審計水準能有效審計營運

  • 負面審核層級:失敗的審計作業

    SSO 管理員可依其企業政策設定正向與負面稽核等級。

    你可以將正向與負面稽核設定為以下其中一種層級:

    0 = 無。 此層級不會發出任何審計訊息

    1 = 低

    2 = 中等

    3 = 高。 此層級會發出盡可能多的稽核訊息

    正向審計的預設值為0(無),負面審計的預設值為1(低)。 你可能會根據你想要的 SSO 系統審計層級來調整這些數值。

這很重要

企業單一登入服務會產生經過稽核的問題訊息。 這不是安全稽核,且 SSO 系統不會將資訊儲存在事件日誌的安全日誌中。 SSO 系統會將 SSO 稽核訊息直接儲存到應用程式事件日誌中。

Database-Level 稽核

對於資料庫層級的稽核,SSO 系統會在資料庫中的稽核表中追蹤對 SSO 資料庫執行的操作。 這些稽核表的大小是在 SSO 系統層級定義的。 你可以稽核被刪除的聯盟申請、被刪除的映射,以及執行的憑證查詢。 預設情況下,審核記錄的容量設為 1,000 筆。 SSO 管理員可以調整此規模以符合其企業政策。

使用 SSO 帳號

本節包含在企業單一 Sign-On(SSO)系統中使用網域、本地群組及個別帳號的最佳實務。

網域 Windows 群組與帳號

在處理網域 Windows 群組時,以下建議適用:

  • 使用網域群組和網域帳號。

  • 使用 Windows Server 2008 SP2 或 Windows Server 2008 R2 時,ENTSSO 服務帳號可設定為以網路服務帳號執行。 然而,出於安全考量,這並不建議,因為網路服務帳號需要被賦予 SSO 管理員權限。 建議你改用一個獨特的網域服務帳號來管理 ENTSSO 服務帳號。

  • 使用網域群組來管理 SSO。 你不應該指定單一網域帳號作為 SSO 管理員,因為你無法將這個帳號從一個獨立帳號變更到另一個獨立帳號。

  • 雖然你可以指定一個獨立網域帳號作為 SSO 聯盟管理員,但你應該使用網域群組。

  • 雖然你可以指定一個獨立網域帳號作為應用程式管理員,但你應該使用網域群組。

  • 你必須使用網域群組來設定應用程式使用者帳號。 SSO 應用程式的使用者帳號不支援個別帳號。

  • 每個 SSO 存取帳號都可以指定多個帳號。

另請參閱

企業單一登入伺服器埠最小安全使用者權限