xxxx网络与信息安全操作系统安全规范保密申明本文档版权由中国人民大学所有。
未经中国人民大学书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播目录1目的 (3)2范围 (3)3原则 (3)4主要内容 (4)5参考文档........................................ 错误!未定义书签。
6UNIX系统安全规范 (4)6.1用户账号控制 (5)6.2特殊用户 (5)6.2.1root账户 (5)6.2.2系统账户 (6)6.3资源控制 (7)6.3.1基线控制 (7)6.3.2补丁管理 (7)6.3.3文件/目录控制 (7)6.4系统记账和日志 (8)6.5网络服务 (8)6.5.1inetd启动的服务 (8)6.5.2网络服务的访问控制 (9)6.5.3其它服务 (9)6.5.4替代不安全的服务 (9)6.6A T/CRON的安全 (9)7WINDOWS系统安全规范 (10)7.1W INDOWS系统安全基本原则 (10)7.2W INDOWS安全流程 (10)7.3系统修补 (12)7.3.1Windows系统修补流程 (12)7.4基于的角色保护 (13)7.4.1密码规范 (13)7.4.2密码复杂性要求 (13)7.5服务器基准规范 (14)7.5.1审计规范 (14)7.5.2账户锁定规范 (14)7.5.3安全选项规范 (14)7.6针对网络攻击的安全事项 (15)8附则 (16)8.1文档信息 (16)8.2版本控制 (16)8.3其他信息 (16)1目的各类主机操作系统由于设计缺陷,不可避免地存在着各种安全漏洞,给移动各系统带来安全隐患。
如果没有对操作系统进行安全配置,操作系统的安全性远远不能达到它的安全设计级别。
绝大部分的入侵事件都是利用操作系统的安全漏洞和不安全配置的隐患得手的。
为提高操作系统的安全性,确保系统安全高效运行,必须对操作系统进行安全配置。
本规范的目的是指导主机操作系统的安全配置,各业务系统管理员可根据本指南和业务情况制定各主机操作系统的安全配置规程。
从而规范主机操作系统的安全配置,提高主机操作系统的抗攻击能力,提高主机操作系统的性能,提高主机操作系统的稳定性。
2范围本规范适用于各主流主机操作系统的安全配置,其中Unix系统安全配置适用于Solaris、AIX、HP-UX、SCO Open Server和Linux等Unix操作系统,Windows系统安全配置适用于Windows2000/XP/2003操作系统,其他操作系统安全配置在此规范中仅给出了安全配置指导,请查阅相关资料并同系统供应商确认后作出详细配置。
3原则xxxx系统安全应该遵循以下原则:⏹有限授权原则应限定网络中每个主体所必须的最小特权,确保可能的事故、错误、网络部件的篡改等原因造成的损失最小。
⏹访问控制原则对主体访问客体的权限或能力的限制,以及限制进入物理区域(出入控制)和限制使用计算机系统和计算机存储数据的过程(存取控制)。
⏹日志使用原则日志内容应包括:软件及磁盘错误记录;登录系统及退出系统的时间;属于系统管理员权限范围的操作。
⏹审计原则计算机系统能创建和维护受保护客体的访问审计跟踪记录,并能阻止非授权的用户对它访问或破坏。
⏹分离与制约原则将用户与系统管理人员分离;将系统管理人员与软件开发人员分离;将系统的开发与系统运行分离;将密钥分离管理;将系统访问权限分级管理。
4主要内容本文主要阐述了UNIX和Windows主机安全配置时应该遵循的原则和基本规范。
5UNIX系统安全规范安全控制对于一个UNIX系统来说非常重要,系统的安全管理主要分为四个方面:⏹防止未授权存取:这是计算机安全最重要的问题,即未被授权使用系统的人进入系统。
用户意识、良好的口令管理(由系统管理员和用户双方配合)、登录活动记录和报告、用户和网络活动的周期检查、这些都是防止未授权存取的关键。
⏹防止泄密:这也是计算机安全的一个重要问题。
防止已授权或未授权的用户存取相互的重要信息。
文件系统查帐,SU登录和报告,用户意识,加密都是防止泄密的关键。
⏹防止用户拒绝系统的管理:这一方面的安全应由操作系统来完成。
一个系统不应被一个有意试图使用过多资源的用户损害。
不幸的是,UNIX不能很好地限制用户对资源的使用,一个用户能够使用文件系统的整个磁盘空间,而UNIX基本不能阻止用户这样做。
系统管理员最好用PS命令,记帐程序DF和DU 周期地检查系统。
查出过多占用CPU的进程和大量占用磁盘的文件。
⏹防止丢失系统的完整性:这一安全方面与一个好系统管理员的实际工作(例如:周期地备份文件系统,系统崩溃后运行FSCK检查,修复文件系统,当有新用户时,检测该用户是否可能使系统崩溃的软件)和保持一个可靠的操作系统有关(即用户不能经常性地使系统崩溃)。
5.1 用户账号控制UNIX每个用户有唯一的用户名、用户ID和口令,文件属主取决于用户ID;root可以更改文件属主;系统缺省root为超级用户;系统用户adm、sys、bin等不允许登录;需要共享同一类文件的用户可以归入同一个组。
大多数默认安装的UNIX/Linux系统,没有对账户口令进行强制限制,因此为了保证系统的安全应该调整系统的规范对账户的密码进行长度和复杂性的限制。
5.2 特殊用户除了正常的系统账户,UNIX系统还存在很多系统账户,例如:root、bin、system、admin、nobody等。
5.2.1root账户root是UNIX系统中最为特殊的一个账户,它具有最大的系统权限,能够控制系统的所有资源。
若系统管理员的root口令泄密了,则系统安全便岌岌可危了,拥有了root口令便使得系统安全防线只有一步之遥了。
即使su命令通常要在任何都不可读的文件中记录所有想成为root的企图,还可用记帐数据或ps命令识别运行su命令的用户。
正因为如此,系统管理员作为root 运行程序时应当特别小心,对于root账户的使用应该注意以下问题:⏹应严格限制使用root特权的人数。
⏹不要作为root或以自己的登录户头运行其他用户的程序,首先用su命令进入用户的户头。
⏹决不要把当前工作目录排在PATH路径表的前边,那样容易招引特洛伊木马。
当系统管理员用su命令进入root时,他的PATH将会改变,就让PATH保持这样,以避免特洛伊木马的侵入。
⏹敲入/usr/bin/su执行su命令。
若有su源码,将其改成必须用全路径名运行(即su要确认argv[0]的头一个字符是"/"才运行)。
随着时间的推移,用户和管理员将养成使用/usr/bin/su的习惯。
⏹不要未注销户头就离开终端,特别是作为root用户时更不能这样。
⏹不允许root在除控制台外的任何终端登录(这是login的编译时的选项),如果没有login源码,就将登录名root改成别的名,造成破坏者不能在root登录名下猜测各种可能的口令,从而非法进入root的户头。
⏹确认su命令记下了想运行su企图的记录/var/adm/sulog,该记录文件的许可方式是600,并属root所有。
这是非法者喜欢选择来替换成特洛伊木马的文件。
⏹不要让某人作为root运行,即使是几分钟,即使是系统管理员在一旁注视着也不行。
⏹root口令应由系统管理员以不公开的周期更改。
⏹不同的机器采用不同的root口令。
⏹Linux系统把root的权限进行了更细粒度的划分,更小的单位成为能力(capability),为了安全可以使用能力约束集放弃部分root的权限。
5.2.2系统账户在Unix系统上,大多数系统账户平时是没什么用的,包括:bin daemon adm lp mail news uucp operator games gopher rpc等,即使不把它们删除,也不要让它们拥有真正的shell,检查/etc/passwd文件,检查这些账户的最后一个字段(shell)是否被置/sbin/nologin或/bin/false。
另外,还要禁止这些账户使用系统的ftp服务,把这些系统用户放入/etc/ftpusers或者/etc/ftpd/ftpusers文件。
5.3 资源控制5.3.1基线控制基线是一个系统快照数据库,保存操作系统文件、应用和用户。
通过基线检查,对比系统当前和原始的快照,可以快速检测系统非授权及没有记录的变化,系统出现非授权的修改表示系统可能遭到入侵。
系统中的配置文件、可执行文件、动态连接库等不会经常变动的文件应该纳入基线控制的范畴,而/tmp、/var等系统目录,以及其它一些经常发生变动的文件不可以进行基线控制。
在UNIX系统中经常用到的基线控制工具包括:Tripwire、AIDE等。
5.3.2补丁管理补丁对于系统安全和稳定具有重要的意义,因此应该密切关注每个系统的补丁。
各种UNIX/Linux系统的厂商都会不定期地针对新出现的漏洞发布安全补丁或者软件升级包,下表是一些常见UNIX/Linux系统的补丁发布方式和获取手段:5.3.3文件/目录控制UNIX文件和目录有一组许可权位,采用标准的读、写和执行来定义三个级别的许可权:用户(文件属主)、组和其他人,另外附加的三种许可权位是SUID、SGID和t(粘着位)。
带SUID 位的可执行文件意味着文件运行时,其进程以文件的有效UID 运行。
Shell程序不支持SUID,SUID对目录无意义;带SGID位的可执行文件意味着文件运行时,其进程以文件属组的有效GID运行;带SGID的目录表示在该目录下创建的文件/目录将继承目录的组ID,而忽略创建者的属组;UNIX中的粘着位对文件无意义,带粘着位的目录意味着:即使对目录具有写许可权(如/tmp),用户也不能随便删除目录下的文件,除非是文件属主或目录属主。
5.4 系统记账和日志安全性日志是系统安全的重要保障,有经验的系统管理员经常使用其做安全性检查。
5.5 网络服务作为服务器来说,服务端口开放越多,系统安全稳定性越难以保证。
所以提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务器服务无关的服务关闭,比如:一台作为www 和ftp 服务器的机器,应该只开放80 和25 端口,而将其他无关的服务如:fingerauth 等服务关掉,以减少系统漏洞。
5.5.1inetd启动的服务inetd 在系统启动时可由启动程序(/etc/rc.d/init.d/inet)启动。
inetd 监视文件(/etc/inetd.conf)中所设置的端口并等待连接要求(请求包)。
一旦有连接请求时,判断与inetd.conf 所指定的端口相对应的服务,进而启动提供该服务的服务器程序,连接请求本身当连接终止时,被启动的服务也随之停止运行,从而节省了大量的系统资源。