Skip to main content
網路安全

什麼是安全性識別碼 (SID)?

安全性識別碼是 Windows 中識別實體與控制存取的基礎。了解 SID 的運作方式、常見挑戰,以及適當管理它們的最佳實務。

作者 SentinelOne
什麼是安全性識別碼 (SID)?

可以將安全性識別碼想像成具有唯一代碼的特殊通行證,用於篩查與追蹤誰可以存取哪些內容。現在,想像您的企業在所有主要入口點都使用這些特殊通行證。

其典型運作方式如下:訪客通行證會將訪客限制在一般區域,員工通行證會允許員工存取與其工作角色相關的工作區域,而管理員通行證則會讓 C-suite 高階主管或其他資深員工存取限制更多的高風險區域。這正是 SID 在您的 IT 系統中的運作方式,可保護關鍵系統、商業機密與敏感資料免於未經授權的存取。

話雖如此,讓我們深入解析安全性識別碼 (SID) 的概念,探討 SID 是什麼、為何重要、如何運作,以及解決常見 SID 問題的一些最佳實務。

什麼是安全性識別碼 (SID)?

一個 安全性識別碼 (SID) 是在 Windows 環境中使用的唯一且不可變更的值,例如 Windows 伺服器、作業系統與 Active Directory,用於識別安全性主體、控制存取,以及疑難排解安全事件。

SID 會為安全性主體(例如電腦帳戶、使用者、程序與安全性群組)提供唯一識別碼,將它們與其他所有主體區分開來,使存取治理更容易。通常是一長串字串,例如:S-1-5-21-3632462615-3141105534-30830830-1115,SID 永遠不會重複使用,且無論使用者身分是否變更都會保持不變。

以下說明 SID 中這串長字元的含義。

元件含義
s表示此字串是 SID
1表示 SID 結構的版本,稱為 SID 修訂層級
5指定發出 SID 的授權單位,稱為識別碼授權單位。SID 識別碼授權單位值的範圍為 0-5。此處的 5 指的是 NT Authority。
21此值反映子授權值,用來表示網域的大小。在此案例中,SID 有三個子授權。
3632462615-3141105534-30830830識別 SID 來源的網域或本機電腦。結合子授權值後,可確保若 John Reed 可存取兩個網域,他在每個網域中都會有不同的 SID,而其中一個不會成為另一個的有效安全性識別碼。
1115稱為相對識別碼 (RID),它可精確指出安全性主體,確保即使同一組織內有兩位 John Reed,兩者也都無法存取原本屬於對方的敏感資源。

安全性識別碼在網路安全中的用途是什麼

SID 在網路安全中的主要用途,是為 Windows 環境中的身分與存取管理提供充分基礎。SID 扮演以下關鍵角色。

  • 物件識別: SID 將安全性主體與特定 ID 建立關聯,使實體易於識別,且其在敏感檔案周遭的活動易於稽核。
  • 存取控制: Windows 會將 SID 與存取控制清單 (ACL) 比對,以判定與特定安全性主體相關聯的權限層級。這可確保授予使用者的權限不多也不少,恰好符合存取控制清單中指定的權限(讀取、寫入、刪除等)。
  • 監控與稽核: SID 用於 Windows 記錄中,以追蹤登入嘗試與檔案變更等存取事件。這讓安全團隊能夠掌握使用者活動、隔離遭入侵的帳戶,並對登入失敗、未經授權的檔案刪除等安全事件進行疑難排解。
  • 安全性: 由於 SID 是使用複雜的雜湊機制產生,並嵌入於存取權杖中,因此與使用者名稱/密碼配對不同,SID 很難被竊取、破解或複製,從而降低外洩風險。SID 也提供跨網域存取功能,使企業網路中的各個網域都能維持一致的存取控制。

安全性識別碼用於哪些地方?

Windows 在下列元素中使用 SID 來管理檔案存取、群組權限與系統層級功能:

  • 安全性描述元: 用於指定物件的擁有權,例如檔案所屬的主體。
  • 存取控制項目: 用於指出允許或拒絕存取的受託者,以及會被稽核的存取事件。
  • 存取權杖: 用於提供使用者身分、所屬群組以及其擁有何種類型權限的證明。

安全性識別碼查詢:如何找到安全性識別碼號碼

現在我們已了解安全性識別碼是什麼及其用途,以下說明如何擷取使用者的 SID:

前往 Windows 登錄編輯程式並開啟 Windows Management Instrumentation Command (WMIC)。這是一個用於執行管理工作之 CLI。開啟後,執行下列命令:

wmic useraccount get domain,name,sid

安全性識別碼與使用者名稱的比較

安全識別碼是可供機器讀取、用於控制使用者存取的字元字串,而使用者名稱則是可供人類讀取、用於識別使用者的字元組合。下表重點說明兩者的主要差異。

