• 沒有找到結果。

计算机网络安全技术 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "计算机网络安全技术 - 万水书苑-出版资源网"

Copied!
27
0
0

加載中.... (立即查看全文)

全文

(1)

系统学习漏洞的概念,Windows 操作系统中的漏洞及其解决方法,Linux 操作系 统中的漏洞及其解决方法。通过本章学习,读者应: l 掌握:漏洞的概念及其对操作系统的影响。Windows  操作系统中的漏洞及 其解决方法。 l 了解:Linux 操作系统中的漏洞及其解决方法。 一般来说,计算机网络系统的安全威胁主要来自黑客攻击和计算机病毒两个方面。那么 黑客攻击为什么能够经常得逞呢?主要原因是很多人, 尤其是很多网络管理员没有起码的网络 安全防范意识, 未能针对所用的网络操作系统采取有效的安全策略和安全机制, 从而给黑客可 乘之机。因此要更好地保证网络安全,第一步就是确保操作系统的安全。网络操作系统是用于 管理计算机网络中的各种软硬件资源,实现资源共享,并为整个网络中的用户提供服务,保证 网络系统正常运行的一种系统软件。如何确保网络操作系统的安全,是网络安全的根本所在, 只有网络操作系统安全可靠,才能保证整个网络的安全。因此,详细分析系统的安全机制,找 出它可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。 

2.1  操作系统的漏洞

操作系统的选择是关键的一步,根据用户的要求不同,选择也有所不同,整体上可以分 为两种类型:第一类是选用 Windows 2000 Server、Windows XP 或者 Windows Server 2003 的 用户,第二类是使用 Linux 操作系统的用户。 从安全的角度上说,各种操作系统不可能是百分之百的无缺陷、无漏洞的。另外,编程 人员为自己使用方便而在软件中留有“后门” ,一旦“漏洞”及“后门”为外人所知,就会成 为整个网络系统受攻击的首选目标和薄弱环节。 调查显示, 网络安全的威胁大多数情况下仍来 自于黑客和病毒专家对操作系统漏洞的利用。  2.1.1  系统漏洞的概念 在计算机网络安全领域中, “漏洞”是指硬件、软件或策略上的缺陷,这种缺陷导致非法 用户未经授权而获得访问系统的权限或增加其访问权限。 有了这种访问权限, 非法用户就可以 为所欲为,从而造成对网络安全的威胁。其实,每个平台无论是硬件还是软件都存在漏洞。漏

(2)

洞与后门是不同的,漏洞是难以预知的,后门则是人为故意设置的。后门是软硬件制造者为了 进行非授权访问而在程序中故意设置的万能访问口令, 这些口令无论是被攻破, 还是只掌握在 制造者手中,都对使用者的系统安全构成了严重的威胁。 系统漏洞又称安全缺陷,是某个程序(包括操作系统)在设计时未考虑周全,当程序遇 到一个看似合理,但实际无法处理的问题时,引发的不可预见的错误。 系统漏洞对用户造成的不良后果如下所述:漏洞被恶意用户利用,会造成信息泄漏,如 黑客攻击网站就是利用网络服务器操作系统的漏洞。 对用户操作造成不便, 如不明原因的死机 和丢失文件等。 只有堵住系统漏洞,用户才会有一个安全和稳定的工作环境。 系统漏洞的产生原因大致有 3 个: 在程序编写过程中,编程人员为了达到不可告人的目的,有意地在程序的隐蔽处留下各 种各样的后门,供日后使用。随着法律的完善,这类漏洞将越来越少(别有用心的除外)。 由于编程人员的水平问题,以及经验和当时安全技术加密方法所限,在程序中总会或多 或少的有些不足之处, 这些地方有的影响程序的效率, 有的会导致非授权用户的权力加大提升。 安全与不安全从来都是相对的。 由于硬件原因,使编程人员无法弥补其漏洞,从而使硬件的问题通过软件表现出来。 漏洞问题是与时间紧密相关的。一个系统从发布的那一天起,随着用户的深入使用,系 统中存在的漏洞会被不断暴露出来, 这些早先被发现的漏洞也会不断被系统供应商发布的补丁 软件修补, 或在以后发布的新版系统中得以纠正。 而在新版系统纠正了旧版本中具有漏洞的同 时,也会引入一些新的漏洞和错误,因而随着时间的推移,旧的漏洞会不断消失,新的漏洞会 不断出现,漏洞问题也就会长期存在。 脱离具体的时间和具体的系统环境来讨论漏洞问题是毫无意义的。要针对目标系统的操 作系统版本及在其上运行的软件版本以及服务运行设置等实际环境来具体谈论其中可能存在 的漏洞及其可行的解决办法。 同时,对漏洞问题的研究必须要跟踪当前最新的计算机系统及其安全问题的最新发展动 态。这一点与对计算机病毒发展问题的研究相似。如果不能保持对新技术的跟踪,就没有谈论 系统安全漏洞问题的发言权,以前所做的工作也会逐渐失去价值。  2.1.2  漏洞的类型 安全漏洞存在不同的类型,包括允许拒绝服务的漏洞、缓冲区溢出漏洞、允许有限权限 的本地用户未经授权加大其权限的漏洞和允许外来团体 (在远程主机上) 未经授权访问网络的 漏洞。 1.允许拒绝服务的漏洞 允许拒绝服务的漏洞可能导致拒绝服务发生。 “拒绝服务”是一种常见的恶作剧式的攻 击方式,它使服务器忙于处理一些繁杂的任务,消耗大量的处理时间,而无暇顾及用户的合 法请求。 允许拒绝访问的漏洞属于 C 类,是不太严重的漏洞。对于规模大的网络或站点,拒绝服 务及其攻击造成的影响是有限的; 然而对于规模小的站点, 可能会遭到拒绝服务导致的重创, 特别对于站点只是一台单独的计算机更是如此。这类漏洞存在于操作系统网络传送本身,是

(3)

操作系统软件本身存在的漏洞。当存在这种漏洞时,必须通过软件开发者或销售商的弥补予 以纠正。 拒绝服务攻击是一个人或多个人利用 Internet 协议组的某些方面拒绝其他用户对系统或信 息进行合法访问的攻击。在 TCP SYN 攻击中,大量连接请求传给服务器,导致其请求信息被 淹没。致使服务器反应很慢或信息不能到达,从而使用户无法正常工作。 另外还有其他形式的拒绝服务的攻击,例如某些拒绝服务攻击的实现可以针对个人而不 是针对网络用户。这种类型的攻击不涉及任何漏洞,而是利用了 Web 的基本设计。 并不是每个拒绝服务攻击都需要在 Internet 发起,拒绝服务攻击也可以在本地机甚至在没 有网络环境的情况下发生。  2.缓冲区溢出漏洞 当往数组写入一个字符串,并且越过了数组边界的时候,就会发生缓冲区溢出。下列缓 冲区溢出的情况,可能会引起安全问题: l 读操作直接输入到缓冲区; l 从一个大的缓冲区复制到一个小的缓冲区; l 对输入的缓冲区做其他的操作。 如果输入是可信的,则不会成为安全漏洞,但也是潜在的安全隐患。这个问题在大部分 的 UNIX 环境中很突出——如果数组是一些函数的局部变量, 那么它的返回地址很有可能就在 这些局部变量的堆栈中,这样就使得实现这种漏洞变得十分容易,在过去的几年中,有无数漏 洞是由此造成的, 有时甚至在其他地方的缓冲区都会产生安全漏洞——尤其是在函数指针附近 的时候。  3.允许有限权限的本地用户未经授权增加其权限的漏洞 这是一种允许本地用户非法访问的漏洞,属  B  类。这类漏洞危险性很大,允许本地用户 非法访问的漏洞所产生的影响是巨大的。例如,Sendmail  这类程序中的漏洞特别值得重视, 因为网络上所有的用户都有使用这个程序的基本权限,否则用户将无法发送邮件。因此  Sendmail 中的任何漏洞都是十分危险的。 允许本地用户非法访问的漏洞一般在多种平台的应用程序中均被发现存在,它们由应用 程序中的一些缺陷引起。有些常见的编程错误导致了这种漏洞的产生。  Sendmail 是 Linux 操作系统中发送电子邮件最盛行的方法, 是 Internet 上 E­mail 系统的中 心。这个程序一般在启动时初始化,并且只要机器可用,它便可用。在其处于活动状态时,  Sendmail(在端口 25)侦听网络空间上的发送和请求。 因为只有 root 有权启动和维护 Sendmail  程序,所以当其他有相同权限的用户要启动  Sendmail  的时侯,一般要求检验用户的身份。然 而由于一个代码错误,Sendmail  在例程模式下可以以一种绕过潜入的方式激活。当绕过检查 后,任何本地用户都可以在例程下启动  Sendmail。另外,在  8.7  版本中,Sendmail  收到一个  Signup 信号时会重启,此时调用 exec 使 Sendmail 重新开始操作(非 root 启动的 Sendmail); 这次重新操作被系统认为是由 root 引发的,即这次调用使 Sendmail 具有了超级权限,所以入 侵者利用这个漏洞非法获得了超级用户权限,继而对系统实施攻击。 权限有限的本地用户在未经授权的情况下,通过各种手段提高其访问权限。这种攻击对 系统安全威胁很大。 管理员可以利用允许本地用户非法访问的漏洞来检查出入侵者,特别是在入侵者没有经

