SELinux 常见问题 (FAQ)

大家好! 特别是对于课程学生 《Linux 安全》 我们准备了 SELinux 项目官方常见问题解答的翻译。 在我们看来,这个翻译不仅对学生有用,所以我们把它分享给大家。

SELinux 常见问题 (FAQ)

我们尝试回答有关 SELinux 项目的一些最常见问题。 目前,问题分为两大类。 所有问题和答案均已给出 在常见问题解答页面上.

查看

查看

  1. 什么是安全增强型 Linux?
    安全增强型 Linux (SELinux) 是 Fl​​ask 安全架构的参考实现,用于实现灵活、强制的访问控制。 创建它是为了演示灵活执行机制的有用性以及如何将此类机制添加到操作系统中。 Flask架构随后被集成到Linux中,并移植到其他几个系统,包括Solaris操作系统、FreeBSD操作系统和Darwin内核,从而引发了广泛的相关工作。 Flask 架构为执行多种类型的访问控制执行策略提供了一般支持,包括基于类型执行、基于角色的访问控制和多级安全性概念的策略。
  2. 安全增强型 Linux 提供了哪些标准 Linux 无法提供的功能?
    安全性增强的 Linux 内核强制执行访问控制策略,将用户程序和系统服务器限制为完成其工​​作所需的最低权限。 通过此限制,这些用户程序和系统守护程序在受到损害(例如,由于缓冲区溢出或配置错误)时造成损害的能力会减少或消除。 这种限制机制独立于传统的 Linux 访问控制机制。 它没有“root”超级用户的概念,也没有传统Linux 安全机制的众所周知的缺点(例如,对setuid/setgid 二进制文件的依赖)。
    未经修改的 Linux 系统的安全性取决于内核、所有特权应用程序及其每个配置的正确性。 这些区域中的任何一个出现问题都可能危及整个系统。 相比之下,基于安全增强型Linux内核修改后的系统的安全性主要取决于内核的正确性及其安全策略的配置。 虽然应用程序正确性或配置问题可能会导致单个用户程序和系统守护程序受到有限的损害,但它们不会对其他用户程序和系统守护程序或整个系统的安全构成安全风险。
  3. 她有什么好处?
    Linux 的新安全增强功能旨在根据机密性和完整性要求提供信息隔离。 它们旨在防止进程读取数据和程序、篡改数据和程序、绕过应用程序安全机制、执行不受信任的程序或违反系统安全策略干扰其他进程。 它们还有助于限制恶意软件或有缺陷的程序可能造成的潜在损害。 它们还应该有助于确保具有不同安全权限的用户可以使用同一系统访问具有不同安全要求的不同类型的信息,而不会影响这些要求。
  4. 我怎样才能得到一份副本?
    许多 Linux 发行版都包含对 SELinux 的支持,该支持已作为默认功能或可选包内置。 核心 SELinux 用户层代码可在 GitHub上。 最终用户通常应该使用其发行版提供的软件包。
  5. 您的版本中包含哪些内容?
    NSA 版本的 SELinux 包含核心 SELinux 用户层代码。 对 SELinux 的支持已包含在主流 Linux 2.6 内核中,可从 kernel.org 获取。 核心 SELinux 用户层代码由一个用于二进制策略操作的库 (libsepol)、一个策略编译器 (checkpolicy)、一个用于安全应用程序的库 (libselinux)、一个用于策略管理工具的库 (libsemanage) 和几个与策略相关的实用程序 (策略核心实用程序)。
    除了支持 SELinux 的内核和基本用户空间代码之外,您还需要一个策略和一些 SELinux 修补过的用户空间包才能使用 SELinux。 该政策可以从 SELinux 参考政策项目.
  6. 我可以在现有的 Linux 系统上安装强化 Linux 吗?
    是的,您只能在现有的 Linux 系统上安装 SELinux 修改版,也可以安装已包含 SELinux 支持的 Linux 发行版。 SELinux 由支持 SELinux 的 Linux 内核、一组核心库和实用程序、一些修改的用户包以及策略配置组成。 要将其安装在缺乏 SELinux 支持的现有 Linux 系统上,您必须能够编译该软件,并且还拥有其他所需的系统软件包。 如果您的 Linux 发行版已包含对 SELinux 的支持,则无需构建或安装 NSA 版本的 SELinux。
  7. 安全增强型 Linux 与未经修改的 Linux 的兼容性如何?
    安全增强型 Linux 提供与现有 Linux 应用程序和现有 Linux 内核模块的二进制兼容性,但某些内核模块可能需要修改才能与 SELinux 正确交互。 下面详细讨论这两个兼容性类别:

    • 应用兼容性
      SELinux 提供与现有应用程序的二进制兼容性。 我们扩展了内核数据结构以包含新的安全属性,并为安全应用程序添加了新的 API 调用。 但是,我们没有更改任何应用程序可见的数据结构,也没有更改任何现有系统调用的接口,因此只要安全策略允许,现有应用程序仍然可以运行。
    • 内核模块兼容性
      最初,SELinux 仅提供对现有内核模块的初步兼容性; 有必要使用修改后的内核头重新编译此类模块,以获取添加到内核数据结构中的新安全字段。 由于LSM和SELinux现已集成到主流Linux 2.6内核中,SELinux现在提供了与现有内核模块的二进制兼容性。 然而,某些内核模块在不进行修改的情况下可能无法与 SELinux 很好地交互。 例如,如果内核模块直接分配和设置内核对象而不使用正常的初始化函数,则该内核对象可能不具有正确的安全信息。 某些内核模块也可能对其操作缺乏适当的安全控制; 任何现有的对内核函数或权限函数的调用也将触发 SELinux 权限检查,但可能需要更细粒度或额外的控制来执行 MAC 策略。
      如果安全策略配置允许所有必要的操作,那么安全增强型 Linux 不应与常规 Linux 系统产生互操作性问题。
  8. 安全策略配置示例的目的是什么?
    在较高层面上,目标是展示强制访问控制的灵活性和安全性,并提供一个简单的工作系统,对应用程序进行最少的更改。 在较低级别,策略具有一组目标,如策略文档中所述。 这些目标包括控制原始数据访问,保护内核、系统软件、系统配置信息和系统日志的完整性,限制利用需要特权的进程中的漏洞可能造成的潜在损害,保护特权进程免遭恶意执行代码,保护管理员角色和域在未经用户身份验证的情况下登录,防止正常用户进程干扰系统或管理进程,并保护用户和管理员免遭恶意移动代码利用浏览器中的漏洞。
  9. 为什么选择 Linux 作为基础平台?
    由于 Linux 的日益成功和开放的开发环境,Linux 被选为这项工作的初始参考实现平台。 Linux 提供了一个绝佳的机会来证明此功能可以在主机操作系统上成功,同时有助于确保广泛使用的系统的安全性。 Linux 平台还为这项工作提供了一个绝佳的机会,以获得尽可能广泛的视野,并可能作为其他爱好者进行额外安全研究的基础。
  10. 你为什么做这项工作?
    国家信息安全研究实验室 国家安全局负责研究和先进技术开发,使国家安全局能够为对美国国家安全利益至关重要的信息基础设施提供信息安全解决方案、产品和服务。
    创建可行的安全操作系统仍然是一项重大的研究挑战。 我们的目标是创建一个高效的架构,为安全提供必要的支持,以对用户基本透明的方式运行程序,并对供应商有吸引力。 我们认为,实现这一目标的重要一步是演示如何将强制访问控制机制成功集成到主操作系统中。
  11. 这与 NSA 之前的 OS 研究有何关系?
    NSA 国家保证研究实验室的研究人员与安全计算公司 (SCC) 合作,开发了一种基于类型强制的强大且灵活的强制架构,类型强制是 LOCK 系统首创的机制。 NSA 和 SCC 开发了两种基于 Mach 的原型架构:DTMach 和 DTOS(http://www.cs.utah.edu/flux/dtos/)。 随后,NSA 和 SCC 与犹他大学 Flux 研究小组合作,将该架构移植到 Fluke Research 操作系统中。 在此迁移过程中,架构得到了完善,为动态安全策略提供了更好的支持。 这种改进的架构被命名为 Flask (http://www.cs.utah.edu/flux/flask/)。 现在 NSA 已将 Flask 架构集成到 Linux 操作系统中,将该技术带给更广泛的开发者和用户社区。
  12. 安全性增强的Linux是可靠的操作系统吗?
    “受信任的操作系统”一词通常是指为分层安全性和验证提供足够支持以满足一组特定政府要求的操作系统。 安全增强型 Linux 融合了这些系统的有用见解,但重点关注强制访问控制。 开发安全增强型 Linux 的最初目标是创建有用的功能,在广泛的现实环境中提供切实的安全优势,以展示这项技术。 SELinux 本身并不是一个可信操作系统,但它确实提供了可信操作系统所必需的关键安全功能——强制访问控制。 SELinux 已集成到根据标签安全保护配置文件进行评级的 Linux 发行版中。 有关经过测试和测试的产品的信息可以在以下位置找到: http://niap-ccevs.org/.
  13. 她真的受到保护了吗?
    安全系统的概念包括许多属性(例如,物理安全、人员安全等),而具有增强安全性的 Linux 仅涉及这些属性中的一小部分(即操作系统的强制控制)。 换句话说,“安全系统”意味着足够安全,足以保护现实世界中的某些信息免受真实对手的侵害,信息的所有者和/或用户会受到警告。 安全增强型 Linux 只是为了展示像 Linux 这样的现代操作系统中所需的控制,因此它本身不太可能符合任何有趣的安全系统定义。 我们相信,安全增强型 Linux 中展示的技术将对构建安全系统的人们有用。
  14. 您采取了哪些措施来改善保障?
    该项目的目标是通过对 Linux 进行最小的更改来添加强制访问控制。 最后一个目标严重限制了改进保修的工作,因此还没有任何改进 Linux 保修的工作。 另一方面,这些改进建立在先前设计高安全性安全架构的工作基础上,并且大部分设计原则已被延续到安全增强型 Linux 中。
  15. CCEVS 会评估具有增强安全性的 Linux 吗?
    就其本身而言,具有增强安全性的 Linux 并不是为了解决安全配置文件所代表的全套安全问题而设计的。 虽然可以仅评估其当前的功能,但我们认为这种评估的价值有限。 然而,我们已经与其他人合作,将该技术纳入已评估和正在评估的 Linux 发行版中。 有关经过测试和测试的产品的信息可以在以下位置找到: http://niap-ccevs.org/.
  16. 您是否尝试过修复任何漏洞?
    不,我们在工作过程中没有寻找或发现任何漏洞。 我们只贡献了足够的最低限度来添加我们的新装备。
  17. 该系统是否已获准供政府使用?
    与任何其他版本的 Linux 相比,安全增强型 Linux 没有获得政府使用的特殊或额外批准。与任何其他版本的 Linux 相比,安全增强型 Linux 没有获得政府使用的特殊或额外批准。
  18. 这与其他举措有何不同?
    安全性增强的 Linux 具有定义明确的架构,可实现灵活的强制访问控制,并已通过多个原型系统(DTMach、DTOS、Flask)进行了实验测试。 对该架构支持广泛安全策略的能力进行了详细研究,可在 http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    该架构提供了对许多不受其他系统控制的内核抽象和服务的细粒度控制。 具有扩展安全性的 Linux 系统的一些显着特征包括:

    • 政策与执行权完全分离
    • 定义明确的策略接口
    • 独立于特定政策和政策语言
    • 独立于安全标签的特定格式和内容
    • 内核对象和服务的单独标签和控件
    • 缓存访问决策以提高效率
    • 支持政策变化
    • 控制进程初始化和继承以及程序执行
    • 管理文件系统、目录、文件和打开文件的描述
    • 管理套接字、消息和网络接口
    • 控制“机会”的使用
  19. 该系统有哪些许可限制?
    网站上找到的所有源代码 https://www.nsa.gov,按照与原始源代码相同的条款分发。 例如,针对 Linux 内核的修复以及针对此处提供的许多现有实用程序的修复均根据条款发布 GNU通用公共许可证(GPL).
  20. 有出口管制吗?
    与任何其他版本的 Linux 相比,Linux 没有额外的导出控制,并且安全性更高。
  21. NSA 是否计划在国内使用?
    出于显而易见的原因,美国国家安全局不对操作用途发表评论。
  22. 安全计算公司 26 年 2002 月 XNUMX 日的保证声明是否改变了 NSA 的立场,即 SELinux 是根据 GNU 通用公共许可证提供的?
    美国国家安全局的立场没有改变。 NSA 仍然认为 GNU 通用公共许可证的条款和条件管辖 SELinux 的使用、复制、分发和修改。 厘米。 美国国家安全局新闻稿 2 年 2001 月 XNUMX 日.
  23. NSA 支持开源软件吗?
    美国国家安全局的软件安全计划涵盖专有和开源软件,我们在研究活动中成功地使用了专有和开源模型。 NSA 提高软件安全性的工作源于一个简单的考虑:充分利用我们的资源,为 NSA 客户在其最广泛使用的产品中提供最佳的安全选项。 美国国家安全局研究计划的目标是开发可通过各种转让机制与软件开发社区共享的技术进步。 美国国家安全局不认可或推广任何特定的软件产品或商业模式。 相反,国家安全局促进安全。
  24. NSA 支持 Linux 吗?
    如上所述,美国国家安全局不认可或推广任何特定的软件产品或平台; 美国国家安全局只会有助于提高安全性。 SELinux 参考实现中演示的 Flask 架构已被移植到其他几个操作系统,包括 Solaris、FreeBSD 和 Darwin,移植到 Xen 虚拟机管理程序,并应用于 X Window System、GConf、D-BUS 和 PostgreSQL 等应用程序。 Flask 架构概念广泛适用于各种系统和环境。

合作

  1. 我们计划如何与 Linux 社区互动?
    我们有 NSA.gov 上的一组网页,这将作为我们发布安全增强Linux信息的主要方式。 如果您对安全性更高的 Linux 感兴趣,我们鼓励您加入开发人员邮件列表、查看源代码并提供您的反馈(或代码)。 要加入开发者邮件列表,请参阅 SELinux 开发者邮件列表页面.
  2. 谁可以帮忙?
    SELinux 现在由开源 Linux 软件社区维护和改进。
  3. NSA 是否资助任何后续工作?
    美国国家安全局目前没有考虑进一步工作的建议。
  4. 可以提供什么类型的支持?
    我们打算通过邮件列表解决问题 [电子邮件保护],但我们无法回答与特定网站相关的所有问题。
  5. 谁帮忙了? 他们做了什么?
    安全增强型 Linux 原型由 NSA 与 NAI Labs、SecureComputing Corporation (SCC) 和 MITRE Corporation 的研究合作伙伴共同开发。 首次公开发布后,出现了更多材料。 查看参加者名单.
  6. 我怎样才能了解更多信息?
    我们鼓励您访问我们的网页,阅读文档和过去的研究论文,并加入我们的邮件列表。 [电子邮件保护]

您觉得翻译有用吗? 写评论!

来源: habr.com

添加评论