Windows內置安全主體

来源:https://www.cnblogs.com/feiquan/archive/2019/02/24/10425646.html
-Advertisement-
Play Games

轉自:https://blog.csdn.net/xcntime/article/details/51746148 導讀:對於Windows內置安全主體特別需要註意的是:你無法創建、重命名和刪除它們,並且它們在任何一個Windows系統中都是一樣的。 在上期雜誌的“理解Windows內置安全主體(上 ...


轉自:https://blog.csdn.net/xcntime/article/details/51746148

導讀:對於Windows內置安全主體特別需要註意的是:你無法創建、重命名和刪除它們,並且它們在任何一個Windows系統中都是一樣的。


在上期雜誌的“理解Windows內置安全主體(上)”一文中,我們初步瞭解了Windows內置安全主體(它們是Windows安全子系統中預定義和控制的特殊對象)在管理和維護系統安全方面的強大功能。若仔細閱讀了該文,那麼你應當瞭解安全主體在簡化和控制Windows資源訪問控制上的能力。對於這些Windows內置安全主體特別需要註意的是:你無法創建、重命名和刪除它們,並且它們在任何一個Windows系統中都是一樣的。在本期文章中,我們將深入瞭解每個安全主體,為大家展示Windows是如何使用這些內置安全主體,並同時提供一些有用的使用技巧。

Authenticated Users和Everyone
Authenticated Users內置安全主體包括了所有通過Windows用戶登錄身份驗證的用戶——包括了域和森林中的所有用戶,以及來自其他受信任域森林的用戶。
Everyone內置安全主體可以認為是Authenticated Users的父集,它包括了Authenticated Users和Guest帳戶。成員關係在不同的環境中稍顯複雜。表1中顯示了Authenticated Users和Everyone的詳細成員關係。從表中可以看出對於Windows XP和Windows 2000的Active Directory(AD),Anonymous帳戶預設是Everyone的成員,但不是Authenticated Users的成員。對於Windows Server 2003的AD和Windows XP SP2,Anonymous帳戶預設就不是Everyone的成員,但是你可以通過修改Network Access: Let Everyone permissions apply to anonymous users設置,啟用這個功能。還可以通過修改註冊表HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\LSA\EveryoneIncludesAnonymous(REG_DWORD)中,鍵值改為1。無論任何情況下,Anonymous帳戶都不會是Authenticated Users的成員
                           

 

1:Authenticated Users和Everyone的成員關係對比

成員

Authenticated Users

Everyone

域中所有用戶

森林中所有用戶

被信任的域和森林中的所有用戶

Guest

Anonymous

對於Windows XP和Windows 2000 AD,是;對於Windows Server 2003和Windows XP SP2,否。

                                                    表1:Authenticated Users和Everyone的成員關係對比


System, Local Service和Network Service
在Windows 2000和更早的版本中,Windows的服務和很多第三方應用程式通常都運行在System內置安全主體的安全上下文環境中(有時也被稱為Local System和LSA帳戶)。AD用戶將其歸類為Well-Known-Security-ID-System。System代表了該電腦在網路中的電腦帳戶,網路中顯示為Domain name\ machine name$。本地系統的帳戶名為NT AUTHORITY\System。此帳戶沒有密碼,也不需要系統管理員的管理和干預:它自動使用Windows指派的電腦帳戶憑據。
System安全主體的威力大抵與UNIX系統中的root帳戶類似。當你在System的安全上下文環境中運行服務或者應用程式,那麼該服務或應用程式就具備了在這個Windows系統中無所不能的許可權。例如,假設一個服務使用System安全主體登錄到一臺域控制器,那麼該服務就成為DC上的本地服務。一旦該服務被黑客攻擊利用,那麼惡意用戶就具有了任何修改AD的許可權。所以要特別小心——尤其是遵從最小許可權的原則,儘量避免使用System。
為了遵從最小許可權原則和避免使用System帶來的隱患,Windows Server 2003和Windows XP SP2提供了兩種替代方案:Local Service和Network Service。Local Service提供了一般服務在本地運行所需的最小許可權。智能卡、遠程註冊表和Telnet服務都使用Local Service帳戶。使用Local Service的服務在訪問網路資源時,將預設使用Anonymous憑據。要配置一個服務使用Local Service,打開“服務”控制台,選擇所需服務點擊右鍵,“屬性”在“登錄”對話框中,選擇“此帳戶”並輸入NT AUTHORITY\LocalService。無需為此帳戶設置密碼。
Network Service提供了一般服務在需要訪問網路中其它電腦運行所需的最小許可權。如同運行System下的服務一樣,一個運行在Network Service下的服務在訪問網路資源時,需要使用它們的電腦帳戶憑據。功能變數名稱解析服務(DNS)和遠程過程調用(RPC)服務都預設使用Network Service。要配置一個服務使用Network Service,打開“服務”控制台,選擇所需服務點擊右鍵,“屬性”在“登錄”對話框中,選擇“此帳戶”並輸入NT AUTHORITY\NetworkService。無需為此帳戶設置密碼。

