如何防止網域成員伺服器遠端執行程式碼?

如何防止網域成員伺服器遠端執行程式碼?

有沒有辦法使用防火牆、群組原則設定或其他控制來防止登入網域成員的人員能夠在網域控制站上遠端執行程式碼(否則他們無權網路存取)他們可能竊取了某人的網域管理員憑證?或者日常 AD 成員資格所需的網路存取是否永遠且不可分割地與遠端執行所需的網路存取相同執行程式或PowerShell?

舉個例子:

  • Windows 伺服器「member1」是簡單 AD 網域的網域成員
  • Windows 伺服器「dc1」和「dc2」是這個簡單網域的網域控制站
  • member1 和 DC 之間有硬體防火牆,只有這些TCP 和 UDP 連接埠member1 和 DC 之間允許進行網域成員資格所需的操作。
  • 用戶「Jack」是「member1」上的用戶,除了上一個項目符號中所述的存取權限之外,沒有對 DC 的網路存取權限。
  • Jack很狡猾,可以透過社會工程攻擊或其他方法取得網域管理員「Jill」的憑證。
  • Jack 取得這些憑證,登入member1,並且可以在 dc1 或 dc2 上遠端執行程式碼,可能使用執行程式或者 PowerShell 甚至只是使用 .NET 推出自己的實用程序,因為網域成員資格所需的網路存取包括執行此類遠端呼叫所需的網路存取。

我想透過確保 member1 只能在網域上執行常規 AD 功能(身份驗證、更新群組原則、時間同步等)來阻止此攻擊,並阻止其他操作,例如遠端執行 DC 上的進程。

答案1

這不可能。如果您加入網域,則該網域可以在您的電腦上登入使用者並向其套用 GPO。 GPO 可以導致從網路安裝軟體並修改任意登錄項目。

在 enclave 中使用 RODC 將保護網域免受您的 enclave 的影響,但不會保護 enclave 免受您的網域的影響。不過,您可以以相反的方式使用此方法來提高安全性,讓所有託管電腦僅與 RODC 通信,並僅允許其他 DC 存取可寫入 DC。

如果您希望保護您的網域中的敏感電腦免受損害,請考慮為這些主機建立一個單獨的網域(在單獨的林中)並單獨管理它們;當需要安全飛地時,這種情況很常見。您也可以考慮根本不將它們加入網域,尤其是在它們很少的情況下。

看了你的評論,我真的不確定你的威脅模型是什麼。

您具體做什麼將在很大程度上取決於您的威脅模型。但是,通常網域成員和任意使用者無法在網域控制站上執行程式碼。如果您擔心的是漏洞,修補是一個很好的策略,在任何一種情況下,使用 RODC 都可以幫助限制影響,因為 RODC 無法更改網域中的任何內容。

如果您擔心使用者遠端執行命令或登入網域控制器(這不會賦予他們任何權利來執行諸如在網域上部署軟體之類的操作,而不使用某種權限升級漏洞或類似的操作),您可以阻止他們透過群組原則登入 DC。

此設定位於適用於 DC 的 GPO 中,位於Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment... 下(如果您想要執行此操作)。

使用者(和其他安全主體)綁定到網域或計算機,但不能同時綁定到兩者。您無法真正執行諸如根據 AD 中連接的電腦來拒絕網域管理員權限之類的操作。但是,您可以做的是限制對非 RODC 的 DC 的網路訪問,這可能足以(取決於您的威脅模型)來防止隨機使用者工作站的管理操作。如果您想阻止使用者使用 RODC 作為樞軸點(這是您想要做的嗎?),我想您可以拒絕他們的所有登入權限,但這會使管理變得相當困難 - 相反,我建議只允許RODC 與其他DC 之間的防火牆上的DS 複製連接埠。

您必須開啟的連接埠是 RODC 部署文件中標識的連接埠;請參閱“所需的通訊連接埠”部分:https://technet.microsoft.com/library/dd728028%28v=ws.10%29.aspx。但是,唉,必須允許 RPC,這就是 psexec 的工作原理。這只會讓您禁止透過 RDP 等方式登入。

為了解決這個問題並防止 psexec 使用被盜的憑證,您可以始終禁止網域管理員透過可寫入網域控制站上的上述 GPO 進行批次作業登入。這會稍微降低可管理性,但這是您可以做出的決定。有一個關於網域管理員帳戶安全性的有關此內容和其他提示的非常好的文件:https://technet.microsoft.com/en-us/library/dn487454.aspx。使用委派存取(即透過委派而不是一攬子網域管理員向管理帳戶授予特定管理權限)也可能是您的選擇。

答案2

您需要從網域控制器存取什麼?由於member1 和網域控制站之間有防火牆,因此您可以阻止對dc1 和dc2 的所有訪問,然後在member1 可以訪問的防火牆外部放置諸如唯讀網域控制器或Web 前端之類的內容。

答案3

您可以從另一個方向解決此問題,只需使用 SRP 或 AppLocker 阻止所有可執行檔(exe、bat、ps1 等)在您的 DC 上執行,您事先批准的除外。這樣一來,即使他們確實獲得了訪問權,他們也會受到嚴重阻礙。

但是假設某人確實具有管理員權限,他們可以從大多數電腦對您的網域執行任何他們想要的操作 - DC 主要用於身份驗證...

而且,正如托德所說,如果你不能信任吉爾,你最好取消這裡的權利...

答案4

簡而言之,網域管理員可以做任何他想做的事情(因此是網域管理員!)。無法封鎖竊取網域管理員憑證的人。他可以推翻您採取的任何安全措施。

相關內容