1.4. 安全威胁

1.4.1. 网络安全威胁

如果不能在以下方面很好地配置网络,就会增加被袭击的风险。

不安全的构架

错误配置的网络是未授权用户的主要切入点。让一个可信任并且开放的本地网络暴露于高风险的互联网上就如同开门揖盗— 有时可能什么都不会发生,但 最终 会有人利用这样的机会。

广播网络

系统管理员通常无法意识到其安全方案中联网硬件的重要性。简单的硬件,比如集线器和路由器,它们依赖的是广播或者非切换的原则,即,无论何时,某个节点通过网络将数据传送到接收节点时,集线器或者路由器都会向接受者发送该数据包的广播并处理该数据。这个方法是外部入侵者以及本地主机的未授权用户进行地址解析(ARP)或者介质访问控制 (MAC)地址嗅探的最薄弱的环节。

集中管理的服务器

另一个潜在的联网陷阱是使用集中管理的计算机。很多企业常用的削减支出的方法是将所有服务都整合到一个强大的机器中。这很方便,因为它容易管理,同时费用相对多台服务器配置来说更加便宜。但是集中管理的服务器也会造成网络单点的失败。如果中央服务器被破坏,则会造成整个网络完全不能使用,甚至更糟糕的是,有可能造成数据被篡改或者被盗。在这些情况下,中央服务器就成为访问整个网络的开放通道。

1.4.2. 服务器安全威胁

服务器安全与网络安全同样重要,因为服务器通常拥有机构的大量重要数据。如果服务器被破坏,则其所有内容都可被破解者偷走或者任意篡改。下面的小节详细论述了一些主要问题。

未使用的服务及开放端口

一般系统管理员安装操作系统时不会注意实际安装了哪些程序。这可能会造成一些问题,因为可能安装了并不需要的服务,而这些服务可能被安装和配置了默认设置,并且有可能被开启。这样可能会造成在服务器或者工作站中运行不必要的服务,比如 Telnet、DHCP 或者 DNS,而管理员并没有意识到这一点,从而造成不必要的流量经过该服务器,甚至成为破解者进入该系统的潜在通道。有关关闭端口以及禁用未使用服务的详情请参考 〈第 4.3 节 “安全服务”〉。

未打补丁的服务

