[摘要]随着计算机在各行各业应用的深入和普及, 各类社会、经济、政治、国防等重要信息大量的在计算机中存储和网络中传输。 计算机信息系统已经逐步成为整个国家政府机构运转的命脉。 社会的计算机化产生了一种新... 随着计算机在各行各业应用的深入和普及, 各类社会、经济、政治、国防等重要信息大量的在计算机中存储和网络中传输。 计算机信息系统已经逐步成为整个国家政府机构运转的命脉。 社会的计算机化产生了一种新的社会资产, 而这个信息资产由两部分组成一部分是计算机信息系统资源-各种硬件、软件、固件以及相关文档资料、配套设备、设施、系统服务等;另一种则是系统生产和拥有的、存储的电子信息资源, 可能包括统计报表、科技资料、设计图纸、实验数据、各类计划、决策等。 信息安全按其载体类型, 主要分为网络安全和主机安全。 网络安全控制上网拥护能安全可靠地到达网络什么地方以及如何传输, 访问哪些数据以某种方式等等。 而主机安全则控制系统用户能否进入系统以及进入后能访问哪些资源。 这其中包括操作系统安全、应用程序安全、数据安全、用户安全等。 目前国内外主流的服务器如IBM RS6000/HP N4000等均采用UNIX系统来做为其应用的平台, 如ANSOFT/Mentor/UG等大型工程用软件也都采用其做为其主要开发平台。 本人在和政府、军工等客户长期的沟通过程中发现, 此类服务器通常处于一个非常重要的位置, 却在安全性上很容易被忽视。 于是如何解决此类UNIX主机的安全问题, 尽量的降低安全风险就成为了一个不可不说的话题。 1 口令安全性规则 通过口令进行身份认证是目前实现计算机安全的主要手段之一, 一个用户的口令被非法用户获悉, 则该非法用户即获得了该用户的全部权限, 这样, 尤其是高权限用户的口令泄露以后, 主机和网络也就随即失去了安全性。 系统管理员以及其它所有用户对口令选取应采取负责的态度, 消除侥幸和偷懒思想。 具体来说应遵循以下一些规则: 口令长度不要小于6位, 并应同时包含字母和数字, 以及标点符号和控制字符。 口令中不要使用常用单词(避免字典攻击)、英文简称、个人信息(如生日、名字、反向拼写的登录名、房间中可见的东西)、年份以及机器中的命令等, 不要在不同系统上, 特别是不同级别的用户上使用同一口令。 定期改变口令。 系统安装对口令文件进行隐藏的程序或设置(例如Shadow Suite for linux)。 系统配置对用户口令设置情况进行检测的程序, 并强制用户定期改变口令, 任何一个用户口令的脆弱, 都会影响整个系统的安全性。 2 超级用户唯一性规则 超级用户对于系统的一切文件都有进行所有操作的权利。 但是最大的自由相应地也需要承担最大的风险, 如果超级用户权限被黑客得到, 将对整个系统带来毁灭性的打击。 为了减少超级用户被破译的可能性, 必须将系统中多余的超级用户删除, 在一个系统中只存在一个超级用户是每个系统管理员必须遵守的原则。 超级用户可以从/etc/passwd文件中查出, 超级用户的user ID为0, 但是group ID稍有不同, 在不同的系统版本里分别有两种形式:0或1。 当/etc/passwd文件中有多于两个用户项为:用户名:x:0:0或用户名:x:0:1时, 就必须遵照唯一性规则进行改正。 3 禁用Trusted主机(被信任主机)规则 在实际工作中, 系统管理员为方便与其他主机进行数据传输、软硬件资源共享和r服务(如rlogin、rsh等远程系统调用命令), 往往在/etc/hosts.equiv文件中设置远程主机名, 以此确认该主机为Truseted主机。 这样, 一个被信任主机可以不需口令地访问系统及调用r服务。 更有甚者, 某些系统管理员在/etc/hosts.equiv文件内设置"+"符号, 虽然这个参数可以方便所有远程访问, 但同样方便了黑客。 因为这会使任何一台主机上的任何用户都可以不需口令地访问系统, 对系统安全造成很大的损害。 同样, .rhosts文件也提供了Trusted主机和r命令访问功能。 但它比/etc/hosts.equiv文件可能会导致更大的安全漏洞。 因为系统内的任何用户都可能在各自的$HOME目录下创建该文件。 那么.rhosts文件中指定的远程主机上的用户在以该用户名登录本地主机系统时, 不需口令认证。 特别是在.rhosts 文件内设置"+"符号的情形, 更会使任何一台主机上的任何用户都可以不需口令地访问本系统的这个用户, 从而导致安全漏洞的出现。 为安全计, 如果无特殊需要, 应该清除一切Trusted主机相关配置。 4 禁用r命令规则 r命令是由Berkley开发的一系列命令软件, 由于这些命令如rlogin、rsh、rcp、rdist等均以"r"开头, 因此统称为r命令。 r命令固有的弱点包括:任何口令都是未经加密的, 如果有人对网络进行窃听, 很容易发现口令;整个r命令对话都是未经加密的, 对话中的每一个字符(包括口令)很容易被记录下来;系统管理员为管理方便, 经常使用rlogin等命令从远程登录来调试Web服务器的设置, 形成潜在的安全漏洞。 为安全计, 如果无特殊需要, 应该在路由器上或主机/etc/inetd.conf文件内过滤掉5110、513和514(TCP)端口, 这样可阻止主机外部用户使用r命令。 5 禁用X Windows 规则 X Windows系统是一种客户机/服务器结构的窗口系统, 每个拥有显示设备的主机系统都可以作为服务器, 并可接受另一个主机系统作为其客户。 它的运行模式是:程序在客户机系统上运行, 而用户界面却显示在服务器的显示设备上, 客户机通过网络把应该显示出来的内容传送给服务器, 服务器则把用户的输入通过网络传送给客户机。 和r命令一样, 所有的X Windows 传输内容都是不加密的, 并且它的身份验证功能也不够强大, 容易丧失作用(如"xhost +"命令)。 为安全计, 如果无特殊需要, X Windows设置可以认为是不必要的。 6 禁用/etc/aliases中的"decode"别名规则 如果系统管理员没有将/etc/aliases文件内以decode别名起始的一行注释掉, 那么该主机允许decode别名。 若用户zy主目录(如/export/home/zy)下的 .rhosts文件对daemon(smtp服务器通常以daemon用户身份运行)可写, 即有: sun%echo "+" |