(4)

验的情况下更是如此。系统管理员通过运行强有力的登录工具,可使入侵者很难逃避检查,除 非入侵者有较多的专业知识。  4.允许未经授权的远程主机访问网络的漏洞 这种允许远程用户未经授权访问的漏洞,属于  A 类,是威胁性最大的一种漏洞。这类漏 洞从外界对系统造成严重的威胁。在许多情况下,如果系统管理员只运行了很少的日志,这些 攻击可能不会被记录下来,从而使捕捉更为困难。但采用搜索器便可以检查这些漏洞。因此, 尽管安全性程序员把这些漏洞包含进他们的搜索器程序中作为检查的选择, 这些规则也总是在 漏洞出现一段时间后才被制定出来。 大多数的  A 类漏洞是由于较差的系统管理或设置有误造成的。典型的设置错误是在驱动 器上任意存放的脚本例程。 这些脚本有时会为网络入侵者提供一些访问权限, 有时甚至提供超 级用户访问权限,如 Test.cgi 文件的缺陷是允许网络入侵者读取 CGI 目录下的文件。要补救该 类漏洞, 建议删除这些脚本。 例如, Novell 平台上的一种 HTTP 服务器含有一个称为 Convert.bas  的例子脚本,这个用 BASIC 语言编写的脚本允许远程用户读取系统上的任何文件,删除该脚 本即可避免远程用户读取系统上的任何文件。 入侵者利用脚本获取访问权,例如,Microsoft 的 IIS(Internet Information Server,因特网 信息服务器) 包含一个允许任何远程用户执行任意命令的漏洞。 因为 IIS 中的 HTTP 将所有.bat  或.cmd 后缀的文件与 CMD 和 EXE 程序联系起来,入侵者如果能够执行 CMD 和 EXE 文件, 那么就可以执行任何命令,读取任意分区的任意文件。  2.1.3  漏洞对网络安全的影响 随着网络经济时代的到来,网络将会成为一个无处不在、无所不用的工具,经济、文化、 军事和社会活动将会强烈地依赖于网络。网络的安全和可靠性成为世界各国共同关注的焦点。 而 Internet 的无主管性、跨国界性、不设防性、缺少法律约束性的特点,在为各国带来发展机 遇的同时,也带来了巨大的风险。目前,Internet 和 Web 站点无数的风险事例已使一些用户坐 立不安了,在他们看来,似乎到处都有漏洞,到处都是黑客的踪迹。事实正是如此,各种系统 漏洞正严重地影响着 Internet 的安全。 

Netscape 通信和 Netscape 商业服务器也都有类似的漏洞。对于 Netscape 服务使用 BAT 或  CMD 文件作为 CGI 脚本则会发生上述类似的情况。  1.漏洞影响 Internet 的可靠性和可用性  Internet 的网络脆弱性也是一种漏洞。Internet 是逐步发展和演变而来的,其可靠性和可 用性存在有很多弱点,特别是在网络规模迅速扩大,用户数目猛增,业务类型多样化的情况 下,系统资源的不足成为了一个瓶颈,而系统和应用工具可靠性的弱点也逐渐暴露出来。随 着经济和管理活动对网络依赖程度的加深,网络的故障和瘫痪将会给国家、组织和企业造成 巨大的损失。  2.漏洞导致了 Internet 上黑客入侵和计算机犯罪 黑客攻击早在主机—终端时代就已经出现,随着 Internet 的发展,现代黑客则从以系统为 主的攻击转变到以网络为主的攻击——形形色色的黑客和攻击者利用网络上的任何漏洞和缺 陷进行攻击。例如,通过网络监听获取网上用户的账号和密码;监听密钥分配过程,攻击密钥 管理服务器,得到密钥或认证码,从而取得合法资格;利用 Linux 操作系统中的 Finger 等命令

(5)

收集信息,提高自己的攻击能力;利用 FTP,采用匿名用户访问进行攻击;利用 NFS 进行攻 击;通过隐蔽通道进行非法活动;突破防火墙等。显然黑客入侵和计算机犯罪给 Internet 的安 全造成了严重的威胁。  3.漏洞致使 Internet 遭受网络病毒和其他软件的攻击 计算机病毒被发现以来,其种类以几何级数增长,而且病毒的机理和变种的不断演变为 检测和消除带来了更大的难度, 成为计算机和网络发展的一大公害。 计算机病毒破坏计算机的 正常工作及信息的正常存储,严重时可以使计算机系统陷于瘫痪。 总之,漏洞对于 Internet 安全性的影响是非常严重的。不采取措施对漏洞进行补救,将严 重地制约 Internet 的发展。

2.2  Windows Server 2003 的安全

众所周知,微软公司的 Windows Server 2003 操作系统因其操作方便、功能强大而成为新 一代服务器操作系统的主流,越来越多的应用系统运行在 Windows Server 2003 操作系统上, 同时 Windows Server 2003 也自然就成为了黑客攻击的对象。在日常工作中,有的管理员在安 装和配置操作系统时不注意做好安全防范工作, 导致系统安装结束的同时, 计算机病毒也入侵 到操作系统里了。如何才能搭建一个安全的操作系统是安全管理人员所关心的一个问题。  2.2.1  Windows Server 2003 安全模型 

Windows  Server  2003  操作系统安全模型的主要功能是用户身份验证和访问控制。Active  Directory 目录服务确保管理员可轻松有效地管理这些功能。  1.身份验证  Windows Server 2003  家族中的身份验证的重要功能就是它对单一登录的支持。单一登录 允许用户使用一个密码一次登录到域,然后向域中的任何计算机验证身份。 (1)单一登录。单一登录在安全性方面提供了两个主要优点: l 对用户而言,单个密码或智能卡的使用减少了混乱,提高了工作效率。 l 对管理员而言, 由于管理员只需要为每个用户管理一个账户, 所以域用户所要求的管 理支持减少了。 (2)身份验证(包括单一登录) 分两部分执行:交互式登录和网络身份验证。成功的用户身份验证取决于这两个过程。 交互式登录过程向域账户或本地计算机确认用户的身份,这一过程根据用户账户的类型 而不同。 l 使用域账户:用户可以通过存储在 Active  Directory 目录服务中的单一登录凭据使用 密码或智能卡登录到网络。 如果使用域账户登录, 被授权的用户可以访问该域以及任 何信任域中的资源;如果使用密码登录到域账户,系统将使用 Kerberos V5 进行身份 验证;如果使用了智能卡,则需要将 Kerberos V5 身份验证和证书一起使用。 l 使用本地计算机账户:用户可以通过存储在安全账户管理器(SAM)(也就是本地安 全账户数据库) 中的凭据登录到本地计算机。 任何工作站或成员服务器均可以存储本 地用户账户,但这些账户只能用于访问该本地计算机。