This Organization和Other Organization
Windows Server 2003中新增了This Organization和Other Organization兩個內置安全主體,它們是與一種新的,被稱為selective authentication或者authentication firewall的域森林間信任關係而出現的。Selective authentication允許你定義一個額外的訪問控制層,從而實現跨森林間的資源訪問控制。例如,你可以使用selective authentication限制幾台電腦的登錄,之後在那台電腦上再允許或者拒絕訪問對象。
你可以為域森林信任關係或者外部域森林間信任關係配置selective authentication。你可以為兩個域森林的根域創建信任關係,將其應用到森林之間的資源訪問控制。也可以為兩個域森林中任意兩個域之間創建信任關係,將其應用到森林之間的資源訪問。
通過“AD域和信任關係”控制臺中的“新建信任嚮導”或者信任關係的屬性頁來配置一個森林或者外部信任關係為selective authentication。要配置selective authentication,在信任關係“屬性”對話框的“驗證”中選擇selective authentication。
需要註意,只有當你的Windows Server 2003域運行在純模式狀態,並且森林中的域定義了向外的信任關係之後才能夠選擇設定selective authentication。此外,你也可以為一個Windows NT 4.0域配置selective authentication,用以限制它對另一個Windows Server 2003域中資源的訪問控制。
當一個域森林或者外部信任關係被設置為selective authentication,若有用戶嘗試訪問外部被信任域的資源時(通過跨森林的信任關係),Windows會在該用戶的訪問令牌中加入Other Organization內置安全主體。所有在域森林內跨域訪問資源的用戶,在其訪問令牌中預設都持有The Organization的內置安全主體標識。當有用戶訪問外部被信任域的資源(通過跨森林的信任關係),而此信任關係沒有被配置為selective authentication,那麼Windows則將This Organization安全主體添加到該用戶訪問令牌中。在這種情況下,This Organization的成員就與Authenticated Users的成員一樣了。
若一位用戶的訪問令牌中包括Other Organization內置安全主體,資源伺服器會檢查該用戶的訪問許可權是否在資源伺服器的Allowed-to-Authenticate中被允許。你可以在電腦對象的ACLs中修改Allowed-to-Authenticate許可權。如果該用戶具備Allowed-to-Authenticate中的許可權,那麼跨森林的驗證成功。在驗證階段,資源伺服器將檢測是否為Other Organization賦予了的許可權,並以此決定允許或者拒絕對資源的訪問。

