規劃防禦環境

 

此內容衍生自 Microsoft 高可信度電腦運算小組所編寫的白皮書:Mitigating Pass-the-Hash and Other Credential Theft, version 2

將具有專用系統管理樹系的防禦環境加入 Active Directory 中,讓組織能夠管理安全性控制較現有生產環境更強之環境中的系統管理帳戶、工作站與群組。

此架構能夠在單一樹系架構中進行多項不可能或無法輕易設定的控制。 此方法可讓您在系統管理樹系中,以非特殊權限的標準使用者身分 (其在生產環境中具有高度權限) 佈建帳戶,進而強制更高的技術性治理。 此架構也可使用信任的選擇性驗證功能,將登入 (和認證暴露) 限制為只有獲得授權的主機。 在生產樹系需要更高保證層級但不造成完全重建的成本與複雜度的情況下,系統管理樹系可以提供一個能提升生產環境保證層級的環境。

除了專用的系統管理樹系以外,還可使用其他技巧。 這些技巧包括限制系統管理認證公開的位置、限制該樹系中使用者的角色權限,以及確保不在標準使用者活動 (例如,電子郵件及網頁瀏覽) 所用的主機上執行系統管理工作。

專用系統管理樹系是專用於 Active Directory 管理功能的標準單一網域 Active Directory 樹系。 系統管理樹系和網域可能因為有限的使用案例,而比生產樹系更加嚴格。 由於此樹系為個別獨立,而不信任組織的現有樹系,所以當若其他任何樹系受到危害時,危害不會蔓延到此專用樹系。

系統管理樹系設計具有下列考量:

有限範圍 – 系統管理樹系的價值在於提供高階安全性保證和減少受攻擊面,以致殘餘風險較低。 此樹系可用來存放其他管理功能和應用程式,但每次加大範圍就會增加樹系與其資源的受攻擊面。 其目標在於限制樹系和內部系統管理使用者的功能,將受攻擊面降至最小,所以每次增加範圍時都應謹慎考量。 專用系統管理樹系中的帳戶應在單一層中 (通常是第 0 層或第 1 層),而且可以限定成特定範圍的應用程式 (例如財務應用程式) 或使用者社群 (例如委外 IT 廠商)。

限制信任 – 設定從受管理的樹系或網域到系統管理樹系的信任。

  • 需要從生產環境到系統管理樹系的單向信任。 這可以是網域信任或樹系信任。 系統管理樹系網域不需要信任受管理的網域和樹系,即可管理 Active Directory,但是其他應用程式可能需要雙向信任關係、安全性驗證和測試。

  • 選擇性驗證應用來限制系統管理樹系中的帳戶只能登入適當的生產主機。 若要在 Active Directory 中維護網域控制站和委派權限,通常需要將網域控制站的「允許登入」權限授予系統管理樹系中指定的第 0 層系統管理帳戶。 如需詳細資訊,請參閱 進行選擇性驗證設定

此防禦環境的核心包含一組 Active Directory 網域控制站伺服器 (用於驗證及授權) Microsoft Identity Manager (MIM) 伺服器 (用於授權帳戶生命週期管理及要求工作流程處理)。 它也會包含特殊權限的管理員工作站,以供系統管理員進行驗證。

維護邏輯隔離

為了確保防禦環境不受現有組織的 Active Directory 中的現有或未來安全性事件所影響,在為防禦環境準備系統時應使用下列指導方針:

  • Windows Server 不應該加入網域,或利用現有環境的軟體或設定散發。

  • 防禦環境必須包含自己的 Active Directory 網域服務,才能提供 Kerberos 及 LDAP、DNS 和時間服務給防禦環境。 提供 Active Directory 網域服務的伺服器必須位於 Windows Server 2012 R2 或更新版本,而樹系功能等級必須是 Windows Server 2012 R2 等級或更新等級。

  • MIM 需要 SQL Server 2012 Service Pack 1 或 SQL Server 2014。 這應該部署在防禦環境中的專用伺服器上;MIM 不應使用現有環境中的 SQL 資料庫伺服器陣列。

  • 防禦環境需要為 PAM 案例部署 MIM 2016,特別是 MIM 服務與 PAM 元件。

  • 防禦環境的備份軟體和媒體必須與現有樹系中系統的備份軟體和媒體隔離,讓現有樹系中的系統管理員無法破壞防禦環境的備份。

  • 管理防禦環境伺服器的使用者必須從現有環境中的系統管理員無法存取的工作站登入,防禦環境的認證才不會外洩。 後面會進一步說明如何部署和強化專用的系統管理工作站。

確保防禦環境中系統管理服務的可用性