(6)

网络身份验证向用户尝试访问的任何网络服务去确认用户的身份证明。为了提供这种类 型的身份验证,安全系统支持多种不同的身份验证机制,包括  Kerberos  V5、安全套接字层/  传输层安全性(SSL/TLS)以及为了与 Windows NT 4.0 兼容而提供的 NTLM。 网络身份验证对于使用域账户的用户来说不可见。使用本地计算机账户的用户每次访问 网络资源时,必须提供凭据(如用户名和密码)。通过使用域账户,用户就具有了可用于单一 登录的凭据。  2.访问控制概述 访问控制是批准用户、组和计算机访问网络上的对象的过程。构成访问控制的主要概念 是权限、用户权力和对象审查。 (1)权限。权限定义了授予用户或组对某个对象或对象属性的访问类型。例如,Finance  组可以被授予对名为  Payroll.dat  文件的“读取”和“写入”权限。 权限应用到任何受保护的对象上,例如,文件、Active  Directory  对象或注册表对象。权 限可以授予任何用户、组或计算机,好的做法是将权限指派到组。 可以将对象的权限指派到: l 域中的组、用户和特殊标识符。 l 该域或任何受信任域中的组和用户。 l 对象所在的计算机上的本地组和用户。 附加在对象上的权限取决于对象的类型。例如,附加给文件的权限与附加给注册表项的 权限不同。但是,某些权限对于大多数类型的对象都是公用的。这些公用权限有: l 读取权限 l 修改权限 l 更改所有者 l 删除 设置权限,就是为组和用户指定访问级别。例如,可以允许一个用户读取文件的内容, 允许另一个用户修改该文件, 同时防止所有其他用户访问该文件; 可以在打印机上设置类似的 权限,使某些用户可以配置打印机,而其他用户只能用其打印。 如果需要更改个别对象的权限,只要启动适当的工具和更改对象的属性即可。例如,要 更改文件的权限,可以启动  Windows  资源管理器,用鼠标右键单击文件名,然后在弹出的快 捷菜单上选择【属性】命令。在【安全】选项卡上,便可以更改文件的权限。 l 对象的所有权:对象在创建时,即有一个所有者指派给该对象。所有者被默认为对象 的创建者,不管为对象设置什么权限,对象的所有者总是可以更改对象的权限。 l 权限的继承: 继承使得管理员易于指派和管理权限。 该功能自动使容器中的对象继承 该容器的所有可继承权限。例如,文件夹中的文件一经创建就继承了文件夹的权限, 当然只继承标记为可继承的权限。 (2)用户权力。用户权力授予计算机环境中的用户和组具有特定的特权和登录权力。 (3)对象审核。可以审核用户对对象的访问情况,即可以使用事件查看器在安全日志中 查看这些与安全相关的事件。  3.加密文件系统 加密文件系统(EFS)提供一种核心文件加密技术,该技术用于在 NTFS 文件系统卷上存

(7)

储已加密的文件。 加密了文件或文件夹之后, 就可以像使用其他文件和文件夹一样使用它们了。 加密对加密该文件的用户是透明的。这表明不必在使用前手动解密已加密的文件,就可 以正常打开和更改文件。 使用 EFS 类似于使用文件和文件夹上的权限。两种方法都可用于限制数据的访问。然而, 未经许可对加密文件和文件夹进行物理访问的入侵者将无法阅读这些文件和文件夹中的内容。 如果入侵者试图打开或复制已加密文件或文件夹, 将收到拒绝访问的消息。 文件和文件夹上的 权限不能防止未授权的物理攻击。 正如设置其他任何属性(如只读、压缩或隐藏)一样,通过为文件夹和文件设置加密属 性,可以对文件夹或文件进行加密和解密。如果加密一个文件夹,则存在于加密文件夹中创建 的所有文件和子文件夹都自动加密,因而推荐在文件夹级别上加密。 在使用加密文件和文件夹时,应该注意以下问题。 l 只有  NTFS  卷上的文件或文件夹才能被加密。由于  WebDAV  使用  NTFS,当通过  WebDAV(Web 分布式创作和版本控制)加密文件时需用  NTFS。 l 不能加密压缩的文件或文件夹。 如果用户加密某个压缩文件或文件夹, 则该文件或文 件夹将会被解压。 l 如果将加密的文件复制或移动到非  NTFS  格式的卷上,该文件将会被解密。 l 如果将非加密文件移动到加密文件夹中, 则这些文件将在新文件夹中自动加密。 然而, 反向操作则不能自动解密文件——文件必须被明确解密。 l 无法加密标记为【系统】属性的文件,并且位于 System Root 目录结构中的文件也无 法加密。 l 加密文件夹或文件不能防止删除或列出文件或目录。 具有合适权限的人员可以删除或 列出已加密文件夹或文件。因此,建议结合 NTFS 权限使用 EFS。 l 在允许进行远程加密的远程计算机上可以加密或解密文件及文件夹。 然而, 如果通过 网络打开已加密文件,通过此过程在网络上传输的数据并未加密,必须使用诸如  SSL/TLS(安全套接字层/传输层安全性)或 Internet 协议安全性(IPSec)等其他协议 通过有线加密数据。但 WebDAV 可在本地加密文件并采用加密格式发送。  4.公钥基础设施 计算机网络已不再是用户只要连在网络上就能证实其身份的封闭系统。在这个信息互联 的时代,一个单位的网络可能包括内部网、Internet  站点和外部网,所有这些都有可能被一些 未经授权的个人访问,他们会蓄意盗阅或更改该单位的数据。 系统管理员如何才能确认访问信息的人的标识,以及给定该标识呢?如何控制哪个人有 权访问哪些信息呢?此外,系统管理员如何才能轻松并安全地跨全单位分发和管理标识凭据 呢?这些问题都可以通过规划良好的公钥基础设施来解决。 有许多潜在的机会可未经授权即能访问网络上的信息。个人可以尝试监视或更改类似于 电子邮件、 电子商务和文件传输这样的信息流。 一个单位可能与合作伙伴在限定的范围和时间 内进行项目合作, 有些雇员虽然对此一无所知, 但却必须给他们一定的权限访问你的部分信息 资源。 如果用户为了访问不同安全系统需要记住许多密码, 他们可能选择一些防护性较差或很 普通的密码,以便于记忆。这就不仅给黑客提供了一个容易破解的密码,而且还使他们能够访 问众多安全系统和存储的数据。

(8)

公钥基础设施(PKI)是通过使用公钥加密对参与电子交易的每一方的有效性进行验证和 身份验证的数字证书、证书颁发机构(CA)和其他注册机构(RA)。尽管  PKI  的各种标准正 被作为电子商务的必须元素来广泛实现,但它们仍在发展。 

5.Internet 协议安全性定义

“Internet  协议安全性(IPSec) ”是一种开放标准的框架结构,通过使用加密的安全服务 以确保在 Internet 协议 (IP) 网络上进行保密而安全的通信。 Windows Server 2003 家族、 Windows  XP 实施的 IPSec 基于的是“Internet 工程任务组” (IETF)的 IPSec 工作组开发的标准。 