默认安装包括的大多数服务器应用程序都是经过严格测试的安全软件。经过在产品环境中的长期应用后,将彻底改进其代码,并会发现和修复很多 bug。
但是世界上不存在十全十美的软件,而且总是有可以改进的空间。另外,较新的软件通常不会进行您希望的严格测试,因为它最近才用于产品环境,或者因为它可能不如其它服务器软件那么受欢迎。
开发者和系统管理员经常会在服务器应用程序中找到可开发的 bug,并将该信息在 bug 跟踪和与安全相关的网页中发布,比如 Bugtraq 邮件列表(http://www.securityfocus.com)或者计算机紧急反应团队(CERT)网站(http://www.cert.org)。虽然这些机制是警告社区安全隐患的有效方法,但关键还是要系统管理员可正确为其系统打补丁。这是事实,因为破解者也可访问同样的弱点跟踪服务,并在可能的情况下使用那些信息破解未打补丁的系统。良好的系统管理需要警惕、持续的 bug 跟踪,同时严格的系统维护可保证您有一个更安全的计算环境。
有关保持系统更新的详情请参考〈 第 3 章 及时更新系统〉。

疏忽的管理

管理员不能为其系统打补丁是服务器安全的最大威胁之一。根据“系统管理、审核、网络、安全研究院”(即 SANS)资料,造成计算机安全漏洞的主要原因是“让未经培训的人员维护系统安全,不为其提供培训,也没有足够的时间让其完成这项工作。”[1]这指的是那些缺乏经验的管理员以及过度自信或者缺乏动力的管理员。
有些管理员无法为其服务器和工作站打补丁,而有些则不会检查来自系统内核或者网络流量的日志信息。另一个常见的错误是不修改默认的密码或者服务密钥。例如:有些数据包使用默认的管理员密码,因为数据库开发者假设系统管理员会在安装后立刻更改这些密码。如果数据库管理员没有更改这个密码,那么即使是缺乏经验的破解者也可使用广为人知的默认密码获得该数据库的管理特权。这里只是几个疏忽管理造成服务器被破坏的示例。

自身有安全问题的服务

即使最谨慎的机构,如果选择自身就有安全问题的网络服务,也可能成为某些安全漏洞的受害者。例如:很多服务的开发是假设在可信网络中使用,一旦这些服务可通过互联网使用,即其本身变得不可信,则这些假设条件就不存在了。
一种不安全的网络服务那些使用不加密用户名和密码认证的服务。Telnet 和 FTP 就是这样的服务。如果数据包嗅探软件正在监控远程用户间的数据流量,那么这样的服务用户名和密码就很容易被拦截。
此类服务还更容易成为安全业内名词 “中间人” 攻击的牺牲品。在这类攻击中,破解者会通过愚弄网络中已经被破解的名称服务器,将网络流量重新指向其自己的机器而不是预期的服务器。一旦有人打开到该服务器的远程会话,攻击者的机器就成为隐形中转人,悄无声息地在远程服务和毫无疑心的用户间捕获信息。使用这个方法,破解者可在服务器或者用户根本没有意识到的情况下收集管理密码和原始数据。
另一个不安全的类型是网络文件系统和信息服务,比如 NFS 或者 NIS,它们是专门为 LAN 使用而开发的,但遗憾的是 WAN 网络(用于远程用户)现在也使用。NFS 默认情况下没有配置任何验证或者安全机制以防止破解者挂载到 NFS 共享并访问其中包括的内容。NIS 同样也有重要信息,网络中的每台计算机都必须了解这些信息,其中包括密码和文件权限,而且它们是纯文本 ASCII 或者 DBM(ASCII 衍生的)数据库。获得这个数据库访问的破解者可访问网络中的每个帐户,包括管理员帐户在内。
默认情况下 Red Hat Enterprise Linux 7 的发布是关闭此类服务的。但是由于管理员通常会发现他们必须使用这些服务,所以谨慎的配置很关键。有关使用安全方式设定服务的详情请参考 <第 4.3 节 “安全服务”>。

1.4.3. 工作站和家庭 PC 安全威胁

工作站和家庭 PC 可能比网络或者服务器受到攻击的可能性小,但因为它们通常都有敏感数据,比如信用卡信息,因此它们也是破解者的目标。工作站还可在用户不知情的情况下在合作攻击中被指派作为破解者的“奴隶”机器。因此,了解工作站的安全漏洞可让用户免于经常重新安装操作系统,或者防止数据被盗。

不安全的密码

不安全的密码是攻击者获取系统访问的最简单的方法之一。有关如何在生成密码时避免常见缺陷,详情请参考< 第 4.1.1 节 “密码安全”>。

有漏洞的客户端应用程序

虽然管理员可保障服务器安全并进行修补,但这并不意味着远程用户在访问该服务器时是安全的。例如:如果该服务器通过公共网络提供 Telnet 或者 FTP 服务,那么攻击者就可以捕获通过该网络的用户名和密码,然后使用该帐户信息访问远程用户的工作站。
即使使用安全协议,比如 SSH,如果远程用户没有即时更新其客户端应用程序,那么对于某些攻击来说,他们也是不堪一击的。例如:v.1 SSH 客户端无法抵御恶意 SSH 服务器的 X 转发攻击。一旦它连接到该服务器,那么攻击者就可悄无声息地捕获所有该客户端通过该网络执行的击键和鼠标动作。这个问题在 v.2 SSH 协议中得到了解决,但这也取决于该用户是否留意什么样的应用程序有此类漏洞并根据需要更新它们。
第 4.1 节 “计算机安全”>中详细论述了管理员和家庭用户应采取什么步骤限制计算机工作站的安全漏洞。