SIDs使用者名稱
唯一且不可重複,提供額外的安全層經常在不同環境中重複出現,這也是為什麼遭竊的使用者名稱/密碼配對會成為暴力破解攻擊及其他相關攻擊中的主要攻擊向量
不可變更——使用者在網域內的 SID 除非其帳戶遭到刪除,否則永遠不會改變大致上可變更
SIDs 是透過雜湊產生,因此更難遭到竄改。使用者名稱是使用純文字產生,因此較容易遭到竄改。

雖然安全識別碼與使用者名稱是兩個不同的概念,但它們在 Windows 環境中可協同運作,以保護身分與網路資源。

安全識別碼的類型

Windows 提供相當多種類型的 SID,每一種都具有不同的用途。

以下是一些關鍵安全識別碼類型的說明:

  • 知名 SID:這些通常是固定不變的識別碼,用於識別一般使用者與群組。Windows 預先定義了這些具有特定意義的 SID。例如,Everyone – S-1-1-0 的 SID 包含所有使用者,而 Local Administrators – S-1-5-32-544 則代表本機系統管理員群組。
  • 全域唯一識別碼 (GUID) SID:GUID 是 Active Directory 的物件識別碼。建立新網域或帳戶時,系統會在指派知名 SID 的同時,將 GUID 指派給新物件。
  • 相對識別碼 (RID) SID:RID 是 SID 結尾的唯一字元字串。它們用於識別網域或群組中的特定主體。
  • 網域特定 SID:這些 SID 描述 Windows 或 Active Directory 網域及網域內的實體。這些 SID 包含一個網域 SID,後面接著網域中每個物件的唯一 RID。
  • Security Account Manager (SAM) SID:在 Windows 中,SAM 資料庫保存可作為敏感資產存取守門機制的使用者與帳戶認證資料。SAM SID 是用於識別 SAM 資料庫內或可存取該資料庫之主體的值。
  • 虛擬帳戶 SID:這些 SID 用於驗證與強制執行授予應用程式、服務及程序的權限等級。

安全識別碼如何運作?

可將 SID 視為您在 Windows 中建立 IAM 堡壘的基礎。以下說明 SID 的運作方式。

  1. SID 指派: 在 Windows 中建立帳戶時,系統會立即產生、指派並將相關 SID 儲存在安全性資料庫中。
  2. SID 與 ACL 的關聯: SID 產生後,會連結至存取控制清單中所列出的權限與特權。
  3. 使用者驗證: 每次安全性主體登入時,Windows 都會先驗證登入詳細資料是否有效。若有效,系統便會從資料庫擷取其 SID,並將其放入權杖中。
  4. 以 SID 為基礎的存取控制: Windows 會將 SID 與安全性設定進行比對——這些設定也包含在存取權杖中——以判斷該主體可存取哪些檔案與資源。

設定安全識別碼 (SID)

在 Windows 系統中,一旦建立實體,SID 通常預設就會啟用。不過,某些服務——例如核心驅動程式以及監控 SQL Server 的 System Center Operations Manager (SCOM) HealthService——並不會自動具備服務 SID。

若要在這類服務中設定 SID,請先將服務設定為可使用服務 SID。接著,建立會觸發 SID 驗證的登入程序。例如,若要為 SCOM HealthService 設定 SID:

  1. 使用 SC.exe(Windows SDK 中的 CLI)來建立 SID。
  2. 查詢 SQL 資料庫層級的安全性設定與權限,以驗證 SCOM HealthService SID 已建立。
  3. 使用查詢或 SQL Server Management Studio (SSMS) 在 SQL Server 內建立 Windows 登入。
  4. 以與具有預設 SID 的實體相同的方式,將角色與權限指派給該 SID。

安全識別碼的常見問題以及如何修正?

如同所有旨在提升安全性的機制一樣,SID 也有其問題與風險。以下簡要概述 SID 的主要問題以及修正方式。

1. SID 歷程注入暴露

SID 歷程注入暴露 是一種漏洞,允許駭客透過注入 SID 值來濫用 SID History,進而提升權限或遠端存取敏感資源。

為防止 SID 歷程注入暴露,請刪除孤立帳戶並使用 身分偵測與回應工具。這些工具可協助管理安全性主體,並即時偵測身分威脅。您也可以使用 SIEM 工具 來記錄與稽核 SID 周邊的存取模式與活動。

2. 重複的 SID

當兩個負責發放唯一 SID 的網域控制站取得相同的相對 ID 集區時,就會發生 SID 重複。這會讓非預期實體得以存取原本授予其在重複網域中對應實體的權限,帶來嚴重的內部威脅與橫向移動風險。

您可以使用 Ntdsutil 尋找並重新設定重複的 SID 來修正此問題。您也可以 追蹤網域控制站,以確保相同的 RID 集區絕不會被配置兩次。

3. 孤立的 SID

就像使用者離開企業或變更職務時常會留下孤立帳戶一樣,當安全性主體遭刪除或移至不同網域時,ACL 中也會留下孤立的 SID。若長時間未被發現,孤立的 SID 可能被用來執行進階持續性威脅 (APTs)。