IPSec 是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止来自专用 网络与 Internet 的攻击。在通信中,只有发送方和接收方才是唯一必须了解 IPSec 保护的计算 机。在 Windows XP 和 Windows Server 2003 家族中,IPSec 提供的功能可用于保护工作组、局 域网计算机、域客户端和服务器、分支机构(可能在物理上为远程机构)、Extranet  以及漫游 客户端之间的通信。  2.2.2  Windows Server 2003 安全隐患 上面介绍了 Windows Server 2003 中采取的一些安全措施,但在实际应用中,仍然出现了 许多新的安全问题。  1.安装隐患 在一台服务器上安装 Windows Server 2003 操作系统时,主要存在以下隐患。 将服务器接入网络内安装:Windows  Server  2003 操作系统在安装时存在一个安全漏洞, 即当输入 Administrator密码后, 系统就自动建立了 ADMIN$的共享, 但是并没有用刚刚输入的 密码来保护它,这种情况一直持续到再次启动后,在此期间,任何人都可以通过  ADMIN$进 入这台机器。同时,只要安装一结束,各种服务就会自动运行,而这时的服务器自身充满了漏 洞,计算机病毒非常容易侵入。因此,将服务器接入网络内安装是非常错误的。 操作系统与应用系统共用一个磁盘分区:在安装操作系统时,将操作系统与应用系统安 装在同一个磁盘分区, 会导致一旦操作系统文件泄露时, 攻击者可以通过操作系统漏洞获取应 用系统的访问权限,从而影响应用系统的安全运行。 采用  FAT32  文件格式安装:FAT32  文件格式不能限制用户对文件的访问,这样可能导致 系统的不安全。 采用默认安装。 默认安装操作系统时, 会自动安装一些有安全隐患的组件, 如 IIS、 DHCP、  DNS 等,从而导致系统在安装后存在安全漏洞。 系统补丁安装不及时、不全面:在系统安装完成后,不及时安装系统补丁程序,从而导 致病毒侵入。  2.运行隐患 在系统运行过程中,主要存在以下隐患。 l 默认共享:系统在运行后,会自动创建一些隐藏的共享。一是 C$D$E$每个分区的根 共享目录;二是 ADMIN$远程管理用的共享目录;三是 IPC$空连接;四是 NetLogon  共享;五是其他系统默认共享,如  FAX$、PRINT$共享等。这些默认共享给系统的 安全运行带来了很大的隐患。 l 默认服务:系统在运行后,自动启动了许多有安全隐患的服务,如 Telnet  Services、

(9)

DHCP Client、DNS Client、Print Spooler、Remote Registry Services(远程修改注册表 服务)、SNMP Services、Terminal Services 等。这些服务在实际工作中如不需要,可 以禁用。 l 安全策略:系统运行后,默认情况下,系统的安全策略是不起作用的,这降低了系统 的运行安全性。 l 管理员账号:系统在运行后,Administrator 用户的账号是不能被停用的,这意味着攻 击者可以一遍又一遍地尝试猜测这个账号的口令。 此外, 设置简单的用户账号口令也 给系统的运行带来了隐患。 l 页面文件: 页面文件用来存储没有装入内存的程序和数据文件部分的隐藏文件。 页面 文件中可能含有一些敏感的资料,因而有可能造成系统信息的泄露。 l 共享文件:默认状态下,每个人对新创建的文件共享都拥有完全的控制权限,这是非 常危险的,应严格限制用户对共享文件的访问。 l  Dump 文件:Dump 文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料。 然而,它也能够给攻击者提供一些敏感信息,比如一些应用程序的口令等,从而造成 信息泄露。 l  Web 服务: 系统本身自带的 IIS 服务、 FTP 服务存在安全隐患, 容易导致系统被攻击。  2.2.3  Windows Server 2003 安全防范措施 虽然 Windows Server 2003 稳定的性能受到越来越多用户的青睐,但面对层出不穷的新病 毒,加强安全性依旧是当务之急。通常,只需做一些改动就能使系统安全提升一个台阶。  1.安装对策 在安装系统时,需要采取以下对策。 l 在完全安装、配置好操作系统,并安装系统补丁之前,不要把机器接入网络。 l 在安装操作系统时,建议至少划分三个磁盘分区。第一个分区用来安装操作系统,第 二个分区存放 IIS、FTP 和各种应用程序,第三个分区存放重要的数据和日志文件。 l 采用 NTFS 文件格式安装操作系统, 可以保证文件的安全,并能自由地控制用户对文 件的访问权限。 l 在安装系统组件时,不要采用默认安装,要删除系统默认选中的  IIS、DHCP、DNS  等服务。 l 在安装完操作系统后,应先安装应用程序,再安装系统补丁。安装系统补丁一定要 全面。  2.运行对策 在系统运行时,应采取以下对策: (1)关闭系统默认共享 方法一:采用批处理文件在系统启动后自动删除共享。首先在 COMMAND 提示符下输入  Net  Share  命 令 , 查 看 系 统 自 动 运 行 的 所 有 共 享 目 录 。 然 后 建 立 一 个 批 处 理 文 件  SHAREDEL.BAT,并将该批处理文件放入计划任务中,设为每次开机时运行。文件内容如下。  NETSHAREC$/DELETE  NETSHARED$/DELETE

(10)

NETSHAREE$/DELETE  …… 

NETSHAREIPC$/DELETE  NETSHAREADMIN$/DELETE 

方 法 二 : 修 改 系 统 注 册 表 , 禁 止 默 认 的 共 享 功 能 。 在  Local_Machine\System\  CurrentControlSet\Services\Lanmanserver\parameter 下新建一个双字节项 auto share server,其值 为 0 即可。

(2)删除不需要的网络协议

删除网络协议中的 NLink NetBIOS 协议、 NLink IPX/SPX/NetBIOS 协议, NetBEUIProtocol  协议和服务等,只保留 TCP/IP 网络通信协议。 (3)关闭不必要的有安全隐患的服务 可以根据实际情况,关闭表 2­1 中列出的服务。这些服务是系统自动运行的有安全隐患的 服务。 表 2­1  需要关闭的服务表 服务名称 更改操作  DHCP Client  停止并禁用  DNS Client  停止并禁用  Print spooler  停止并禁用  Remote Registry services  停止并禁用  SNMP services  停止并禁用  Telnet services  禁用  Terminal services  禁用 (4)启用安全策略 安全策略包括以下 5 个方面。 l 账号锁定策略。设置账号锁定阈值,比如 5 次无效登录后,即锁定账号。 l 密码策略。 操作系统的密码(口令)十分重要,它是抵抗攻击的第一道防线,因此必须把密码安全 作为安全策略的第一步。安全的密码至少具备以下 4 个条件中的 3 个:大写字母、小写字母、 数字、非字母数字的字符(如标点符号等)。 安全的密码还要符合下列的规则:不使用普通的名字或昵称,不使用普通的个人信息, 如生日日期,密码里不含有重复的字母或数字,至少使用 8 个字符。另外,还应该定期修改 密码。 以下举例说明强壮密码的重要性:假设密码设置为  6  位(包括任意五个字母和一位数字 或符号),则其可能性将近有 163 亿种。不过这只是理论估算,实际上密码比这有规律得多。 例如,英文常用词条约 5000 条,从 5000 个词中任取一个字母与一个字符合成口令,仅有 688  万种可能性,在一台 600MHz 的计算机上每秒可运算 10 万次,则破解时间仅需 1 分钟,即使 采用穷举方法,也只需 9 个小时,因此 6 位密码十分不可靠。而对于 8 位密码(包括 7 个字母

(11)

和 1 位数字或符号)来说,若要完全破解,则需要将近三年的时间。因此,密码不要用全部数 字,不要用自己的中英文名,不要用字典上的词,一定要使用数字和字母交替夹杂,并最好加 入@、#、$、%、!、&、*、?之类的字符。 例 2­1  使用安全强壮的密码。  Windows  Server  2003 系统在默认配置下允许任何字符或字符串作为密码,包括空格,这 是相当不安全的, 可以通过修改注册表使得设定的密码中必须同时包含字母和数字, 从而增强 系统的安全性。  1)选择【控制面板】|【管理工具】|【本地安全策略】,打开【本地安全设置】对话框, 如图 2.1 所示。 图 2.1  【本地安全设置】对话框  2)选择【账户策略】中的【密码策略】,双击想要更改的项目,比如【密码长度最小值】, 打开如图 2.2 所示的【密码长度最小值 属性】对话框。 图 2.2  【密码长度最小值 属性】对话框  3)设置好对应的内容,单击【确定】按钮。 还可以按照上面的步骤作如表 2­2 所示的设置。

(12)