由於現有樹系中的應用程式管理工作將會轉換至防禦環境,所以規劃防禦環境的部署時,必須考慮如何提供足夠的可用性來滿足這些應用程式的需求。 相關技巧包括:

  • 在防禦環境中的多部電腦上部署 Active Directory 網域服務。 至少需要兩部電腦才可確保持續不斷的驗證,即使有一部伺服器因為排程的維護而暫時重新啟動。 如需更高的負載,或如果組織有位於多個地理區域的資源和系統管理員,則可能需要額外的電腦。

  • 在現有的樹系和專用的系統管理樹系中準備急用 (break glass) 帳戶,以供緊急使用。

  • 在防禦環境中的多部電腦上部署 SQL Server 和 MIM 服務。

  • 維護 AD 和 SQL 的備份副本 (包含專用系統管理樹系中的使用者或角色定義的各項變更),以便進行災害復原。

設定適當的 Active Directory 權限

應根據 Active Directory 系統管理的需求,將系統管理樹系設定為最小權限。

  • 系統管理樹系中用來管理生產環境的帳戶,不應獲得系統管理樹系、其中的網域或其中的工作站的系統管理權限。

    舉例來說,Alice 負責防禦環境的操作,Bob 是 Exchange 系統管理的角色擁有者,Carol 是 Exchange 系統管理員。 無論是 Bob 或 Carol,都不需要是專用系統管理環境之系統管理員群組的成員。

  • 應藉由離線程序嚴格控制對於系統管理樹系本身的系統管理權限,以減少攻擊者或惡意內部人士清除稽核記錄檔的機會。 這也有助於確保具有生產系統管理帳戶的人員無法放鬆對於其帳戶的限制以及提高組織的風險。

  • 系統管理樹系應遵循網域的 Microsoft Security Compliance Manager (SCM) 設定,包括驗證通訊協定的強式設定。

建立防禦環境時,請在安裝 Microsoft Identity Manager 之前,識別並建立將在此環境中用於系統管理的帳戶。 這包括:

  • 急用帳戶 - 這些帳戶只能登入防禦環境中的網域控制站。

  • "Red Card" 系統管理員 - 這些使用者帳戶的主要用途在佈建其他帳戶及執行排程之外的維護。 這些帳戶無法存取防禦環境之外的現有樹系或系統。 應確實保護認證 (例如智慧卡) 的安全,並應記錄這些帳戶的使用情況。

  • 服務帳戶 - 這些是 Microsoft Identity Manager、SQL Server 及其他安裝在防禦環境中之軟體所需要的帳戶。

與 SIEM 和行為的分析工具整合

應設計系統管理樹系的偵探控制項,以警示系統管理樹系中的異常狀況。 有限的授權案例和活動數目,有助於比生產環境更精確地調整這些控制項。 這可能包括將 Active Directory 和 Microsoft Identity Manager 的記錄檔匯出至 SIEM 系統進行分析。

強化主機

所有主機 (包括已加入系統管理樹系的網域控制站、伺服器和工作站) 應該安裝最新的作業系統 Service Pack 並保持最新狀態。 此外,

  • 應該在工作站上預先安裝執行系統管理所需的應用程式,如此一來,使用這些應用程式的帳戶不需在本機 administrators 群組中即可安裝這些應用程式。 網域控制站維護通常可以經由 RDP 及遠端伺服器管理工具執行。

  • 應利用安全性更新來自動更新系統管理樹系主機。 雖然這可能會產生中斷網域控制站維護作業的風險,但可大幅降低未修補弱點的安全性風險。

    Windows Server Update Services 可以設定為自動核准更新。 如需詳細資訊,請參閱〈核准更新〉的「自動核准更新以供安裝」一節。

強化工作站

系統管理員在其上輸入認證或執行系統管理工作的所有主機,都會獲得與所用帳戶相關聯的權限 (即使是暫時性)。 實際輸入密碼、智慧卡的 PIN 碼,或連接實體驗證裝置等動作,會將權限授與該電腦。 應依照系統上執行的最高風險活動來測量系統的風險,例如瀏覽網際網路、傳送和接收電子郵件,或使用其他應用程式來處理未知或未受信任的內容。

系統管理主機包括下列電腦:

  • 實際用來輸入系統管理員認證的桌上型電腦。

  • 系統管理工作階段和工具執行所在的系統管理「跳躍伺服器」。

  • 系統管理動作執行所在的所有主機,包括使用執行 RDP 用戶端的標準使用者桌上型電腦,從遠端管理伺服器與應用程式的主機。

  • 裝載需要管理的應用程式的伺服器,而且無法使用採用「受限管理模式」的 RDP 或 Windows PowerShell 遠端執行功能存取這些伺服器。