Restricted Code
Windows新增的Restricted Code內置安全主體,在Windows Server 2003中當用戶使用帶Run this program with restricted access選項的RunAs命令和在Windows XP中使用帶Protect my computer and data from unauthorized program activity選項的RunAs命令時,系統將把該安全主體加入到用戶訪問令牌中。RunAs命令為廣大系統管理員提供了非常便利的條件,在普通用戶帳戶的安全上下文中,使用該命令方便的切換至只有系統管理員才有許可權運行的各種管理程式,這樣能夠有效防止惡意程式濫用管理員許可權,而且遵循了最小許可權原則。要瞭解更多關於RunAs命令的信息,請參閱文章“Learn to Be Least”(2005年10月,InstantDoc ID 47622)。
當用戶訪問令牌中包括Restricted Code內置安全主體,Windows會忽略該用戶除了Bypass Traverse Checking之外的所有許可權設置,防止應用程式訪問用戶的配置文件,對註冊表區域HKEY_LOCAL_ MACHINE和HKEY_CURRENT_ USER僅有讀的許可權。
Restricted Code安全主體為遵從最小許可權配置和使用單一用戶名密碼提供了非常便利的條件。要瞭解更多關於RunAs命令的功能以及如何結合使用Restricted Code安全主體的知識,建議閱讀Aaron Margosis的Blog文章“Running Restricted”(http://blogs.msdn.com/aaron_ margosis/archive/2004/09/10/227727.aspx)。

Logon-和Authentication-Type
在Windows Server 2003、Windows XP和Windows 2000的操作系統中,Windows還會根據登錄方式在訪問令牌中加入相應的內置安全主體。其中Logon-Type安全主體包括Batch、Dialup、Interactive、Network、Service和Terminal Server User(Terminal Server User是指所有使用終端服務4.0相容應用程式登錄的用戶)。
Windows Server 2003和Windows XP SP2中還增加了Remote Interactive Logon內置安全主體,它代表所有使用Windows Server 2003或者Windows XP版本的終端服務或者遠程桌面登錄的用戶。要瞭解更多關於登錄類型的信息,請參閱本刊2005年9月刊文章“登錄許可權:Windows訪問控制的核心”。
Windows Server 2003還增加了三個與驗證協議有關的內置安全主體——NTLM Authentication、SChannel Authentication和Digest Authentication。這三個內置安全主體分別對應了用戶在登錄Windows時所採用的身份驗證協議。值得註意的是,微軟沒有為Kerberos和基本身份驗證提供相應的安全主體。
你可以利用登錄和身份驗證類型的內置安全主體,對用戶和資源進行更加細緻的顆粒級訪問控制。這些新的內置安全主體賦予了你根據用戶採用的身份驗證協議(例如:NTLM,Digest,SSL)和登錄類型(例如:通過控制台、使用終端服務等),為不同類型的用戶配置不同級別的訪問許可權。

Self,Creator Owner和Creator Group
在Windows系統中運用了很多層次結構的概念(包括AD,註冊表以及文件系統),並且它們都支持用戶許可權的繼承關係。當你為父對象定義了一種許可權,那麼該許可權將自動應用到父對象中的所有子對象上。實現這種功能的原理就在於:Windows利用了Self、Creator Owner和Creator Group這幾個內置安全主體。
一般而言,當你將這三個內置安全主體加入父對象的ACL中後,其中的子對象將通過以下幾種方式繼承這些安全主體:
 對於父對象上Creator Owner安全主體具備的許可權,在新創建的子對象上這些許可權將被自動繼承。例如,AD管理員在一個OU上為Creator Owner設置了Write的許可權,那麼當一個用戶在該OU中創建一個新用戶之後,該用戶對於此新建的對象就天然具備Write的許可權。
 Creator Group的功能與Creator Owner十分類似,但並不是在子對象上為Creator Owner添加許可權,而是為Creator Group賦予允許或者拒絕的許可權。
 Self作為對象的一個占位符。例如,AD管理員在一個OU上將用戶對象屬性中的postalAddress屬性為Self設置了Write許可權。當你創建一個稱為Jan的用戶之後,用戶Jan對這個postalAddress屬性將具備寫的許可權(也就是說,Jan可以自行更改用戶屬性中postalAddress地址的權力)。註意在其他用戶對象上相同的Self許可權,Jan將無法更改其他用戶的postalAddress屬性,因為Self僅僅針對其自身的用戶帳戶。
預設情況下,Windows為Self賦予組成員關係Read的許可權。這個設置保證了每個組成員都可以查看他們所在的組還有其他成員。由於AD還賦予了Authenticated Users對組成員列表讀的許可權,所以Authenticated Users也可以看到相同的內容。

功能強大但是稍顯複雜
至此,你大概已經瞭解了Windows內置安全主體具備的強大功能,對Windows如何進行訪問控制更加加深了一些理解。看看Windows Server 2003中新增的內置安全主體,以及許可權委派、自我管理的應用越來越普及,可以想象將來的Windows還將添加更多的內置安全主體。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Nmap是一款針對大型網路的埠掃描工具,被廣泛應用於黑客領域做漏洞探測以及安全掃描,其主要功能有主機發現(Host Discovery)、 埠掃描(Port Scanning)、 版本偵測(Version Detection) 、操作系統偵測(Operating System Detection ...
  • 一、TensorRT支持的模型: TensorRT 直接支持的model有ONNX、Caffe、TensorFlow,其他常見model建議先轉化成ONNX。總結如下: 1 ONNX(.onnx) 2 Keras(.h5) --> ONNX(.onnx) (https://github.com/on ...
  • 添加主機與主機組 1. 進入web頁面,在 配置 主機群組,新建主機群組 2. 在 配置 主機,新建主機 在可見的名稱中建議填寫為類似 主機類型 主機名 IP或功能變數名稱 的格式,如Web Hyrule001 192.168.233.247 在 群組 中選擇之前新建的群組 agent代理程式的介面 填寫a ...
  • Let’s Encrypt 是由 Internet Security Research Group (ISRG) 開發的一個自由、自動化和開放的證書頒發機構。目前幾乎所有的現代瀏覽器都信任由 Let’s Encrypt 頒發的證書。 這個教程,將會一步一步的教你如何在 CentOS 7 上通過 C... ...
  • 詳細說明 Restricted 執行策略不允許任何腳本運行。 AllSigned 和 RemoteSigned 執行策略可防止 Windows PowerShell 運行沒有數字簽名的腳本。 允許運行簽名腳本 首次在電腦上啟動 Windows PowerShell 時,現用執行策略很可能是 Res ...
  • 1、LAMP 環境搭建 初次安裝可以先關閉selinux 和 firewall 1.1 mariadb資料庫安裝,啟動、加入啟動項 1.2 apache安裝安裝、啟動、加入啟動項 更改mysql root初始密碼: mysql> set password for root@localhost = p ...
  • 1.前言 在Linux中,伙伴系統(buddy system)是以頁為單位管理和分配記憶體。但是現實的需求卻以位元組為單位,假如我們需要申請20Bytes,總不能分配一頁吧!那豈不是嚴重浪費記憶體。那麼該如何分配呢?slab分配器就應運而生了,專為小記憶體分配而生。slab分配器分配記憶體以Byte為單位。但 ...
  • windows powershell基礎 目錄: 1.管道和重定向 2.命令執行 3.變數 4.數組和哈希表 #@()創建數組,使用","把每個值分隔開,@{}創建哈希表,用";"把每個值分隔開 5.常用命令 get-help 查看幫助 get-command 查詢命令 get-member 查看對 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...