表 2­2  密码策略设置 策略 安全设置 密码复杂性要求 启用 密码长度最小值  8 位 强制密码历史(次数)  5 次 强制密码历史(天数)  42 天 注:后两项会因操作系统的不同,设置名称等会不尽相同,但意义都一样。  4)重新启动计算机,使新的设置生效。 l 审核策略。 默认安装时审核策略是关闭的。激活此功能有利于管理员很好地掌握机器的状态,有利 于系统的入侵检测。可以从日志中了解到电脑是否在被攻击,是否有非法的文件访问等。开启 安全审核是系统最基本的入侵检测方法。 当攻击者尝试对系统进行某些方式 (如尝试用户口令, 改变账号策略,未经许可的文件访问等)入侵,都会被安全审核记录下来。 下面的这些审核是必须开启的,其他的可以根据需要增加:审核系统登录事件、审核账 户管理、审核登录事件、审核对象访问、审核策略更改、审核特权使用、审核系统事件,如图  2.3 所示。 图 2.3  审核策略设置 l 用户权限分配。 l 安全选项。 在【安全选项】中,右键单击【网络访问:不允许枚举  SAM  账户和共享的匿名枚举】, 选择【属性】,打开【网络访问:不允许 SAM 账户和共享的匿名枚举 属性】对话框,将其属 性设置为【已禁用】,如图 2.4 所示。 也可以通过修改注册表中的值来禁止建立空连接,单击【开始】|【运行】,打开【运行】 对 话 框 , 输 入 “ regedit.exe ” , 打 开 【 注 册 表 编 辑 器 】 对 话 框 , 如 图  2.5  所 示 , 选 择  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 中的 restrictanonymous,右

(13)

击打开快捷菜单,选择“修改” ,打开“编辑 DWROD 值”对话框,将“数值数据”值改为 1, 如图 2.6 所示。此举可以有效地防止利用 IPC$空连接枚举 SAM 账号和共享资源,造成系统信 息泄露。 图 2.4  【网络访问:不允许 SAM 账户和共享的匿名枚举 属性】对话框 图 2.5  修改注册表中 restrict anonymous 的值 图 2.6  【编辑 DWROD 值】对话框 (5)加强对 Administrator 账号和 Guest 账号的管理监控 将 Administrator 账号重新命名,新建一个陷阱账号,名为 Administrator,口令为 10 位以

(14)

上的复杂口令,其权限设置成最低,即将其设为不隶属于任何一个组,并通过安全审核,借此 发现攻击者的入侵企图。 设置 2 个管理员用账号, 一个具有一般权限, 用来处理一些日常事务; 另一个具有管理员权限,只在需要的时候使用。修改  Guest  用户口令为复杂口令,或者禁用  GUEST 用户账号。 (6)清除页面文件 单击【开始】|【运行】,打开【运行】对话框,输入“regedit.exe” ,打开【注册表编辑器】 对话框, 修改其中HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management  中 ClearPageFileAtShutdown 的值为 1,可以禁止系统产生页面文件, 防止信息泄露, 如图 2.7  所示。 图 2.7  清除页面文件 (7)清除 Dump 文件 打开【控制面板】|【系统】|【高级】|【启动和故障恢复】 ,打开【启动和故障恢复】对话 框,将【写入调试信息】改成【无】 ,可以清除 Dump 文件,防止信息泄露,如图 2.8 所示。 图 2.8  清除 Dump 文件

(15)

(8)防范 NetBIOS 漏洞攻击

在局域网内部使用  NetBIOS  协议可以非常方便地实现消息通信,但是如果在因特网上,  NetBIOS 就相当于一个后门程序,很多攻击者都是通过 NetBIOS 漏洞发起攻击。 

NetBIOS(Network Basic Input Output System,网络基本输入输出系统)是一种应用程序 接口 (API), 系统可以利用 WINS (管理计算机 NetBIOS 名和 IP 影射关系) 服务、 广播及 Lmhost  文件等多种模式将 NetBIOS 名解析为相应 IP 地址,从而实现信息通信。 例 2­2  对于 Windows Server 2003 系统而言,可以通过以下方式来设置:  1)首先选择【开始】|【设置】|【控制面板】|【网络和拨号连接】|【本地连接】菜单, 双击 Internet 协议(TCP/IP),打开图 2.9 所示的【Internet  协议(TCP/IP)属性】对话框。  2)单击【高级】按钮,打开图 2.10 所示的【高级 TCP/IP 设置】对话框,选择【选项】 选项卡。 图 2.9  取消 TCP/IP 协议属性 图 2.10  【高级 TCP/IP 设置】对话框  3)单击【属性】按钮,打开【TCP/IP  筛选】对话框,选择【启用 TCP/IP  筛选】复选框, 如图 2.11 所示。 图 2.11  【TCP/IP 筛选】对话框

(16)

4)在【TCP  端口】中添加除了 139 之外要用到的服务端口即可。 (9)WEB 服务安全设置 

WEB 服务和 FTP 服务,建议采取以下措施。

l 在安装时不要选择  IIS  服务,安装完毕后,手动添加该服务,将其安装目录设为如  D:\INTE 等任意字符,以加大安全性。

l 删除 Internet 服务管理器, 删除样本页面和脚本, 卸载 Internet 打印服务, 删除除 ASP  外的应用程序映射。 l 针对不同类型文件建立不同文件夹并设置不同权限。 l 对脚本程序设为纯脚本执行许可权限,二进制执行文件设为脚本和可执行程序权限, 静态文件设为读权限。 l 对安全扫描出的 CGI 漏洞文件要及时删除。 (10)加固 IIS 服务器的安全

针对 Windows  系统的攻击几乎都偏重在 IIS 上, 例如 2001 年、 2002 年的 Nimda、 CodeRed  病毒等都是利用 IIS 漏洞入侵并且开始传播的。 由于 Windows Server 2003 系统上使用 IIS 作为  WWW 服务程序居多,再加上 IIS 的脆弱性以及与操作系统相关性,所以通过 IIS 的漏洞入侵 来获得整个操作系统的管理员权限, 对于一台未经安全配置的计算机来说是轻而易举的, 因此, 配置和管理好 IIS 在整个系统配置里就显得举足轻重。  IIS  的配置可以分为以下几方面(以下操作均是使用  Internet  信息服务管理器操作,可以 在控制面板的管理工具里面找到该快捷方式,如图 2.12 所示) 。 图 2.12  Internet 信息服务管理器 l 删除目录映射。 默认的 IIS 安装目录是 C:\inetpub, 建议更改到其他分区的目录里面, 比如 D:\inetpub 目录。

(17)

默认时 IIS 里有 Scripts,IISAdmin、IISSamples、MSADC、IISHelp、Printers 这些目录映 射,建议完全删除 IIS 的默认映射目录,包括在服务器上真实的路径(%systemroot%是一个环 境变量,在具体每台服务器上可能不一样,默认值由安装时选择目录决定) 。  Scripts 对应 C:\inetpub\scripts 目录。  IISAdmin 对应%systemroot%\System32\inetsrv\iisadmin 目录。  IISSamples 对应 C:\inetpub\iissamples 目录。  MSADC 对应 C:\program files\common files\system\msadc 目录。  IISHelp 对应%systemroot%\help\iishelp 目录。  Printers 对应%systemroot%Web\printers 目录。  IIS  管理员页面目录如下:  IISADMPWD 对应%systemroot%\system32\inetsrv\iisadmpwd 目录。  IISADMIN 对应%systemroot%\system32\inetsrv\iisadmin 目录。 l 删除可执行文件扩展名(应用程序)映射。  1)在“Internet 信息服务管理器”窗口中,选择【默认网站】|【属性】,打开【默认网站 属性】对话框,如图 2.13 所示。 图 2.13  【默认网站 属性】对话框  2)在该对话框中单击【配置】按钮,默认有以下程序映射,如图 2.14 所示。 如果不使用 SSI(Server Side Include,服务器端嵌入脚本),建议删除.shtm、.stm 和.shtml  这些映射,建议只保留.asp 和.asa 的映射。 l  FrontPage 扩展服务  1)选择【开始】|【设置】|【控制面板】命令,打开【控制面板】窗口,双击【添加或删 除程序】 图标, 打开 【添加或删除程序】 窗口, 选择 【添加/删除 Windows 组件】 , 打开 【Windows  组件向导】对话框,如图 2.15 所示。

