分类
让 Linux 更安全——安全含义的思考‖
| 安全是当今 IT 相关头 和蠕虫是每个使用计算机的 算机或者连接到 Internet 误用甚至对第三方的责任而 | 条新闻的一个重要话题。经常出 人都耳熟能详的名词。因为几乎 ,因此确保这些计算机的安全, 言是至关重要的。 | 现的系统漏洞和安全补丁以及病毒 每台计算机系统都连接到另外的计 对于减少入侵、数据窃取或丢失、 |
| 确保安全即使对于没有 装应用程序,比如经过验证 对于可以执行强大的宏语言 陷可能会被利用来执行任意 检查。可以通过将数据放置 人员的攻击)。 | 连接到网络的独立的计算机也是 的并检查过病毒的光盘。对应用 或者引入非法数据的软件程序包 的代码。因此,应用程序数据在 在一个安全的地方来控制对系统 | 很重要的。必须自可信赖的来源安 程序数据也必须同样小心。例如, (office 套件等等),其软件缺 拷贝到计算机之前必须经过完整性 的访问(当然,不考虑来自已授权 |
| 当系统连接到网络并向 。在那种情况下,数据可能 系统漏洞可能会让入侵者控 | 其他计算机提供服务(有意地或 不只是来自系统管理员,因为客 制计算机。 | 无意地)时,事情会变得更为棘手 户机程序要使用所提供的服务,而 |
| 这就是为什么安全是从开始计划直到 ,安全的确切含义是什么? | 拆除系统的整个系统生命周期中最基本的问题。但是 |
| 通常,数据安全和系统安全可以分开 有努力: | 来考虑。 数据安全 通常被认为是确保以下方面的所 |
| 机密性(Confidentiality)。 |
| 完整性(Integrity)。 |
| 可用性(Availability)。 |
| 综合起来,这些被称作 的保护可以归类为数据安全 Information Systems Secu 如下: | 是存储在计算机上的数据的“CI 。系统安全 指的是计算机平台 rity Glossary(参阅 参考资料 | A”。对 /etc/passwd 等配置数据 本身。美国 National 以获得链接)对系统安全的定义 |
| 系统安全。对信息系统的保护,防止 的还是正在传输的)的修改,并防止对授 那些检测、记录和反击此类威胁的措施。 | 未授权的访问及对信息(不论是存储中的、正在处理 权用户服务的拒绝或对未授权用户服务的允许,包括 |
| 重要的是要认识到系统 审计、控制,同时最起码要 可能提供百分之百安全的服 要的努力这三者之间找到一 重要性以及这些数据预期的 Wiley & Sons,2000;参阅 | 安全强调的是一个反复的过程, 有一个安全的系统配置。就此而 务。目标更应该是在安全性、系 个折衷点。这个折衷取决于安全 使用情形(阅读 Bruce Schneie 参考资料 以获得链接)。 | 这个过程包括应用安全补丁、经常 言,不可能保证绝对的安全,也不 统可用性和维护这个安全层级所需 对于存储在计算机中的数据来说的 r 的 Secrets and Lies,John |
| 完整性 |
| 具备 完整性 的数据是 换时应该考虑其完整性。目 理传输和存储媒介必须是可 据必须不能被未经授权的实 威 —— 将数据委托给系统 | 指合法的而且没有经过偶然的或 标接收到的数据必须是源数据的 靠的,以使得数据可以正确地传 体不加检测地访问而修改。完整 后开始的。因此用户错误不在完 | 恶意的修改。当进行数据存储或交 原样拷贝。这就是说,一方面,物 输而不发生位错误。另一方面,数 性的范围是从用户 —— 最终的权 整性范围之内。 |
| 对网络连接而言,要尤 在传输过程中,可以访问传 境和互联的计算机的完整性 因而这也超出了本文的范围 施包括,限制对计算机的访 和静电释放(阅读“Buildi Perspective”,参阅 参考 | 其注意确保完整性,不管网络是 输媒介的第三方可能会重新路由 的方面并不特定于 Linux,而是 。无论如何,除了其他方法之外 问、保持对传输媒介(比如电缆 ng the Ideal Web Hosting Fac 资料 以获得链接)。 | 否安全(例如,通过加密传输)。 或者修改数据。涉及网络的物理环 对所有计算机安装来说都是如此; ,在物理层上采取的保护数据的措 和连接器)的保护,以及避免停电 ility: A Physical Security |
| 本系列文章将集中关注加密和签名等 确保完整性。本文还将关注审计机制,以 | 在操作系统和应用程序环境中采取的措施,以积极地 识别完整性的缺失并确定应对此负责的当事人。 |
| 机密性 |
| 当受保护的数据只能被授权的人或系 完整性截然不同的概念:当数据在网络上 了其完整性,但是如果被第三方中途截取 数据传输并从中获取有价值的信息时,只 的问题: | 统读取或者修改时,要保持其 机密性。这是一个与 传输时,它可能是被毫无修改地正确传输,因此确保 的话就再也不是机密的了。当未被授权的人可以访问 有完整性是不够的。数据的机密性引出了三个更深入 |
| 谁希望访问数据?(认证) |
| 哪些数据可以被访问?(授权) |
| 如何保护数据不受未授权的访问? |
| Linux 有若干方法可以 Authentication Modules( 目录(NIS、Kerberos、LDA 不等。文件访问的授权可以 别的读、写和执行权限。较 Access Control Lists)— | 确保试图访问数据的实体是其所 PAM),您可允迪忠恍┤现げ?br>P 等等)中简单的用户名/口令 使用传统的(粗糙的)UNIX 文 新的细粒度的(fine-grained) — 让您可以为具体的用户授予 | 宣称的那一个。通过 Pluggable 略,从存储在本地机器上一个集中 组合,到硬件标识或生物特征扫描 件权限来解决:用户、组或全体级 方法 —— 访问控制列表( 或拒绝具体的权限。 |
| 标准 Linux 安全概念 使用。不过,内核缺陷(特 问先前不能访问的内存区域 keyloggers)、取走硬盘驱 问可以让用户绕过软件检查 统、单个文件、网络传输的 虑,比如安全区域、数据的 | 是在软件中实现的,依赖于内核 权提升/自动调整、未经检查的 、磁盘空间、网络或者其他资源 动器并在其他机器中读取、嗅探 。这样,必须采取更进一步的努 加密,和/或应用程序级别的加 安全删除,以及机密信息的会计 | 不接受没有被授权的用户对资源的 参数,等等)可能会使用户可以访 。通过安装击键记录器( 网络传输等等,对硬件物理上的访 力来保护机密的数据,比如文件系 密。此外,物理上的措施也需要考 程序,不过本文并不涉及这些。 |
| 可用性 |
| 即使完整性和机密性都得到了保证, 用的。 可用性 措施确保数据永远不会丢 问。可用性可能会受到不同方式的威胁: | 如果数据不能被访问,那么它是没有用处的,即不可 失,而且当被请求时,可以以预定义的性能级别被访 |
| 破坏性攻击 —— 称为 标是可用性。它们通过消耗 使得一台计算机或一个服务 | 拒绝服务(Denial-of-Service 所有可用的网络、CPU、存储或 不可用或不能用。 | ,DoS)攻击 —— 这类攻击的目 操作系统资源(比如文件句柄), |
| 目标是数据本身的攻击,试图删除或覆盖数据。 |
| 数据的意外破坏。在大 用户被认为是最终的权威。 准备。 | 部分情况下,不可能避免对数据 您只能通过在适当的位置使用一 | 的意外破坏,因为拥有适当权限的 个备份/转储基础设施来预先做好 |
| 最后,但不是最不重要的,缺陷、配 重新引导等等,也都可能影响可用性。这 后将更深入讨论。如上所述,硬件相关的 兴趣,请参阅 参考资料 部分以获得更多 | 置错误、物理环境、硬件失败、停电、不必要的系统 个列表中的软件相关话题更应该归入 系统安全,稍 话题在本文中不做讨论,但是,如果您对这些话题感 读物的链接。 |
| 解决上面列表中的前两 firewalling)/过滤(filt 加的额外的资源(例如,使 获得链接)。 | 个问题的特定 Linux 措施包括 ering ),对文件系统完整性的 用 Tivoli® Intelligent O | ,网络数据包的防御( 保护,以及计划可根据需要进行添 rchestrator;参阅 参考资料 以 |
| Linux 系统安全 |
| Linux 是一个现代的、开放源代码的 限修改它的源代码,易于为您自己的环境 供补丁,以及检查源代码中的安全漏洞。 | 操作系统,可以自由地发行和拷贝。每个用户都有权 定制 Linux、向操作系统添加新部件、发现缺陷和提 |
| 尽管数据安全和系统安 这就是为什么 Linux 具有 部件的原因。其中有 IP 防 支持,等等。另外,系统安 安全服务、加固和/或控制 防止不同攻击的屏障。 | 全是分开来考虑的,但是系统安 很多解决机密性、完整性、可用 御、认证机制、系统日志和审计 全可以由(开放源代码)软件应 Linux 系统、防止并检测入侵、 | 全会对数据安全产生主要的影响。 性以及系统安全本身的问题的集成 、加密协议和 API、内核级 VPN 用程序来支持,这些应用程序提供 检查系统和数据的完整性,并提供 |
| 安全的一个值得关注的 放源代码开发过瘫旧怼S?br>控制和审视源代码中可能的 早被利用;另一方面,很快 | 主要因素是,Linux 与不开放源 于软件的每个用户和开发都可以 安全漏洞。软件缺陷很快会被发 就会有可用的安全补丁。 | 代码的操作系统之间的区别在于开 访问其源代码,因而有很多人都在 现。一方面,这会导致这些缺陷更 |
| 结束语 |
| 考虑其可靠性、稳定性、可扩展性、 它的安全部件, Linux 已经证明适合专 可以为满足具体的需要而定制和扩展系统 需要理解加固 Linux 并保护它不受可能 全的 Linux 系统的第一个步骤:计划和 | 可管理性、性能,以及最后但不是最不重要的一点, 业的企业应用程序。由于它的开放源代码哲学让用户 ,Linux 变得越来越流行。因此,Linux 系统管理员 攻击的安全机制。本系列的下一篇文章将致刍竦冒?br>执行安装。 |