当前位置: > Linux安全 >

使用LKM更改缺省的linux安全等级

时间:2014-05-22 17:42来源:linux.it.net.cn 作者:IT网
计划安装让Linux linux系统安全

    惟有谨小慎微者方可幸存,与其他领域一样,在确保 Linux? 系统的安全时,这句话也同样适用。幸运的是,有很多安全特性,或者已经编译到内核中,或者已经加入到很多 Linux 发行版本中,或者可以以开放源代码应用程序的形式单独获得。第 2 部分涵盖了清单评估、风险分析、确定用户类别和访问特权,以及安全获得 Linux 发行版本的更详细行动计划和步骤。

    在此系列文章中,您将看到如何以一种安全的方法来计划、设计、安装、配置和维护运行 Linux 的系统。 除了安全概念的理论概述、安装问题、潜在的威胁及其作用以外,您还将得到关于如何保护和加固基于 Linux 的系统的实用建议。我们将讨论最小化安装、加固 Linux 安装、授权/认证、本地和网络安全、攻击和如何防御攻击, 以及数据安全、病毒和恶意程序。

    本系列的 第 1 部分 通过给出关于安全概念和潜在威胁的一般理解让您开始上手。本文引导您进行到下一个阶段,列出当计划 一个安全安装时需要谨记的事情。

    安全计划
    第一步 —— 在插入发行版本 CD 并启动安装程序之前 —— 是制定一个安全计划:确定系统将要提供什么服务, 要使用什么硬件,需要什么软件,如何组织安装。通过在实际安装前认真地制定这样一个计划,在非常早 的阶段就可以确定并排除很多可能的安全问题。这样做是有益处的,因为它有助于最小化系统入侵或者断电 的风险。而且,它为发生攻击或者发布软件漏洞和补丁时进行快速反应提供了一个坚实的基础。

    当考虑安全策略时,重要的是要注意计算机系统的安全性与可用性之间总是会有一个折衷。如果因为复杂的设置和 维护以及可用性的缺乏而无法使用,那么最完善的安全特性也没有意义。另外,极度复杂的、极其耗费处理能力的 加密算法实际上会锁住系统,几乎不留下任何计算能力给真正的任务使用,那么它又有什么用呢?
    要制定安全计划,您应该执行下面的步骤,收集所有相关信息:

    完成清单评估
    获得安全计划的第一个步骤是,评估清单以了解哪些是必须要保证安全的(参见右面的侧栏)。 这样的清单集中关注计算机的物理硬件、网络连接、接口,并定义其职责。所有从清单评估得 到的信息都应记入文档。记录文档的一个合适的方法可以是一个包含有每台计算机所有相关信息的 电子数据表。

    定义网络服务和软件
    对于每一台计算机,重要的是要定义它使用或者提供哪些网络服务,以及使用或提供服务的软件应用程序。网络 服务(除了其他内容以外,可能包括 DNS、文件传输、打印机和文件共享、Web/Internet、电子邮件和数据库) 应该记录在部署计划之中,这个计划还包括所使用的软件程序包以及此计算机是配置为客户机、服务器还是同时 具备两个角色。稍后,基于软件和服务的列表,您应该安装一个只包含必需软件的绝对最小化的系统,这样可以 使得具有隐藏安全漏洞的可能性最低。

    除了定义软件服务以外,您还需要确定用于通信的协议,这也会带来一些安全问题。网络传输是否需要通过基于 SSL 的 HTTP(https)进行加密,还是普通的 HTTP 就足够了?文件传输协议是否强制用户进行认证(比如使用 sftp),或者 对必需的安全层级来说匿名的、不加密的访问是否合适?

    通常,客户机工作站被配置为使用多个网络服务。不过,服务器应该专门提供一种单一的服务,因为这样会 简化配置并降低发生配置错误的可能性。应该由有限数目用户使用的服务应该通过防火墙保护起来以防止 不必要的访问。防火墙可以有效地实现管理两个或多个网络之间网络传输的安全策略。

完成风险分析
    要在系统的安全性与可用性之间找到适当的折衷,重要的是要针对存储在计算上的数据的类型进行风险分析。 要弄清楚需要采取哪种类型的安全措施来保护资源的机密性、完整性和可用性,第一个步骤就是进行风险分析。

    风险分析基于清单评估 —— 它声明了存储的是什么类型的数据 —— 集中关注系统受到安全威胁的可能性以及 相继而来的后果。换句话说,对于清单评估中定义的每一类数据,您都需要对此数据受到非授权访问的可能性 以及这种事件的影响进行评估。这种评估量化为三个级别:高、中、低。所必需的安全级别是事件的概率及其影响的平均水平。

    确定用户种类和访问特权
    您应该根据其特权和访问权限列出计算机系统的主要用户,或者用户的种类。对于桌面计算机而言,这可能是 相当简单的,因为用户的数目通常较少。不过,基于类似的工作分工或对数据资源和应用程序的类似需要来 定义用户分类是有意义的。

    对服务器来说,确定用户种类通常非常复杂。管理员通常可以访问服务和操作系统工具的配置。 除此以外,还有根据需要使用相应服务的不同用户(本地的和远程的用户)。连接到因特网上的公共 服务器基本上是任何人都可以访问的,而内部服务器的用户可能会根据工作角色、部门或者办公室 位置进行分类。所以,如果需要,您应该区分本地和远程用户以及临时和来宾用户。对于已经确认的用户 种类,定义他们需要访问和操作(例如,读、创建、修改或删除数据)哪些数据资源。

    详细行动计划
    既然安装的总体环境和目标都已经完善地记入文档,您现在可以深入细节了 —— 使用什么软件, 如何安装和配置它,等等。您编写的计划应该详细到能回答出在安装过程中出现的任何问题的程度。

    选择 Linux 发行版本和服务器软件程序包
    这实际上是两个单独的步骤,不过先做什么要取决于您的情况。在很多情况下,由于组织的政策、 企业许可证协议或者可用的技术,要使用的发行版本已经确定。有时,您会先关注可以满足安装 用途的软件程序包的选择;然后,根据程序包的先决条件、哪个发行版本包含立即可用的程序包、或者 发行版本的价格,来选择发行版本。不过,通常两者是结合在一起的,您必须反复缩小选择范围。 不过,您永远不应该仅仅因为您手边有某个安装媒体而选择安装那个发行版本。

    对于每一种使用情形(邮件服务器、文件服务器、Web 服务器、字处理等等)都有多种软件程序包可以 满足其用途。尤其当用户不直接与软件程序包打交道时(比如由专门团队管理的服务器软件),您 选择更为安全的软件程序包时所受的限制就会更少。要对各种 Web 服务器、邮件传输代理、数据库 管理系统等,或者甚至是整个发行版本的安全方面进行评价,最好首先搜索 BugTraq 或 Full Disclosure 等邮件列表。基于软件程序包的历史问题来判断其安全性,这实际上相当于看着后窗玻璃驾驶汽车 —— 您不知道将要遇到的是 什么,但是您可以得知您是在直路上还是在弯路上。另一个应该谨记的问题是,相对于很少用到的, 经常用的软件程序包受到的检查更多。仅仅因为“Tom's HyperWeb Server v0.0.2”在这些邮件列表上没有 任何已知的 bug,并不意味着它就没有 bug。

    能在源代码层次上对任何软件程序包进行审计,经常被列举为开放源代码软件的优势之一。不过, 可用时间、技术和预算等现实的约束使得这种方法在几乎所有情形下都是不切实际的,所以您不得 不依赖于程序员 和/或 程序包维护者和发行者的诚实。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容