(18)

图 2.14  【应用程序配置-映射】对话框 图 2.15  【Windows 组件向导】对话框  2)选择【应用程序服务器】复选框,单击【详细信息】按钮,打开【应用程序服务器】 对话框,如图 2.16 所示。  3)选择【Internet 信息服务(IIS) 】复选框,单击【详细信息】按钮,打开【Internet 信息 服务(IIS) 】对话框,确认【FrontPage 2002 Server Extensions】复选框未被选中,如图 2.17 所 示。单击【确定】按钮。

(19)

图 2.16  【应用程序服务器】对话框 图 2.17  【Internet 信息服务(IIS) 】对话框 l  FTP 文件传输服务。 尽量不要使用系统自带的  FTP  服务,因为该服务与系统账户集成认证,一旦密码泄漏后 果十分严重。 建议利用第三方软件 SERV­U 提供的 FTP 服务, 该软件采用单向 Hash 函数 (MD5) 加密用户口令,加密后的口令保存在 ServUDaemon.ini 或是注册表中;用户权限管理采用多权 限和模拟域方式,并且虚拟路径和物理路径能够随时变换。此外利用 IP 规则、用户权限、用 户域、用户口令等多重保护防止非法入侵。 (11)禁止不必要的服务  Windows  Server  2003 系统中有许多不常用的服务自动处于激活状态,许多服务中可能存 在的安全漏洞使攻击者甚至不需要账户就能控制计算机。 为了系统的安全, 应该关闭不常用的 功能服务,从而大大减少安全风险。

(20)

选择【开始】|【设置】|【控制面板】命令,打开【控制面板】窗口,双击【管理工具】图 标,打开【管理工具】窗口,双击【服务】图标,打开【服务】窗口,选取不必要的服务进行 禁止,如图 2.18 所示。 图 2.18  禁止不必要的服务 相关需要禁止的服务如下。 l  Alerter:系统管理级警报。 l  Application Management:提供软件安装服务,诸如分派、发布及删除等。 l  ClipBook:支持【剪贴簿查看器】 ,从远程剪贴簿查阅剪贴页面。 l  COM+ Event System:提供事件的自动发布及订阅 COM 组件。 l  Computer Browser:维护网络计算机的最新列表,以及响应提供这个列表的请求。 l  Distributed Link Tracking Client:当文件在网络域的 NTFS 卷中移动时发送通知。 l  Distributed Transaction Coordinator:协调跨多个数据库、消息队列、文件系统等资源 管理器的事务。 l  Fax Service:发送和接收传真。 l  FTP publishing service:通过 Internet 信息服务的管理单元提供 FTP 连接和管理。 l  Indexing Service:本地和远程计算机上文件的索引内容和属性,并提供文件快速访问 服务。 l  Messenger:发送和接收系统管理员以及 Alerter 服务传递的消息。 l  Net Logon:支持网络计算机 pass­through 账户登录身份验证事件。 l  Network DDE:提供动态数据交换(DDE)的网络传输和安全特性服务。 l  Network DDE DSDM:管理 DDE 共享动态数据交换。

(21)

l  Network Monitor:网络监视器。

l  NetMeeting  Remote  Desktop  Sharing:允许有权限的用户使用  NetMeeting  远程访问  Windows  桌面。

l  Plug  and  Play(在配置好所有硬件后应该禁止此服务):管理设备安装以及配置,并 且通知程序关于设备更改的情况。

l  Remote  Procedure  Call(RPC):提供终结点映射程序(Endpoint  Mapper)以及其他  RPC 服务。 l  Remote Registry Service:允许远程注册表操作。 l  Removable Storage:管理可移动媒体、驱动程序和库。 l  Routing and Remote Access:在局域网以及广域网环境中为企业提供路由服务。 l  Server:支持此计算机通过网络的文件、打印和命名管道共享。 l  Smart Card:对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。 l  Smart Card Helper:提供对连接到计算机上旧式智能卡的支持。 l  Task Schedule:允许程序在指定时间运行。 l  TCP/IP Netbios Helper:提供 TCP/IP(NetBT)服务上的 NetBIOS 和网络上客户端的  NetBIOS 名称解析的支持。 l  Telephone Service:提供 TAPI 支持,以便程序控制本地计算机、服务器以及 LAN 上 的电话设备和基于 IP 的语音连接。 l  Windows Management Instrumentation:提供系统管理信息。 

2.3    Linux 网络操作系统的安全

随着 Internet 的日益普及,采用 Linux 操作系统作为服务器的用户也越来越多,这一方面 是因为 Linux 是开放源代码的免费正版软件, 另一方面也是因为 Linux 系统具有较好的稳定性 和安全性。在使用 Linux 操作系统的时候,也要详细分析 Linux 系统的安全机制,找出它可能 存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。  2.3.1    Linux 网络操作系统的基本安全机制  Linux 网络操作系统提供了用户账号、文件系统权限和系统日志文件等基本安全机制,如 果这些安全机制配置不当,就会使系统存在一定的安全隐患。  1.Linux 系统的用户账号 在  Linux  系统中,用户账号是用户的身份标志,它由用户名和用户口令两部分组成。在  Linux 系统中,系统将输入的用户名存放在/etc/passwd 文件中,而将输入的口令以加密的形式 存放在/etc/shadow文件中。在正常情况下,这些口令由操作系统保护,能够对其进行访问的只 能是超级用户和操作系统的一些应用程序。 但是如果配置不当, 或者在系统运行出错的情况下, 这些信息可能被普通用户非法获取。进而,不怀好意的用户就可以使用“口令破解”工具得到 加密前的口令。  2.Linux 的文件系统权限  Linux 文件系统的安全主要是通过设置文件的权限来实现的。 每一个 Linux 的文件或目录,

(22)

都有 3 组属性,分别定义文件或目录的所有者、用户组和其他人的使用权限(只读、可写、可 执行、 允许 SUID、 允许 SGID 等)。 需要注意的是, 权限为 SGID 和 SUID 的可执行文件。 SGID  (SUID)中的 S 指 set,程序在运行时,其进程的 EUID(Effective User ID)或 EGID(Effective  Group ID)会被设成文件拥有者的 UIDGID,从而进程也具有了其 Owner 或 Owner Group 的权 限。典型的应用是/bin/passwd 命令,其 Owner 是 root,权限是 4755。可以想象,如果使用不 当,SGID 和 SUID 程序会给系统安全性带来极大的危害。某些入侵者暂时取得 root 权限后, 往往会利用 SGID 或 SUID 程序为下次进入系统留下后门。为了防止这种情况发生,应当定期 检查系统中的 SUID 和 SGID 程序。  3.合理利用 Linux 的日志文件  Linux 的日志文件用来记录整个操作系统使用状况。作为一个 Linux 网络系统管理员要充 分用好以下几个日志文件。 l  /var/log/lastlog  文件。记录最后进入系统的用户信息,包括登录的时间、登录是否成 功等。因此普通用户登录后只要用 lastlog 命令查看一下/var/log/lastlog 文件中记录的 账号的最后登录时间, 再与自己的记录对比一下, 就可以发现该账号是否被黑客盗用。 l  /var/log/secure  文件。记录系统自开通以来所有用户的登录时间和地点,可以给系统 管理员提供更多的参考。 l  /var/log/wtmp 文件。记录当前和历史上登录到系统的用户的登录时间、地点和注销时 间等信息。可以用 last 命令查看,若想清除系统登录信息,只需删除这个文件即可。  2.3.2    Linux 网络系统可能受到的攻击  Linux 操作系统是一种公开源代码的操作系统,因此比较容易受到来自底层的攻击,系统 管理员一定要有安全防范意识,并对系统采取一定的安全措施,这样才能提高 Linux 系统的安 全性。 对于系统管理员来说特别是要搞清楚对  Linux  网络系统可能的攻击方法,并采取必要的措 施保护自己的系统。对  Linux  服务器攻击的定义是,攻击是一种旨在妨碍、损害、削弱、破坏  Linux 服务器安全的未授权行为。 攻击的范围可以从服务拒绝直至完全危害和破坏 Linux 服务器。 对 Linux 服务器攻击通常有 4 类。  1.“拒绝服务”攻击 所谓“拒绝服务”攻击是指黑客采取具有破坏性的方法阻塞目标网络的资源,使网络暂 时或永久瘫痪,从而使 Linux 网络服务器无法为正常的用户提供服务。例如黑客可以利用伪造 的源地址或受控的其他地方的多台计算机同时向目标计算机发出大量、连续的 TCP/IP 请求, 从而使目标服务器系统瘫痪。  2.“口令破解”攻击 口令安全是保卫自己系统安全的第一道防线。 “口令破解”攻击的目的是为了破解用户的 口令,从而可以取得已经加密的信息资源。例如黑客可以利用一台高速计算机,配合一个字典 库,尝试各种口令组合,直到最终找到能够进入系统的口令,打开网络资源。  3.“欺骗用户”攻击 “欺骗用户”攻击是指网络黑客伪装成网络公司或计算机服务商的工程技术人员,向用 户发出呼叫,并在适当的时候要求用户输入口令,这是用户最难对付的一种攻击方式,一旦用

