文件和目录的访问控制(4) 审核规则
2012-06-23 23:00
274 查看
文件和目录的访问控制(4) 审核规则
到目前为止,只是讨论了访问控制规则,它们构成了对象的DACL。DACL可以由对象的所有者任意更改,还可以由所有者已经给予其更改DACL权限的任何人更改。对象的安全描述符包含另一个规则列表,称为系统访问控制列表(System Access Control List,SACL),该列表将控制系统对对象执行哪个类型的审核。审核是一种具有安全敏感性的操作。在Windows中,审核只能由本地安全机构(Local Security Authority,LSA)生成,因为LSA是唯一允许向安全事件日志(这里存储了审核)中写入项的组件。安全审核是一项非常严谨的业务,可以在计算机法庭中根据事实分析谁做了什么事情,以及谁试图在系统中做什么事情。很多组织都长年保留它们的审核日志。不用说,规定对哪些项目进行审核的设置通常都受到严格的管理控制。如果执行该节中的代码并且遇到UnauthorizedAccessException消息,可能是因为运行时所在的账户不包含“安全特权”(Security Privilege)。为了能够修改甚至分析SACL,必须由本地计算机策略向你的账户分配这一强大的特权。尽管有这些可怕的警告,但在具有必要的特权之后,读取和操作对象的审核设置在所有方面都类似于修改访问控制设置。代码清单7-13是一个操作审核规则的简单示例。
代码清单7-13 操作审核规则
using(FileStream file = new FileStream(
@"M:\temp\sample.txt",FileMode.Open, FileAccess.ReadWrite))
{
FileSecurity security = file.GetAccessControl();
FileSystemAuditRule rule = new FileSystemAuditRule(
new NTAccount( @"FABRIKAM\Full_Time_Employees"),
FileSystemRights.Write, AuditFlags.Failure);
security.AddAuditRule(rule);
file.SetAccessControl(security)
}
与之前的代码示例不同的是,本示例使用一个新的FileSystemAuditRule类。该类表示基础访问控制项(ACE)的抽象,该访问控制项指定用户账户、要提供的访问的类型(读、写等),以及是否要执行审核。此类还可以指定如何从对象继承审核规则以及将审核规则传播到对象。
若要在 Microsoft Windows NT 上允许文件或目录审核,必须在自己的计算机上启用Audit Access Security策略。默认情况下,该策略设置为No Auditing。
启用 Audit AccessSecurity 策略的步骤如下:
步骤 1 打开 Local Security Settings Microsoft 管理控制台 (MMC) 管理单元,定位于 Administrative Tools 文件夹中。
步骤 2 展开 Local Policies 文件夹,左击 Audit Policy 文件夹。
步骤 3 在该 MMC 管理单元的右窗格上双击 Audit object access 项,或右击并选择属性选项以显示 Audit object access Properties dialog。
步骤 4 选中Success 或 Failure 框以记录成功或失败。
注意 用户账户的审核规则需要同一用户账户的对应访问规则。
如代码清单7-13所示,需要使用FileSystemAuditRule类创建新的审核规则,然后使用FileSecurity或DirectorySecurity类可持久保存此规则。
审核设置被表示为审核规则。可以指定你想要审核的安全主体(用户或组)的名称、感兴趣的访问权限类型(例如读取、写入等)以及你是希望在授予、拒绝访问权限还是在执行这两种操作时生成审核。例如,在代码清单7-13中,每当全职雇员被拒绝对某个文件或给定父目录下的目录进行写入访问时,系统都将生成审核。继承标志、传播标志和保护设置对审核规则的作用方式与它们对访问控制规则的作用方式完全相同。
---------------注:本文部分内容改编自《.NET 安全揭秘》
相关文章推荐
- 文件和目录的访问控制(3) 访问规则
- LAMP架构(配置防盗链,目录访问控制,文件/链接访问控制)
- 文件和目录的访问控制(2) 添加访问控制
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
- Nginx列出目录和文件并用密码控制访问权限配置方法
- apache 配置文件目录访问权限控制
- 用web.config文件控制对目录的访问(转贴)
- .NET 控制Windows文件和目录访问权限研究(FileSystemAccessRule)
- 使用apache htpasswd生成加密的密码文件,并使用.htaccess控制目录访问
- 文件和目录的访问控制(1) 访问控制列表
- LINUX 用ssh访问提示用户名密码不对,是因为/root/.ssh/目录下少authorized_keys2和id_dsa这两个文件
- 控制对文件的访问
- Centos 文件和目录访问权限设置
- I盘无法访问文件或目录损坏且无法读取,里面的文件如何找回
- Android应用程序如何访问/sys和/proc等目录下的系统文件
- android 访问/assets 和/res目录下文件的方法
- C#改动文件或目录的权限,为指定用户、用户组加入全然控制权限
- IIS虚拟目录内的视频文件访问出错:HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- linux 目录及文件的命名规则、ls操作
- tomcat 访问文件夹地址时显示目录下所有文件或文件夹