Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.4. Security Threats

1.4.1. 网络安全隐患

在配置网络的以下方面时,错误的做法可能会增加攻击的风险。

不安全的构架

一个错误配置的网络是未授权用户的主要入口点。让一个基于信任的、开放的本地网络暴露在高度不安全的互联网上,就像让一扇门在一个犯罪猖獗的社区里敞开一样--在一段时间内可能不会发生任何事情,但终究会有人利用这个机会。

广播网络

系统管理员往往没有意识到网络硬件在其安全计划中的重要性。简单硬件(如集线器和路由器)依赖于广播或非交换原则;也就是说,每当节点通过网络将数据传输到接收节点时,集线器或路由器会发送数据包的广播,直到接收节点接收和处理数据。这种方法最容易受到外部入侵者和本地主机上未经授权用户的地址解析协议(ARP)或媒体访问控制(MAC)地址欺骗的攻击。

集中式服务器

另一个潜在的网络弱点是集中式的计算环境。许多企业常用的降低成本措施是将所有服务整合到一台功能强大的机器上。这很方便,因为它比多个服务器配置更易于管理,而且成本也低得多。但是,集中式服务器在网络上引入了单点故障。如果中央服务器受损,可能会导致网络完全不可用或更糟,容易发生数据操作或失窃。在这些情况下,中央服务器成为允许访问整个网络的开放门。

1.4.2. 服务器安全隐患

服务器安全性与网络安全性同样重要,因为服务器通常包含组织的大量重要信息。如果服务器被入侵,则其所有内容可能变得可供攻击者窃取或随意操作。以下小节详细介绍了一些主要问题。

未使用的服务和开放端口

Red Hat Enterprise Linux 7 的完整安装包含超过 1000 个应用程序和库软件包。但是,大多数服务器管理员并没有选择安装发行版中的每一个软件包,而更喜欢安装软件包的基本安装,包括几个服务器应用。有关限制安装的软件包数量以及其他资源的原因,请参阅 第 2.3 节 “安装最小软件包挂载”
系统管理员经常出现的情况是,安装操作系统时没有注意到底安装了哪些程序。这可能有问题,因为可能会安装不需要的服务,使用默认设置进行了配置,并且可能开启了服务。这可能导致不需要的服务(如 Telnet、DHCP 或 DNS)在服务器或工作站上运行,而管理员没有意识到,这可能会给服务器造成不必要的流量,甚至造成进入系统的潜在通途,导致攻击者进入系统。有关关闭端口和禁用未使用的服务的详情,请参考 第 4.3 节 “保护服务”

未修补的服务

默认安装中包含的大多数服务器应用程序都是经过全面测试的可靠的软件。多年来一直在生产环境中使用,其代码得到了全面优化,发现并修复了许多 bug 。
然而,没有完美的软件,总有进一步提升的空间。较新的软件通常不会象预期的一样严格测试,因为它最近才开始在生产环境中使用,或者可能不像其它服务器软件一样流行。
开发人员和系统管理员通常会在服务器应用程序中找到可被利用的错误,并在 bug 跟踪和安全相关 Web 站点(如 Bugtraq 邮件列表http://www.securityfocus.com)或 Computer Emergency Response Team (CERT)网站(http://www.cert.org)中发布信息。虽然这些机制是提醒社区了解安全隐患的有效方法,但效果取决于系统管理员是否立即对系统进行了补丁。这一点尤其正确,因为攻击者可以访问这些相同的漏洞跟踪服务,并随时使用这些信息来破解未修补的系统。良好的系统管理需要保持警惕,不断地跟踪程序漏洞,并进行适当的系统维护,以确保更安全的计算环境
有关保持系统最新的更多信息,请参阅 第 3 章 使您的系统保持最新状态

管理

管理员如果没有对系统进行补丁,则会对服务器安全性造成最大的威胁。根据 SysAdmin、审计、网络、安全研究所 (SANS)的主要原因是,计算机安全漏洞的主要原因是"为维护安全性分配未经培训,也没有时间来学习和完成工作"。[1] 这既适用于没有经验的管理者,也适用于过于自信或积极进取的管理者。
有些管理员没有给服务器和工作站打补丁,而有些管理员则没有观察系统内核或网络流量的日志消息。另一个常见错误是服务的默认密码或密钥没有改变。例如,一些数据库有默认的管理密码,因为数据库开发人员假定系统管理员在安装后会立即修改这些密码。如果数据库管理员没有修改这个密码,即使是没有经验的破解者也可以使用一个广为人知的默认密码来获得数据库的管理权限。这些只是几个例子,说明不注意管理会导致服务器被入侵。

固有的 Insecure 服务

如果选择的网络服务本身就不安全,即使是最警惕的组织也会成为漏洞的受害者。例如,有许多服务是在假设它们是在受信任的网络上使用的情况下开发的;然而,一旦服务在互联网上变得可用这一假设就失效了(互联网本身就是不受信任的)。
一个不安全的网络服务是那些需要未加密的用户名和密码进行身份验证的用户。Telnet 和 FTP 是两个这样的服务。如果数据包嗅探软件监控远程用户和此类服务用户名和密码之间的流量,则可以轻松地截获服务用户名和密码。
从本质上讲,这类服务也更容易成为安全行业所说的中间人攻击的猎物。在这种类型的攻击中,攻击者通过欺骗网络上被破解的名称服务器指向他的机器而不是目标服务器来重定向网络流量。当有人打开到服务器的远程会话后,攻击者的机器就充当一个不可见的机构,在远程服务与捕获信息的用户之间保持静默。这样,攻击者可以在没有服务器或者用户的情况下收集管理密码和原始数据。
另一类不安全的服务包括网络文件系统和信息服务,如NFS或NIS,它们是明确为局域网使用而开发的,但不幸的是,它们被扩展到包括广域网(为远程用户)。默认情况下,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 节 “桌面安全性” 详细讨论管理员和家庭用户应采取什么步骤来限制计算机工作站的漏洞。