部署專用的系統管理工作站

雖然不太方便,但可能需要隔離使用者專用的強化工作站與高度影響的系統管理認證,以提供等於或大於認證權限層級的安全性層級給主機。 維護安全性以抵抗堅決且多才的敵手可能需要額外的措施,例如:

  • 驗證組建中的所有媒體是否乾淨 ,以緩和在下載或儲存期間安裝於主映像或插入安裝檔案的惡意程式碼。

  • 安全性基準 應該做為啟動組態。 客戶可以使用 Microsoft Security Compliance Manager (SCM) 在系統管理主機上設定基準。

  • 安全開機可抵禦嘗試將未簽署之程式碼載入開機程序的攻擊者或惡意程式碼。 Windows 8 中引進了這項功能,以便運用整合可延伸韌體介面 (UEFI)。

  • 軟體限制可確保只有經過授權的系統管理軟體,才可在在系統管理主機上執行。 客戶可以使用此工作的 AppLocker 搭配獲得授權的應用程式允許清單,協助防止執行惡意軟體和不支援的應用程式。

  • 完整磁碟區加密 可減輕實體電腦遺失,例如在遠端使用的系統管理膝上型電腦。

  • USB 限制 用來防禦實體感染媒介。

  • 網路隔離可防禦網路攻擊及不當的系統管理動作。 主機防火牆應封鎖所有的連入連線 (明確要求的連入連線除外),以及封鎖所有不必要的對外網際網路存取。

  • 反惡意程式碼 用來防禦已知的威脅和惡意程式碼。

  • 降低惡意探索的威脅可降低不明的威脅及惡意探索 (包括 Enhanced Mitigation Experience Toolkit (EMET)) 的威脅。

  • 攻擊面分析 可防止在安裝新軟體期間將新的攻擊媒介引進 Windows。 Attack Surface Analyzer (ASA) 一類的工具有助於評估主機上的組態設定,並找出因軟體或設定變更而引進的攻擊媒介。

  • 使用者應該不需要本機電腦系統管理權限。

  • 連出的 RDP 工作階段應有 RestrictedAdmin 模式,但角色要求時除外。 如需詳細資訊,請參閱 Windows Server 中遠端桌面服務的新功能

上述某些措施似乎很極端,但近幾年的公用揭露已說明熟練的敵手擁有危害目標的重要功能。

建立信任並準備現有網域,以便從防禦環境進行管理

MIM 包含 PowerShell Cmdlet,可協助在防禦環境中建立現有 AD 網域與專用系統管理樹系之間的信任。 在部署防禦環境之後,將任何使用者或群組轉換成 JIT 之前,New-PAMTrustNew-PAMDomainConfiguration Cmdlet 會更新網域信任關係,並建立 AD 與 MIM 所需的成品。

當現有的 Active Directory 拓撲變更時, Test-PAMTrustTest-PAMDomainConfigurationRemove-PAMTrustRemove-PAMDomainConfiguration Cmdlet 可用來更新信任關係。

為每個樹系建立信任的程序

現有的每一個樹系都必須執行 New-PAMTrust Cmdlet 一次。 此 Cmdlet 會在系統管理網域中的 MIM 服務電腦上叫用。 此命令的參數是現有樹系最上層網域的網域名稱,以及該網域的系統管理員認證。

New-PAMTrust -SourceForest "contoso.local" -Credentials (get-credential)

建立信任之後,請設定每個網域,以便能夠從防禦環境進行管理 (如下節所述)。

啟用各網域管理的程序

