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
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...