(23)

户口令失窃,黑客就可以利用该用户的账号进入系统。  4.“扫描程序和网络监听”攻击 许多网络入侵是从扫描开始的,利用扫描工具黑客能找出目标主机上各种各样的漏洞, 并利用之对系统实施攻击。 网络监听也是黑客们常用的一种方法,当成功地登录到一台网络上的主机,并取得了这 台主机的超级用户控制权之后, 黑客可以利用网络监听收集敏感数据或者认证信息, 以便日后 夺取网络中其他主机的控制权。  2.3.3    Linux 网络安全防范策略  Linux 是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户, 也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 Linux 系统,或者盗取 Linux 系 统上的重要信息。不过,只要仔细设定 Linux 的各种系统功能,并且加上必要的安全措施,就 能让黑客们无机可乘。  1.仔细设置每个内部用户的权限 为保护 Linux 网络系统的资源,在给内部网络用户开设账号时,要仔细设置每个内部用户 的权限,一般应遵循“最小权限”原则,也就是仅给每个用户授予完成他们特定任务所必须的 服务器访问权限。 虽然这样做会大大加重系统管理员的管理工作量, 但是为了整个网络系统的 安全还是应该坚持这个原则。  2.确保用户口令文件/etc/shadow 的安全 对于网络系统而言,口令是比较容易出问题的地方,作为系统管理员应告诉用户在设置 口令时要使用安全口令(在口令序列中使用非字母、非数字等特殊字符)并适当增加口令的长 度(大于 6 个字符)。系统管理员要保护好/etc/passwd 和/etc/shadow 这两个文件的安全,不让 无关的人员获得这两个文件,这样黑客利用 John 等程序对/etc/passwd 和/etc/shadow 文件进行 字典攻击以获取用户口令的企图就无法进行。系统管理员要定期用  John  等程序对本系统的  /etc/passwd 和/etc/shadow 文件进行模拟字典攻击,一旦发现有不安全的用户口令,要强制用户 立即修改。 字典攻击:收集好密码可能包含的字符串,然后通过各种方式组合。即相当于从字典中 查密码,逐一验证! 字典软件:是一个可以自动编写密码的软件,他的功能是编写密码,是结合其他暴力破 解软件的一种工具。生成后可以利用流光等软件,是破解密码的一种方式,也就是猜密码,只 不过用电脑来完成。比如有个密码要猜测,那就让电脑程序去一个一个测试,拿什么去测试, 就是字典了,在文件中录入一些字符,比如一个文件内容:1 2 3 4  那电脑就先从 1 开始到 4, 如 12 13 14 等等。  3.加强对系统运行的监控和记录  Linux 网络系统管理员应对整个网络系统的运行状况进行监控和记录,这样通过分析记录 数据,可以发现可疑的网络活动,并采取措施预先阻止今后可能发生的入侵行为。如果入侵行 为已经实施,则可以利用记录数据跟踪和识别侵入系统的黑客。  4.制定适当的数据备份计划 没有一种操作系统的运转是百分之百可靠的,也没有一种安全策略是万无一失的,因此

(24)

作为 Linux 系统管理员, 必须为系统制定适当的数据备份计划, 充分利用磁带机、 光盘刻录机、 双机热备份等技术手段为系统保存数据备份,使系统一旦遭到破坏或黑客攻击而发生瘫痪时, 能迅速恢复工作,把损失减少到最小。 在完成 Linux 系统的安装以后应该对整个系统进行备份, 以后可以根据这个备份来验证系 统的完整性,从而发现系统文件是否被非法篡改过。如果发生系统文件已经被破坏的情况,也 可以使用系统备份来恢复到正常的状态。 l  CD­ROM 备份 当前最好的系统备份介质就是 CD­ROM 光盘,备份后可以定期将系统与光盘内容进行比 较,以验证系统的完整性是否遭到破坏。如果对安全级别的要求特别高,还可以将光盘设置为 可启动的并且将验证工作作为系统启动过程的一部分。 这样只要可以通过光盘启动, 就说明系 统尚未被破坏过。 如果创建了一个只读的分区,那么可以定期从光盘映像重新装载它们。即使像/boot、/lib  和/sbin  这样不能被安装成只读的分区,仍然可以根据光盘映像来检查,甚至可以在启动时从 另一个安全的映像重新下载它们。 l 其他方式的备份 虽然/etc 中的许多文件经常会变化,但/etc 中的许多内容仍然可以放到光盘上用于系统完 整性验证。其他不经常进行修改的文件,可以备份到另一个系统(如磁带)或压缩到一个只读 目录中。这种办法可以在使用光盘映像进行验证的基础上再进行额外的系统完整性检查。  5.保持最新的系统核心 由于  Linux  流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系 统安全,一定要经常更新系统内核。  Kernel 是 Linux 操作系统的核心,它常驻内存,用于加载操作系统的其他部分,并实现操 作系统的基本功能。由于  Kernel  控制计算机和网络的各种功能,因此,它的安全性对整个系 统安全至关重要。在设定 Kernel 的功能时,只选择必要的功能,千万不要所有功能照单全收, 否则会使 Kernel 变得很大,既占用系统资源,也给黑客留下可乘之机。 在 Internet 上常常有最新的安全修补程序,Linux 系统管理员应该消息灵通,经常光顾安 全新闻组,查阅新的修补程序。  6.定期对 Linux 网络进行安全检查  Linux 网络系统的运转是动态变化的, 因此对它的安全管理也是变化的, 没有固定的模式, 作为 Linux 网络系统的管理员, 在为系统设置了安全防范策略后, 应定期对系统进行安全检查, 并尝试对自己管理的服务器进行攻击, 如果发现安全机制中的漏洞应立即采取措施补救, 不给 黑客以可乘之机。  2.3.4  加强 Linux 网络服务器的管理 可以采取以下措施,加强对 Linux 网络服务器的管理。  1.记录对 Linux 系统的访问  Linux  系统管理员可以利用记录文件和记录工具记录事件,可以每天查看或扫描记录文 件,这些文件记录了系统运行的所有信息。如果需要,还可以把高优先级的事件提取出来传送 给相关人员处理,如果发现异常可以立即采取措施。

(25)