啟用現有網域的管理有七項需求。

  1. 現有網域中必須有一個群組,其名稱是 NetBIOS 網域名稱後面接著三個貨幣符號,例如 "CONTOSO$$$"。 群組範圍必須是「網域區域」,而群組類型必須是「安全性」。 對於要在專用系統管理樹系中使用與此網域中的群組相同的安全性識別碼建立的群組,這是必要的。 由現有網域的系統管理員在加入現有網域的工作站上執行下列 PowerShell 命令,即可達成:

    New-ADGroup -name 'CONTOSO$$$' -GroupCategory Security -GroupScope DomainLocal -SamAccountName 'CONTOSO$$$'
    
    
  2. 網域控制站上用於稽核的群組原則設定必須包括成功與失敗稽核,以便於執行稽核帳戶管理與稽核目錄服務存取。 透過群組原則管理主控台,由現有網域的系統管理員在加入現有網域的工作站上執行,即可達成:

    a. 依序選取 [開始][系統管理工具],然後啟動 [群組原則管理]

    b。 瀏覽至 樹系:contoso.local > 網域 > contoso.local > 網域控制站 > 預設網域控制站原則。 參考訊息會隨即出現。

    pam-group-policy-management-editor

    c. 在 [預設網域控制站原則] 上按一下滑鼠右鍵,然後選取 [編輯]。 新視窗會隨即出現。

    d. 在 [群組原則管理編輯器] 視窗的 [預設網域控制站原則] 樹狀結構下方,瀏覽至電腦設定 > 原則 > Windows 設定 > 安全性設定 > 本機原則 > 稽核原則

    pam-group-policy-management-editor

    e. 在 [詳細資料] 窗格的 [稽核帳戶管理] 上按一下滑鼠右鍵,然後選取 [屬性]。 按一下 [定義這些原則設定],再核取 [成功][失敗],然後按一下 [套用][確定]

    f. 在 [詳細資料] 窗格中,在 [稽核目錄服務存取] 上按一下滑鼠右鍵,然後選取 [屬性]。 按一下 [定義這些原則設定],再核取 [成功][失敗],然後按一下 [套用][確定]

    pam-group-policy-management-editor2

    g. 關閉 [群組原則管理編輯器] 視窗和 [群組原則管理] 視窗。 然後套用稽核設定,方法是啟動 PowerShell 視窗並輸入:

    gpupdate /force /target:computere
    
    

    幾分鐘之後應該會出現「電腦原則更新已成功完成。」訊息 。

  3. 網域控制站必須允許 LSB 從防禦環境進行 RPC over TCP/IP 連線。 在舊版的 Windows Server 上,必須在登錄中啟用 LSA 的 TCP/IP 支援:

    New-ItemProperty -Path HKLM:SYSTEM\\CurrentControlSet\\Control\\Lsa -Name TcpipClientSupport -PropertyType DWORD -Value 1
    
    
  4. New-PAMDomainConfiguration Cmdlet 會在系統管理網域中的 MIM 服務電腦上執行。 此命令的參數包含現有樹系的網域名稱,以及該網域系統管理員的認證。

    New-PAMDomainConfiguration -SourceDomain "contoso" -Credentials (get-credential)
    
    
  5. 防禦樹系中用來建立角色 (使用 New-PAMUserNew-PAMGroup Cmdlet 的系統管理員) 的帳戶,以及 MIM 監視服務所用的帳戶都需要該網域的讀取權限。

    例如,若 CORPDC 是現有網域 CONTOSO 的網域控制站,而 PRIV\Administrator 是防禦環境中需要讀取權限的使用者,則下列步驟可授與系統管理員與監視服務之網域的讀取權限。

    a. 確定以 Contoso 網域系統管理員身分 (例如 Contoso\Administrator) 登入。

    b。 啟動 [Active Directory 使用者和電腦]。

    c. 在網域 contoso.local 上按一下滑鼠右鍵,然後選取 [委派控制]

    d. 在 [選取的使用者及群組] 索引標籤上,按一下 [加入]

    e. 在 [選取使用者、電腦或群組] 快顯視窗上,按一下 [位置],並將位置變更為 priv.contoso.local。 在物件名稱上輸入 Domain Admins,然後按一下 [檢查名稱]。 出現快顯視窗時,為使用者名稱輸入 priv\administrator 和密碼。

    f. 在 Domain Admins 後面輸入 "; MIMMonitor"。 在 Domain Admins 及 MIMMonitor 名稱加上底線後,然後依序按一下 [確定][下一步]

    g. 在常見工作的清單中,選取 [讀取所有使用者資訊],再依序按一下 [下一步][完成]

    h. 關閉 [Active Directory 使用者和電腦]。

  6. 若授權之存取管理專案的目標,在降低具有永久指派給網域之網域系統管理員權限的帳戶數量,則網域中必須有急用帳戶,以免之後發生信任關係的問題。 緊急存取生產樹系的帳戶應存在於各網域中,而且只能夠登入網域控制站。 對有多個站台的組織,則可能需要其他的帳戶作為備援。

  7. 最後,檢閱該網域的系統容器中 AdminSDHolder 物件的權限。 AdminSDHolder 物件具有唯一的存取控制清單 (ACL),其用來控制身為內建特殊權限 Active Directory 群組成員之安全性主體的權限。 請注意,對預設權限所做的變更是否會影響網域中具有系統管理權限的使用者,因為這些權限不會套用到其帳戶位於防禦環境的使用者。

選取要納入的使用者和群組

下一個步驟是定義 PAM 角色,並建立使用者與群組的關聯。 對於被視為在防禦環境中管理的階層而言,這通常會是一小部分的使用者與群組。 如需詳細資訊,請參閱定義特殊權限存取管理的角色

顯示: