Audit 审计 | Administration 管理
Encryption 加密 | Access Control 访问控制
User Authentication 证明, 鉴定
Windows系统的安全组件
对于Windows系统来讲,系统的安全性主要体现在系统的组件的功能上。Windows提供5个安全组件,保障了系统的安全性。Windows系统组件体现在很多方面,例如Windows用户策略,访问控制的判断,对象的重用,强制登陆等。
访问控制的判断(Discretion access control)
如图一所示,访问控制是在第二层上,安全性级别为普通。访问控制的判断允许对象所有者可以控制谁被允许访问该对象以及访问的方式。
对象重用(Object reuse)
如果您正在阅读一篇本地的文章,例如是DOC文件,那么,在你阅读的同时,又想将该文件打包传送给其他人,这时候进行打包的工作是不被允许的,当你执行该工作时,系统回提示您该文件正在被另一个程序所使用。当资源(内存、磁盘等)被某应用访问时,Windows 禁止所有的系统应用访问该资源,这也就是为什么无法恢复已经被删除的文件的原因。
强制登陆(Mandatory log on)
该类方式运用的最多的地方该属活动目录(Active Directory),如果在域控制器(DC)限制用户登陆的方式,要求所有的用户必须登陆,那么通过认证后才可以访问系统资源。
审核(Auditing)
打开管理工具种的“事件查看器”,点击“安全性”,这里就可以看到本地计算机登陆的审核列表。如果登陆该计算机失败,管理员就很快可以确定是否时恶意***等其他信息。在控制用户访问资源的同时,也可以对这些访问作了相应的记录。
对象的访问控制(Control of access to object)
在NTFS文件系统种,对方访问控制做得非常的到位。选择一个文件夹单击右键选择“属性”,在“安全”选项里可以看到用户所具有的权限值。NTFS文件系统很好的解决了多用户对资源的特级访问权限。要访问资源,必须是该资源允许被访问,然后是用户或应用通过第一次认证后再访问。
Windows安全子系统的组件
安全标识符(Security Identifiers)
对于SID,大家一定不会陌生。简单来说就是每次当我们创建一个用户或一个组的时候,系统会分配给改用户或组一个唯一SID,当你重新安装系统后,也会得到一个唯一的SID。SID是唯一的,不随用户的删除而分配到另外的用户使用。
请记住,SID永远都是唯一的SIF是由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。
例: S-1-5-21-1763234323-3212657521-1234321321-500
访问令牌(Access tokens)
在很多网络培训教程都有详细的介绍。当用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给Windows 系统,然后Windows NT检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,系统将会分配给用户适当的访问权限。
访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。
安全描述符(Security descriptors)
Windows 系统中的任何对象的属性都有安全描述符这部分。它保存对象的安全配置。
访问控制列表(Access control lists)
访问控制列表有两种:任意访问控制列表(Discretionary ACL)、系统访问控制列表(System ACL)。任意访问控制列表包含了用户和组的列表,以及相应的权限,允许或拒绝。每一个用户或组在任意访问控制列表中都有特殊的权限。而系统访问控制列表是为审核服务的,包含了对象被访问的时间。
访问控制项(Access control entries)
访问控制项(ACE)包含了用户或组的SID以及对象的权限。访问控制项有两种:允许访问和拒绝访问。拒绝访问的级别高于允许访问。
Windows安全子系统
Winlogon 加载GINA,监视认证顺序
Graphical Identification and Authentication DLL (GINA) 提供登陆接口
Local Security Authority(LSA) 加载认证包
Security Support Provider Interface(SSPI) Microsoft安全支持提供器接口
Authentication Packages 提供真正的用户校验
Security support providers 支持额外的验证机制
Netlogon Service 管理用户和用户证书的数据库
Security Account Manager(SAM) 为认证建立安全通道
该流程过程如图二:
Winlogon and Gina
Winlogon调用GINA DLL,并监视安全认证序列。而GINA DLL提供一个交互式的界面为用户登陆提供认证请求。GINA DLL被设计成一个独立的模块,当然我们也可以用一个更加强有力的认证方式(指纹、视网膜)替换内置的GINA DLL。
Winlogon在注册表HKLMSoftwareMicrosoftWindowsNTCurrentVersionWinlogon ,如果存在GinaDLL键,Winlogon将使用这个DLL,如果不存在该键,Winlogon将使用默认值MSGINA.DLL
本地安全认证(Local Security Authority)
本地安全认证(LSA)是一个被保护的子系统,它负责以下任务:
调用所有的认证包,检查在注册表HKLMSYSTEMCurrentControlSetControlLSA下AuthenticationPAckages下的值,并调用该DLL进行认证(MSV_1.DLL)。在4.0版里,Windows NT会寻找HKLMSYSTEMCurrentControlSetControlLSA 下所有存在的SecurityPackages值并调用。
重新找回本地组的SIDs和用户的权限。
创建用户的访问令牌。
管理本地安装的服务所使用的服务账号。
储存和映射用户权限。
管理审核的策略和设置。
管理信任关系。
安全支持提供者的接口(Security Support Provide Interface)
微软的Security Support Provide Interface很简单地遵循RFC 2743和RFC 2744的定义,提供一些安全服务的API,为应用程序和服务提供请求安全的认证连接的方法。
认证包(Authentication Package)
认证包可以为真实用户提供认证。通过GINA DLL的可信认证后,认证包返回用户的SIDs给LSA,然后将其放在用户的访问令牌中。
安全支持提供者(Security Support Provider)
安全支持提供者是以驱动的形式安装的,能够实现一些附加的安全机制,默认情况下,Windows NT安装了以下三种:
Msnsspc.dll:微软网络挑战/反应认证模块
Msapsspc.dll:分布式密码认证挑战/反应模块,该模块也可以在微软网络中使用
Schannel.dll:该认证模块使用某些证书颁发机构提供的证书来进行验证,常见的证书机构比如Verisign。这种认证方式经常在使用SSL(Secure Sockets Layer)和PCT(Private Communication Technology)协议通信的时候用到。
网络登陆(Netlogon)
网络登陆服务必须在通过认证后建立一个安全的通道。要实现这个目标,必须通过安全通道与域中的域控制器建立连接,然后,再通过安全的通道传递用户的口令,在域的域控制器上响应请求后,重新取回用户的SIDs和用户权限。
安全账号管理者(Security Account Manager)
安全账号管理者,也就是我们经常所说的SAM,它是用来保存用户账号和口令的数据库。保存了注册表中HKLMSecuritySam中的一部分内容。不同的域有不同的Sam,在域复制的过程中,Sam包将会被拷贝。
提高系统的安全性的一些建议
本节我将向大家介绍如何提高系统的安全性。该节我不做具体的分析,我就现在的Windows系统的安全性做个归纳,然后根据这些安全性做一些配置。
网络的安全性
网络的安全性是系统安全性的基础,简单的说就是系统的安全性是建立在网络安全性之上的。提高网络的安全性才能加强系统的安全性,否则就是一张废纸。
网络安全性主要有:网络边界的安全性,网络架构和合理性,网络环境的合理性,网络传输数据的安全性,路由策略等等。加强边界和内网与公网之间的安全性是非常重要的,找决定着网络的安全架构。一般我们将内网与外网用防火墙隔开,限制了外部网络与内部网络的通信。
解决方案:可以选用优良的路由设备以及网络设备,选用优秀的网络防火墙,设定好自己的网络访问策略。例如使用Microsoft ISA Server
系统的安全性
如果您的网络中使用了ISA Server的话,那么有一个非常棘手的问题,就是ISA Server不对内部网络发起的***做任何处理。那么,你应该加强内部网络的安全性,提高用户的安全意识等。
系统的安全性我在上面已经提到了,包括用户策略,访问策略等等。建议您去参考一些部署方面的文章或书籍,配合自己的网络环境做好安全工作。
数据的安全性
对于数据的安全性,我们要做的就是对数据进行加密,在网络中,我们可以采用很多的加密方式,这论您的环境来做。
总结
每个管理人员都遇到过安全问题,那么,了解系统的安全机制会让您部署更多的安全策略,提高网络及系统的安全性。本文主要介绍的是Windows操作系统的安全机制和一些安全方面的讨论,希望大家能从中获得更多东西。