定期執行 PowerShell 指令碼以識別孤立的 SID,並移除所有相關權限。

4. 無法解析的 SID

無法解析的 SID 是指在系統中無法對應到易讀名稱的 SID。如果它是 Capability DID,這可能不是問題——它們不像其他 SID 那樣會被解析。但如果無法解析的 SID 不是這種情況,那麼它可能是重複的 SID、與已刪除帳戶相關的 SID,或具有損毀信任關係的 SID。

若要找出並修正根本原因,請啟用偵錯記錄,或使用 Ntdsutil 修正重複的 SID。

安全性識別碼管理最佳實務

妥善的 SID 管理是保護 Windows 網路安全的關鍵。以下是一些 SID 管理建議。

  1. 在可行的情況下,請一律優先選擇系統產生的 SID,而非手動建立的 SID。手動 SID 容易發生人為錯誤。
  2. 透過授予使用者有效完成工作所需的最低權限,落實 最小權限原則 (POLP)。
  3. 允許或拒絕以角色為基礎的群組存取,而非針對個別使用者。這可降低孤立 SID 的風險,避免使用者在轉換工作或職務時帶入先前角色的權限。
  4. 定期找出並刪除孤立的 SID,並更新與其相關的權限,以消除過多或過時的權限並將存取擴散降至最低。
  5. 將 SID 視為機密。不要分享或儲存在不安全的位置;攻擊者總是在尋找下一個受害者。
  6. 使用 SIEM 工具記錄使用者活動、存取模式及 SID 變更。這將提供監控資料,以便在發生資料外洩前偵測可疑的 SID 相關事件。
  7. 備份 ACL、SID 及相關權限,以便在發生安全事件或災難時順利復原。
  8. 定期修補系統與軟體;您不會希望駭客利用系統中的漏洞來操控 SID 並存取敏感資產。

如何在 Windows 環境中管理安全性識別碼

若要在 Windows 中有效管理 SID,您必須:

  • 將 SID 管理工作自動化,例如備份 SID 與 ACL、 尋找重複的 SID,以及刪除孤立的 SID。
  • 妥善定義 ACL,包括權限及相關 SID,並將 POOP、RBAC 與即時存取 (JIT) 等核心存取控制概念納入考量。
  • 在必要時使用集中式身分與存取 (IAM) 管理解決方案、監控平台及預建程式。IAM 工具可簡化身分治理,防止過度授權及其他身分風險。監控平台 可協助您在攻擊者入侵系統前偵測身分威脅。像 PowerShell 這類內建程式有助於解析 SID、變更 SID 設定,以及刪除孤立的 SID。
  • 防止未經授權存取 SID 與存取設定。
Callout Background Image Gradient

AI-Powered Cybersecurity

Elevate your security posture with real-time detection, machine-speed response, and total visibility of your entire digital environment.

結論

安全性識別碼 (SID) 對於管理 Windows 環境中敏感檔案、資料夾與資產的安全存取至關重要。SID 可唯一識別實體及其權限,確保已登入的使用者只能存取存取控制清單 (ACL) 中指定的資源。

除了防止未經授權的存取之外,它們也讓網域管理員能夠追蹤與關鍵任務資產互動的實體,並防止資料外洩。

然而,只有在處理相關風險、實施 SID 最佳實務,並落實適當的 SID 管理與監控時,SID 才能發揮效用。

常見問題

SID 是用於在 Windows 環境中識別受託者的唯一英數字元字串。

若要在使用者名稱與對應的 SID 值之間進行轉換,請使用 Windows Local Security Authority (LSA)。

若要查詢 SID,請在 Windows 命令提示字元中執行下列命令:

wmic useraccount get domain,name,sid

Windows 使用 SID 作為有效區分安全性主體的方式。例如,在組織中有兩個人同名的情境下,例如 Rob Smith,SID 對於區分 Rob Smith 1 的權限與 Rob Smith 2 的權限就變得至關重要。Windows 也使用 SID 來簡化存取控制並協助事件疑難排解。

常見的 SID 範例包括 Everyone SID—S-1-1-0、Null SID—S-1-0-0,以及本機帳戶 SID—S-1-5-113。

SID 通常是由字母 S 開頭的一長串數字所組成。例如: S-1-5-21-3632462615-3141105534-30830830-1115。

一般而言,您不需要手動變更 SID,因為它們會自動產生。不過,如果您需要這麼做,可以:

  • 刪除帳戶並將其重新加入網域,藉此觸發新的自動產生 SID。
  • 在 Windows 命令提示字元中使用 Sysprep。不過,這將需要系統管理員權限,而且過於頻繁地使用可能會導致帳戶遭到鎖定。

深入了解 網路安全

Decorative background gradient

體驗最先進的資安平台

了解全球最智慧、最自主的資安平台如何在今日及未來保護您的組織。
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text