2.取消不必要的服务 大多数 Linux 系统安装后,各种不同的服务都被激活,如 FTP、Telnet、UUCP、ntalk 等。 多数情况下, 其中有些服务很少会用到, 让它们处于活动状态就像是把窗户打开让盗贼有机会 溜进来一样。一般来说,除了 HTTP、SMTP、Telnet 和 FTP 之外,其他服务都应该取消,诸 如简单文件传输协议  TFTP、网络邮件存储及接收所用的  IMAP/IPOP  传输协议、搜索资料用 的 Gopher 以及用于时间同步的 Daytime 和 Time 等。 取消不必要服务的方法就是检查/etc/inetd.conf 文件,在不要的服务前加上“#”号,然后 重启 inetd 后台程序,从而禁用它们。另外,一些服务(如数据库服务器)可能在开机过程中 默认启动,可以通过编辑/etc/rc.d/*目录等禁用这些服务。许多有经验的管理员禁用了所有系 统服务,只留下 SSH 通信端口。  3.慎用 Telnet 服务 用  Telnet  进行远程登录时,用户名和用户密码是明文传输的,这就有可能被在网上监听 的其他用户截获。 另一个危险是黑客可以利用 Telnet 登入系统, 如果同时获取了超级用户密码, 则对系统的危害将是灾难性的。因此,如果不是特别需要,不要开放 Telnet 服务。如果一定要 开放 Telnet 服务, 应该要求用户用特殊的工具软件进行远程登录, 这样就可以在网上传送加密 过的用户密码,以免密码在传输过程中被黑客截获。 还有一些报告系统状态的服务,如 Finger、Efinger、Systat 和 Netstat 等,虽然对系统查错 和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用  Finger  服务查找用 户的电话、使用目录以及其他重要信息。因此,很多 Linux 系统将这些服务全部或部分取消, 以增强系统的安全性。 

Inetd 除了利用/etc/inetd.conf 设置系统服务项之外,还利用/etc/services 文件查找各项服务 所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全漏洞。

在 Linux 中有两种不同的服务形态:一种是仅在有需要时才执行的服务,如 Finger 服务; 另一种是一直在执行的永不停顿的服务。 这类服务在系统启动时就开始执行, 因此不能靠修改  Inetd 来停止其服务,而只能从修改/etc/rc.d/rc[n].d/文件或用 Run level editor 去修改它。提供文 件服务的 NFS 服务器和提供 NNTP 新闻服务的 NEWS 都属于这类服务,如果没有必要,最好 取消这些服务。  4.合理设置 NFS 服务和 NIS 服务  NFS(Network File System)服务允许工作站通过网络共享一个或多个服务器输出的文件。 但对于配置不安全的 NFS 服务器来讲,用户不经登录就可以阅读或者更改存储在 NFS 服务器 上的文件,使得 NFS 服务器很容易受到攻击。如果一定要提供 NFS 服务,要确保 NFS 服务 器支持 Secure RPC(Secure Remote Procedure Call),以便利用 DES(Data Encryption Standard) 加密算法和指数密钥交换(Exponential Key Exchange)技术验证每个 NFS 请求的用户身份。 

NIS(Network  Information System)服务是一个分布式数据处理系统,它使网络中的计算 机通过网络共享 passwd 文件、group 文件、主机表文件和其他共享的系统资源。NIS 服务也有 漏洞, 在 NIS 系统中, 恶意用户可以利用自己编写的程序模仿 Linux 系统中的 ypserv 响应 ypbind  的请求,从而截获用户的密码。因此,NIS 的用户一定要使用 ypbind 的 secure 选项,并且不 接受端口号小于 1024(非特权端口)的 ypserv 响应。

(26)

5.小心配置 FTP 服务  FTP 服务的用户名和用户密码也是明文传输的。因此,为系统的安全计,必须禁止 root、  bin、daemon、adm 等特殊用户对 FTP 服务器进行远程访问,限制某些主机不能连入 FTP 服务 器,如果开放匿名 FTP 服务,则任何人都可以下载文件(有时还可以上传文件),因此,除非 特别需要一般应禁止匿名 FTP 服务。  6.合理设置 POP3 和 Sendmail 等电子邮件服务 对一般的 POP3 服务来讲,电子邮件用户的口令是按明文方式传送到网络中的,黑客可 以轻易截获用户名和用户密码。要想解决这个问题,必须安装支持加密传送密码的 POP3 服 务器(即支持 Authenticated POP 命令),这样用户在往网络中传送密码之前,可以先对密码 加密。 老版本的 Sendmail 邮件服务器程序存在安全隐患,为确保邮件服务器的安全,应尽可能 安装已消除安全隐患的最新版的 Sendmail 服务器软件。  7.加强对 WWW 服务器的管理,提供安全的 WWW 服务 当一个基于 Linux 系统的网站建立好之后, 绝大部分用户是通过 Web 服务器, 利用 WWW  浏览器对网络进行访问的,因此必须特别重视  Web  服务器的安全,无论采用哪种基于  HTTP  协议的 Web 服务器软件,都要特别关注 CGI 脚本(Common Gateway Interface)。CGI 脚本是 可执行程序,一般存放在 Web 服务器的 CGI­BIN 目录下面,在配置 Web 服务器时,要保证  CGI 可执行脚本只存放于 CGI­BIN 目录中。  8.最好禁止提供 Finger  服务 在 Linux 系统下,使用 finger 命令,可以显示本地或远程系统中目前已登录用户的详细信 息,黑客可以利用这些信息,增大侵入系统的机会。为了系统的安全,最好禁止提供  Finger  服务,即从/usr/bin 下删除 Finger 命令。如果要保留 Finger 服务,应将 Finger 文件换名,或修 改权限为只允许 root 用户执行 Finger 命令。 由于 Linux 操作系统使用广泛,又公开了源码,因此是被广大计算机用户研究得最彻底的 操作系统,而 Linux 本身的配置又相当得复杂,按照前面的安全策略和保护机制,可以将系统 的风险降到最低,但不可能彻底消除安全漏洞,作为 Linux 系统的管理员,一定要有安全防范 意识,定期对系统进行安全检查,发现漏洞要立即采取措施,不给黑客以可乘之机。

复习思考题二

一、单项选择题 网络访问控制可分为自主访问控制和强制访问控制两大类。 ① 是指由系统对用户所创建的对象进 行统一的限制性规定。 ② 是指由系统提供用户有权对自身所创建的访问对象进行访问,并可将对这些 对象的访问权授予其他用户和从授予权限的用户收回其访问权限。用户名/口令、权限安全、属性安全等都属 于 ③ 。 ( )①  A.服务器安全控制  B.检测和锁定控制  C.自主访问控制  D.强制访问控制

(27)

( )②  A.服务器安全控制  B.检测和锁定控制  C.自主访问控制  D.强制访问控制 ( )③  A.服务器安全控制  B.检测和锁定控制  C.自主访问控制  D.强制访问控制 二、填空题  1.Windows NT 四种域模型为单域模型、__________、多主域模型和__________模型。  2.使用特殊技术对系统进行攻击,以便得到有针对性的信息就是一种__________攻击。  3.__________攻击是指通过向程序的缓冲区写入超出其长度的内容,从而破坏程序的堆栈,使程序转 而执行其他的指令,以达到攻击的目的。  4.Windows NT 的安全管理主要包括__________、用户权限规则、__________和域管理机制等。 三、简答题  1.简述漏洞的概念。  2.漏洞对操作系统有什么影响?  3.操作系统为什么会有安全问题?  4.什么是访问控制?  5.Windows Server 2003 如何设置安全的密码?  6.Windows Server 2003 如何实现身份认证?  7.Linux 网络系统可能受到的攻击有哪些?  8.Linux 网络系统如何实现单一登录?

參考文獻

相關文件

Department of Mathematics National Cheng Kung

[r]

Department of Mathematics National Cheng Kung

另外因為 Gal(L/F ) 是 Gal(L/K) 的 normal subgroup, 所以由 Second Fundamental Theorem 4.1.8 知 F/K 也是 Galois extension, 而且 Gal(F/K) isomorphic to Gal(L/K)/Gal(L/F )

In order to facilitate the schools using integrated or mixed mode of curriculum organization to adopt the modules of Life and Society (S1-3) for improving their

Curriculum Development Council and Hong Kong Examinations and Assessment Authority. Economics curriculum and assessment guide

Then, we recast the signal recovery problem as a smoothing penalized least squares optimization problem, and apply the nonlinear conjugate gradient method to solve the smoothing

A subgroup N which is open in the norm topology by Theorem 3.1.3 is a group of norms N L/K L ∗ of a finite abelian extension L/K.. Then N is open in the norm topology if and only if