惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
Spread Privacy
Spread Privacy
S
Securelist
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Project Zero
Project Zero
G
GRAHAM CLULEY
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
Scott Helme
Scott Helme
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
The Exploit Database - CXSecurity.com
The Hacker News
The Hacker News
雷峰网
雷峰网
N
News and Events Feed by Topic
宝玉的分享
宝玉的分享
O
OpenAI News
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
I
Intezer
Martin Fowler
Martin Fowler
S
Security @ Cisco Blogs
A
Arctic Wolf
Engineering at Meta
Engineering at Meta
U
Unit 42
L
Lohrmann on Cybersecurity
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
Schneier on Security
Schneier on Security
V2EX - 技术
V2EX - 技术
IT之家
IT之家
The Register - Security
The Register - Security
T
Tailwind CSS Blog
GbyAI
GbyAI
量子位
人人都是产品经理
人人都是产品经理
Recorded Future
Recorded Future
W
WeLiveSecurity
AWS News Blog
AWS News Blog
B
Blog RSS Feed
腾讯CDC
Hacker News - Newest:
Hacker News - Newest: "LLM"
Microsoft Security Blog
Microsoft Security Blog

博客园 - Laeb

ASP.NET Web 页面语法概览 ASP.NET Web 页面中的新事物 渐增的许可 介绍 ASP.NET Web 页面 管理工具 ASP.NET Web 页面概览 检测何时需要更改安全策略 System.Net 类的最佳习惯 异常处理的最佳习惯 面向世界应用程序开发的最佳习惯 使用 ASP.NET 所创建的 XML Web 服务的设计指南 为并发执行而创建应用程序与组件的指南 ASP.NET 控件与可访问 ASP.NET 中的可访问支持 实践:创建自定义 HTTP 模块 HTTP 模块介绍 实践:创建 HTTP 处理器工厂 实践:注册 HTTP 处理器 实践:创建同步 HTTP 处理器
安全策略管理的概览
Laeb · 2007-04-03 · via 博客园 - Laeb

.NET Framework 安全系统是由一个被称为安全策略的可配置规则集而被支配的。这个策略允许终端用户或者管理员来调整相应的设置,从而检测哪种资源代码才是被允许访问的并且最终决定哪种代码才是被允许根本运行的。

例如,假设你是一个企业设置的管理员并且你不信任来自于特定公司的软件。或许该公司生产用于雇员寻找乐趣的软件,但是引起日益增长的网络通信量或者引起工作站变得不稳定。那么你就可以设置一种企业级别的安全策略,并且以一个针对你的计算机资源的特定强命名密码(程序的唯一标识符)来限制该软件的访问。你同样也可以设置一种防止这个发布者的软件从根本上运行的策略。

这个主题提供了安全策略管理的概览。关于额外的信息,参考[安全策略管理]。

证明,代码分组和许可集

基于公共语言运行时的代码被布署在被称为汇编集的单元中。在装载的时候,运行时会检查每种汇编集的证明,从而识别关于该汇编集(比如代码作者的数字签名和代码最初的位置)的信息。基于证明和公共语言运行时的安全管理器就会把汇编集映射到一个基于安全策略的代码分组。代码分组是定义来测试特定的证明窗体并且拥有与其相关联的许可集。属于代码分组的汇编集会接收由相关联的许可集而被定义的许可。更多关于证明,代码分组和许可集的信息,参考[安全策略模型]。

许可

许可是呈现被保护资源的访问权利的简单对象。许可是可配置的并且一个简单的许可对象可以假设若干窗体。例如,FileIOPermission 就呈现了对本地硬盘中的文件进行访问、创建、读取,写入或者更改的权利。至于更深的意义,许可还必须包含它的呈现访问类别的特定信息。你可以配置 FileIOPermission 来呈现对于特定文件的读取权利、或者对于特定文件的读取与写入权利,或者在整个目录中读取特定文件。权利呈现和接收汇编集的权利都可以由计算机管理员进行完全的配置。虽然应用程序可以像其他对象一样来构造并且配置许可对象,但是只有安全策略才可以批准对于应用程序的许可。管理员最终会控制许可批准。关于公共许可的列表,参考[代码访问许可]。

安全策略级别

这里有四种由安全模型所定义的安全策略级别,从而符合不同的管理与托管情节。下表对每种级别进行了描述。其中企业策略级别是最高的级别,而应用程序域级别则是最低的级别。

策略级别描述
企业策略由设置企业域策略的企业管理员而被定义。
机器策略由设置机器策略的机器管理员而被定义。
用户策略由设置单独登录帐号策略的用户而被定义。
应用程序域策略由设置装载时策略的运行时托管(托管公共语言运行时的任何应用程序)而被定义。这个级别无法被管理。

每种策略级别都是由一个层次化的代码分组所组成的。并且每种策略级别的管理员都可以创建属于他们自己的代码分组和相关联的许可集。在装载时,代码访问安全系统会检查所有策略级别并且结果许可批准是每种级别中所有被允许许可的交集。低级别策略的管理员不可以放松更高级别中的策略决定,但是他们可以紧收他们所需要的策略。默认的安全策略位于机器策略级别中。

默认的安全设置如下所示:

  • 用户与企业级别被设置成不受限制。
  • 机器级别包含了特定的策略设置与限制。
  • 由所有三种级别所定义的设置组成默认的设置。

注意不受限制的用户与企业级别不会导致不受限制的许可被批准给汇编集。因为机器级别定义了若干限制,并且所有这三种级别都被认为是一个整体,所以许可批准结果并不是不受限制的许可。关于更多信息,参考[安全策略模型]。

把代码分组映射到许可集

你可以通过把代码分组映射到策略级别或者你所管理的级别中的许可集来管理策略。

代码分组中包含了一个成员条件,一个许可集关联和代码分组特性。汇编集的证明会防止运行时比较你为代码分组而指定的成员资格条件。如果汇编集提供了匹配成员资格条件的证明,那么这就是被允许的代码分组入口。管理员还可以通过指定成员资格条件来识别汇编集并且把它们归类到代码分组中。另外,代码分组特性可以被用来指定当前级别之下的非策略级别应该是被考虑的或者在指派许可的时候除了当前代码分组之外没有其他的需要被考虑。

下列内建的证明类别可以当成成员资格条件来使用:

  • 应用程序的安装目录
  • 汇编集的密码混列码
  • 汇编集发布者的数字签名
  • 来自于汇编集起源的站点
  • 汇编集的强命名密码
  • 来自于汇编集起源的 URL
  • 汇编集起源的区域

你可以把许可简化或者增加到基于任何成员资格条件组合的汇编集。因为自定义的成员资格条件是可以被创建的,并且上述列表并没有呈现所有可能。关于更多信息,参考[证明]。