操作系统安全配置手册.doc
《操作系统安全配置手册.doc》由会员分享,可在线阅读,更多相关《操作系统安全配置手册.doc(350页珍藏版)》请在冰点文库上搜索。
德信诚培训网
操作系统安全配置手册
第一章综述
本主机系统安全策略不是一个完整的系统安全解决方案,而是网络主机系统安全体系建设的安全技术参考。
本主机系统安全策略对使用的Windows系统、Unix系统安全特性进行了深入分析,仅从安全技术角度分析了各类主机系统应用的安全现状和安全风险,并在此基础上阐述了针对特定系统、特定应用的安全策略配置。
最后针对网络主机安全需求给出了相应的安全审计建议。
全文共分为八章,第一章综述、第二章Windows主机系统的安全机制、第三章Windows主机安全配置、第四章Unix通用安全标准,第五章Solaris主机系统安全配置、第六章AIX主机系统安全配置,第七章HP-Unix主机系统安全配置,第八章实施效果和残留风险,并根据各种安全风险特性进行分类描述。
1.1适用范围
本文档的适用操作系统为
MicrosoftWindows2000Server/AdvancedServer
MicrosoftWindows2003Server/AdvancedServer
SunSolaris2.8
SunSolaris2.9
IBMAIX5.1L
IBMAIX5.2L
IBMAIX5.3L
HPHP-UX11i
1.2更新要求
本文档每年必须由负责人员重新审查内容,并按照需求修正。
各操作系统厂商推出新版本时,亦必须重新审查内容及修正。
第二章Windows系统通用安全标准
2.1windows系统安全模型
Windows系统的安全模块是操作系统内核的不可分割的一部分。
由于访问任何系统资源必须经过内核安全模块的验证,从而保证没有得到正确的授权的用户不能访问相应资源。
用户使用Windows系统资源,首先必须在系统中拥有账号,其次,此账号必须具有一定的“权力”和“权限”。
在Windows系统中,“权力”指用户对整个系统能够做的事情,如关闭系统、增加设备、更改系统时间等等。
“权限”指用户对系统资源所能做的事情,如对某文件的读、写控制,对打印机队列的管理。
、Windows系统使用安全帐号数据库,存放用户账号以及该账号所具有的权力等。
用户对系统资源所具有的权限则与特定的资源一起存放。
在Windows系统中,安全模型由本地安全认证、安全账号管理器和安全监督器构成。
除此之外还包括注册、访问控制和对象安全服务等。
它们之间的相互作用和集成构成了安全模型的主要部分。
Windows安全模型的主要功能是用户身份验证和访问控制。
身份验证过程通过某种技术手段确认用户所提供的身份的真实性,并在确认用户身份的真实性后赋予用户相应的权利和系统身份标识。
访问控制机制利用用户获得的系统身份标识,以及事先分配给用户的对系统资源的权限来确保系统资源被合理的使用。
用户身份验证:
Windows安全子系统提供了两种类型的身份验证:
通过控制台交互式登录系统(根据用户的计算机的本地账户来确认用户的身份)和通过网络登录系统(根据域控制器中保留的域账户来确认用户的身份)从而使得用户可以访问网络上远程主机的资源。
为保证通过网络登录系统的安全性,Windows安全子系统提供了三种不同的身份验证机制:
KerberosV5(仅Windows2000系统提供)、公钥证书和NTLM。
基于对象的访问控制:
Windows采用对象模型描述系统资源,管理员可以通过对特定资源配置相应的用户访问权限来控制用户对系统资源的访问。
管理员可以通过域控制器实现对整个域的资源的统一管理与控制。
Windows系统通过允许管理员以对象安全描述符的方式描述具体的访问控制策略。
安全描述符列出了允许访问对象的用户和组,以及分配给这些用户和组的特殊权限。
安全描述符还指定了该对象需要安全审核特定事件,如特定用户的读,写,执行文件。
文件、打印机和服务都是对象的具体例子。
通过管理对象的属性,管理员可以设置权限,分配所有权以及监视用户访问。
2.2用户名和密码
Windows系统的安全机制通过分配用户帐号和用户密码来帮助保护计算机及其资源。
给值得信任的使用者,按其使用的要求和网络所能给与的服务分配合适的用户帐号,并且使用足够安全的帐号密码。
使用对帐号的用户权力的限制以及对文件的访问管理权限的策略,可以达到对服务器的数据的保护。
其中用户帐号有用户名、全名、描述三个部分。
用户名是用户帐号的标识,全名是对应用户名的全称,描述是对用户所拥有的权限的较具体的说明。
组有组名和描述两个部份,组名是标识,描述是说明。
一定的用户帐号对应一定的权限,NT对权限的划分比较细,例如:
备份、远程管理、更改系统时间等等,通过对用户的授权(在规则菜单中)可以细化一个用户或组的权限。
用户的帐号和密码有一定的规则,包括帐号长度,密码的有效期,登录失败的锁定,登录的历史记录等等,通过对这些的综合修改可以保证用户帐号的安全使用。
系统将用户分为管理者、用户和来宾三类,各有其不同的权限。
双击“我的电脑/控制面板/用户和密码”图标,打开“用户和密码”对话框。
系统在安装完成后自动建立Administrator(系统管理员)和Guest(来宾)用户。
你可在第一次启动按Ctrl+Alt+Del后选“更改密码”更改系统管理员的密码。
你还可按“添加/删除”来添加/删除用户或用户组。
用户名列表上方有一个复选框“要使用本机,必须输入用户名和密码”,要使用用户管理必须使之有效,即:
选中它。
系统管理员对用户和密码的管理权限主要有:
添加用户、删除用户及更改用户。
系统会在你添加新用户时询问其权限的设置。
选择“高级”标签,再点击“高级”按钮,就会出现“本地用户和组”管理对话框窗口,上面列出了全部用户和按组分类的用户名单。
在上述界面右边窗口中选中某个用户,点右键,在弹出的快捷菜单中选“属性”,弹出“用户属性”窗口,在其中可对此用户账号进行是否允许修改密码、是否停用账号等项设置。
注意:
停用账户和删除账户是有区别的,停用账户是临时停止某个账户的使用,随时可以恢复,而删除掉的账户必须重建后才能使用。
另外,Windows系统支持工作组概念,可以方便的给一组用户授予特权和权限,同时一个用户同时属于一个或多个工作组。
方便了对用户权限的细化。
在Windows系统中有两种类型的工作组:
全局工作组和本地工作组。
本地工作组只能在本地的系统或域内使用。
全局工作组可以在系统中相互信任的域中使用。
Win2000的默认安装允许所有用户通过空用户名和空密码得到系统所有账号和共享列表,这本来是为了方便局域网用户共享资源和文件的,但是,同时任何一个远程用户也可以通过同样的方法得到你的用户列表,并可能使用暴力法破解用户密码给整个网络带来破坏,这是整个网络中的最大不安全因素之一
2.3域和委托
以Windows系统组建的网络是一个局域网范围的网。
所谓“域”是指网络服务器和其它计算机的逻辑分组,凡是在共享域范围内的用户都使用公共的安全机制和用户帐号信息。
每个用户有一个帐号,每次登录的是整个域,而不是某一个服务器。
即使在物理上相隔较远,但在逻辑上可以在一个域上,域的集中化用户帐号数据库和安全策略使得系统管理员可以用一个简单而有效的方法维护整个网络的安全。
在网络环境下,使用域的管理就显得更为有效。
这里我们应该注意到在NT中,关于域的所用的安全机制信息或用户帐号信息都存放在目录数据库中(称为安全帐号管理器(SAM)数据库)。
目录数据库存放在服务器中,并且复制到备份服务器中。
通过有规律的同步处理,可以保证数据库的安全性、有效性。
在用户每次登录时,通过目录数据库检查用户的帐号和密码。
所以在对NT进行维护时应该特别小心目录数据库的完整性,一般来讲只有管理员才具有对此的编辑权限。
域的最大的优点是域中的控制器服务器形成了共享的安全机制和用户帐号信息的单个管理单元,大大地节省了管理员和用户的精力和时间,在管理上较方便,也显得集中。
在使用“域”的划分时,我们应该注意到“域”是建立在一个子网范围内,其基础是相互之间的信任度。
由NT组网区别于一般的TCP/IP的组网,TCP/IP是一种较松散的组网型式,靠路由器完成子网之间的寻径通讯;而NT组网是一种紧密的联合,服务器之间是靠安全信任建立他们的联系的。
主从关系,委托关系是建立在信任度上的。
委托是一种管理办法,它将多个域连接在一起,并且允许域中的用户互相访问。
委托关系可使用户帐号和工作组能够在建立它们的域之外的域中使用。
委托关系只能是被定义为单向的,为了获得双向委托关系,域和域之间必须相互委托。
2.4活动目录
活动目录的概念
ActiveDirectory是用于Windows2000Server的目录服务。
它存储着网络上各种对象的有关信息,并使该信息易于管理员和用户查找及使用。
ActiveDirectory目录服务使用结构化的数据存储作为目录信息的逻辑层次结构的基础。
ActiveDirectory的优点:
信息安全性、基于策略的管理、可扩展性、可伸缩性、信息的复制、与DNS集成、与其它目录服务的互操作性、灵活的查询。
域
域提供了多项优点:
Ø组织对象。
Ø发布有关域对象的资源和信息。
Ø将组策略对象应用到域可加强资源和安全性管理。
Ø委派授权使用户不再需要大量的具有广泛管理权利的管理员。
要创建域,用户必须将一个或更多的运行Windows2000Server的计算机升级为域控制器。
域控制器为网络用户和计算机提供ActiveDirectory目录服务、存储目录数据并管理用户和域之间的交互作用,包括用户登录过程、验证和目录搜索。
每个域至少必须包含一个域控制器。
域树和域林
活动目录中的每个域利用DNS域名加以标识,并且需要一个或多个域控制器。
如果用户的网络需要一个以上的域,则用户可以创建多个域。
共享相同的公用架构和全局目录的一个或多个域称为域林。
如果树林中的多个域有连续的DNS域名,则该结构称为域树。
如果相关域树共享相同的ActiveDirectory架构以及目录配置和复制信息,但不共享连续的DNS名称空间,则称之为域林。
域树和域林的组合为用户提供了灵活的域命名选项。
连续和非连续的DNS名称空间都可加入到用户的目录中。
域和帐户命名
ActiveDirectory域名通常是该域的完整DNS名称。
但是,为确保向下兼容,每个域还有一个Windows2000以前版本的名称,以便在运行Windows2000以前版本的操作系统的计算机上使用。
用户帐户
在ActiveDirectory中,每个用户帐户都有一个用户登录名、一个Windows2000以前版本的用户登录名(安全帐户管理器的帐户名)和一个用户主要名称后缀。
在创建用户帐户时,管理员输入其登录名并选择用户主要名称。
ActiveDirectory建议Windows2000以前版本的用户登录名使用此用户登录名的前20个字节。
所谓用户主要名称是指由用户账户名称和表示用户账户所在的域的域名组成。
这是登录到Windows2000域的标准用法。
表准格式为:
user@(类似个人的电子邮件地址)。
但不要在用户登录名或用户主要名称中加入@号。
ActiveDirectory在创建用户主要名称时自动添加此符号。
包含多个@号的用户主要名称是无效的。
在ActiveDirectory中,默认的用户主要名称后缀是域树中根域的DNS名。
如果用户的单位使用由部门和区域组成的多层域树,则对于底层用户的域名可能很长。
对于该域中的用户,默认的用户主要名称可能是。
该域中用户默认的登录名可能是user@。
创建主要名称后缀-"root"使同一用户使用更简单的登录名user@就可以登录。
域间信任关系
对于Windows2000计算机,通过基于KerberosV5安全协议的双向、可传递信任关系启用域之间的帐户验证。
在域树中创建域时,相邻域(父域和子域)之间自动建立信任关系。
在域林中,在树林根域和添加到树林的每个域树的根域之间自动建立信任关系。
因为这些信任关系是可传递的,所以可以在域树或域林中的任何域之间进行用户和计算机的身份验证。
如果将Windows2000以前版本的Windows域升级为Windows2000域时,Windows2000域将保留域和任何其它域之间现有的单向信任关系。
包括Windows2000以前版本的Windows域的所有信任关系。
如果用户要安装新的Windows2000域并且希望与任何Windows2000以前版本的域建立信任关系,则必须创建与那些域的外部信任关系。
所有域信任关系都只能有两个域:
信任域和受信任域。
域信任关系按以下特征进行描述:
单向
单向信任是域A信任域B的单一信任关系。
所有的单向关系都是不可传递的,并且所有的不可传递信任都是单向的。
身份验证请求只能从信任域传到受信任域。
Windows2000的域可与以下域建立单向信任:
不同树林中的Windows2000域、WindowsNT4.0域、MITKerberosV5领域。
双向
Windows2000树林中的所有域信任都是双向可传递信任。
建立新的子域时,双向可传递信任在新的子域和父域之间自动建立。
可传递
Windows2000树林中的所有域信任都是可传递的。
可传递信任始终为双向:
此关系中的两个域相互信任。
可传递信任不受信任关系中的两个域的约束。
每次当用户建立新的子域时,在父域和新子域之间就隐含地(自动)建立起双向可传递信任关系。
这样,可传递信任关系在域树中按其形成的方式向上流动,并在域树中的所有域之间建立起可传递信任。
不可传递
不可传递信任受信任关系中的两个域的约束,并不流向树林中的任何其它域。
在大多数情况下,用户必须明确建立不可传递信任。
在Windows2000域和WindowsNT域之间的所有信任关系都是不可传递的。
从WindowsNT升级至Windows2000时,目前所有的WindowsNT信任都保持不动。
在混和模式环境中,所有的WindowsNT信任都是不可传递的。
不可传递信任默认为单向信任关系。
外部信任
外部信任创建了与树林外部的域的信任关系。
创建外部信任的优点在于使用户可以通过树林的信任路径不包含的域进行身份验证。
所有的外部验证都是单向非转移的信任
快捷信任
快捷信任是双向可传递的信任,使用户可以缩短复杂树林中的路径。
Windows2000同一树林中域之间的快捷信任是明确创建的。
快捷信任具有优化的性能,能缩短与Windows2000安全机制有关的信任路径以便进行身份验证。
在树林中的两个域树之间使用快捷信任是最有效的。
站点
站点是由一个或多个IP子网中的一组计算机,确保目录信息的有效交换,站点中的计算机需要很好地连接,尤其是子网内的计算机。
站点和域名称空间之间没有必要的连接。
站点反映网络的物理结构,而域通常反映用户单位的逻辑结构。
逻辑结构和物理结构相互独立,所以网络的物理结构及其域结构之间没有必要的相关性,ActiveDirectory允许单个站点中有多个域,单个域中有多个站点。
如果配置方案未组织成站点,则域和客户之间的信息交换可能非常混乱。
站点能提高网络使用的效率。
站点服务在以下两方面令网络操作更为有效:
服务请求和复制。
当客户从域控制器请求服务时,只要相同域中的域控制器有一个可用,此请求就将会发给这个域控制器。
选择与发出请求的客户连接良好的域控制器将使该请求的处理效率更高。
站点使目录信息以流水线的方式复制。
目录架构和配置信息分布在整个树林中,而且域数据分布在域中的所有域控制器之间。
通过有策略地减少复制,用户的网络拥塞也会同样减少。
ActiveDirectory在一个站点内比在站点之间更频繁地复制目录信息。
这样,连接最好的域控制器中,最可能需要特定目录信息的域控制器首先接收复制的内容。
其它站点中的域控制器接收对目录所进行的更改,但不频繁,以降低网络带宽的消耗。
ActiveDirectory用户和计算机帐户
ActiveDirectory用户和计算机帐户代表物理实体,诸如计算机或人。
用户账户和计算机账户(以及组)称为安全主体。
安全主体是自动分配安全标识符的目录对象。
带安全标识符的对象可登录到网络并访问域资源。
用户或计算机账户用于:
Ø验证用户或计算机的身份。
Ø授权或拒绝访问域资源。
Ø管理其它安全主体。
Ø审计使用用户或计算机帐户执行的操作。
Windows2000提供了可用于登录到运行Windows2000的计算机的预定义用户帐户。
这些预定义帐户为:
Ø管理员账户
Ø来宾账户
预定义账户就是允许用户登录到本地计算机并访问本地计算机上资源的默认用户账户。
设计这些账户的主要目的是本地计算机的初始登录和配置。
每个预定义账户均有不同的权利和权限组合。
管理员账户有最广泛的权利和权限,同时来宾账户有受限制的权利和权限。
组策略
组策略设置影响计算机或用户账户并且可应用于站点、域或组织单位。
它可用于配置安全选项、管理应用程序、管理桌面外观、指派脚本并将文件夹从本地计算机重新定向到网络位置。
集成DNS
由于ActiveDirectory与DNS集成而且共享相同的名称空间结构,因此注意两者之间的差异非常重要:
DNS是一种名称解析服务。
DNS客户机向配置的DNS服务器发送DNS名称查询。
DNS服务器接收名称查询,然后通过本地存储的文件解析名称查询,或者查询其它DNS服务器进行名称解析。
DNS不需要ActiveDirectory就能运行。
ActiveDirectory是一种目录服务。
ActiveDirectory提供信息储存库以及让用户和应用程序访问信息的服务。
ActiveDirectory客户使用"轻量级目录访问协议(LDAP)"向ActiveDirectory服务器发送查询。
要定位ActiveDirectory服务器,ActiveDirectory客户机将查询DNS。
ActiveDirectory需要DNS才能工作。
ActiveDirectory用于组织资源,而DNS用于查找资源。
只有它们共同工作才能为用户或其它请求类似信息的过程返回信息。
DNS是ActiveDirectory的关键组件,如果没有DNS,ActiveDirectory就无法将用户的请求解析成资源的IP地址,因此在安装和配置ActiveDirectory之前,用户必须对DNS有深入的理解。
组织单位
包含在域中的特别有用的目录对象类型就是组织单位。
组织单位是可将用户、组、计算机和其它单位放入其中的ActiveDirectory容器。
组织单位不能包括来自其它域的对象。
组织单位是可以指派组策略设置或委派管理权限的最小作用域或单位。
使用组织单位,用户可在组织单位中代表逻辑层次结构的域中创建容器。
这样用户就可以根据用户的组织模型管理帐户和资源的配置和使用。
2.5登录
Windows系统首先必须在系统中拥有一个账号,其次,规定该账号在系统中
的权力和权限。
在没有用户登录时,可以看到屏幕上显示一个对话框,提示用户登录在NT系统中。
实际上,NT系统中有一个登录进程。
当用户在开始登录时,按下Ctrl+Alt
+Del键,NT系统启动登录进程,弹出登录对话框,让用户输入帐号名及口令。
按下Ctrl+Alt+Del键时,NT系统保证弹出的登录对话框是系统本身的,而不是一个貌似登录对话框的应用程序,以防止被非法窃取用户名及口令。
登录进程收到用户输入的账号和口令后,就查找安全账户数据库中的信息。
如果帐户及口令无效,则用户的登录企图被拒绝;如果帐户及口令有效,则把安全帐户数据库中有关该账户的信息收集在一起,形成一个存取标识。
存取标识中的主要内容有:
Ø用户名以及SID
Ø用户所属的组及组SID
Ø用户对系统所具有的权力
然后NT就启动一个用户进程,将该存取标识与之连在一起,这个存取标识就成了用户进程在NT系统中的通行证。
用户进行任何操作,NT中负责安全的进程都会检查其存取标识,以确定其操作是否合法。
用户成功地登录之后,只要用户没有注销自己,其在系统中的权力就以存取
标识为准,NT安全系统在此期间不再检查安全帐户数据库。
这主要是考虑到效率。
存取标识的作用相当于缓存,只不过存取标识缓存的是用户安全信息,使得
系统不必再从硬盘上查找。
安全帐户数据库是由域用户管理器来维护的,在某个
用户登录后,有可能管理员会修改其帐户以及权力等,但这些修改只有在用户下
次登录时才有效,因为NT安全系统在用户登录后只检查存取标识,而不是检查安全帐户数据库。
比如User1已登录到了NT系统中,管理员发现其缺少了某种权力,就用域用户管理器做了相应的修改,那么,除非User1重新登录一次,否则User1仍无法享有该权力。
在Windows系统中登录过程还包括网络登录,在网络登录中,每次登录到Windows系统中都会产生一个访问令牌,访问令牌是由用户帐号和工作组帐号的安全标示符(SID)以及用户LUID(用户特权和工作组特权)组合而成的,访问令牌有两个用途:
Ø访问令牌保存全部安全信息,可以加速访问验证过程。
当某个用户进程要访问某个对象时,安全子系统检查该进程的访问令牌,判断该用户的访问特权。
Ø每个进程均有一个与之相关联的访问令牌,因此,每个进程都可以在不影响其它代表该用户运行的进程的条件下,在某种可允许的范围内修改进程的安全特性。
2.6存储控制
Windows系统启动一个用户进程,将存储标识与之连在一起。
存取标识包含的内容并没有访问许可权限,而存取标识又是用户在系统中的通行证,那么NT如何根据存取标识控制用户对资源的访问呢?
当某个进程要访问一个对象时,进程的SID与访问控制项列表比较,决定是否可以访问该对象,访问控制列表由访问控制项(ACE)组成,每个访问控制项标识用户和工作组对该对象的访问权限。
一般情况下,访问控制列表有三个访问控制项,分别代表如下含义:
拒绝对该对象的访问;允许对该对象读取和写入;允许执行该对象。
访问控制列表首先列出拒绝访问的访问控制项,然后才是允许的访问控制项。
给资源分配的权限作为该资源的一个属性与资源一起存放。
比如目录为D:
\Files,对其指定User1只读,User2可完全控制,则这两个权限都作为D:
\Files目录的属性与该目录连在一起,在NT内部以访问控制列表的形式存放。
ACL中包含了每个权限的分配,以访问控制项来表示。
ACL中包含了用户名以及该用户的权限。
比如上面提到的这个例子中,D:
\Files的ACL中有两个ACE,分别是User1:
只读,User2:
完全控制。
当User1访问该目录时,NT安全系统检查用户的存取标识,与目录的ACL对照,发现用户存取标识中的用户名与ACL中有对应关系且所要求的权限合法,则访问获得允许,否则,访问被拒绝。
控制对象访问过程如下:
1.设置、查看、更改或删除文件和文件夹权限
步骤1打开"Windows资源管理器",然后定位到用户要设置权限的文件和文件夹。
步骤2