从管理的角度来看,SELinux 的主要影响是什么?

Lev*_*ans 7 linux selinux

感谢维基百科和其他人,我们可以对SELinux有一个模糊的概念。

我知道它提供了更精确地处理权限的方法,但我真的不知道如何。

问题是:如果我决定将 Linux 系统更改为 SELinux 系统,这对我这个管理员意味着什么?我想它不会像经典的 Linux 服务器那样管理。

简而言之:从管理的角度来看,SELinux 的主要影响是什么?

all*_*tic 10

实际上,如果您运行 Linux 的现代发行版,例如 Fedora 或 CentOS,那么您很可能已经拥有“一个 SELinux 系统”。

把它想象成这样的类比:想象一个政府制度是“无政府状态”的社会。任何人都可以做任何事情。个别部落可以建立局部控制区域、基本秩序水平,但总的来说,在区域或全球层面,文明处于无政府状态,拥有最纯粹影响力或权力(体力、技术)的人或人等)几乎可以做他们想做的事情而不会产生任何影响。

这就是未安装 SELinux 或已安装但未执行 SELinux 时的系统。

现在想象一个社会,其政府体系涉及“法治”,这是一个概念,意思是,最终不是统治社会,而是一整套写在书中的正式规则统治社会。

这就是安装并执行 SELinux 时系统的样子。

现在,当然,可以启用 SELinux,将其设置为强制执行,并清除法律,或者拥有一本空白书,或者写上“你可以做任何你想做的事情”——这给我们带来了回到无政府状态。有点。但是,如果法律突然改变,以至于它包含了一些实际的限制,比如谋杀是非法的,偷窃是非法的等等,那么社会就会突然开始有某种程度的秩序。而且一般来说,拥有大量权力的人不可能简单地用它来做任何他们想做的事情,因为法律可以限制他们被允许做的事情。

出于类比的目的,我们假设人们不做违法的事情,因为在软件世界中,程序不能仅仅因为它真的想要绕过 SELinux 政策(也就是“违法”)。在正常的人类社会中,我们当然可以违法,然后就会有后果。在 SELinux 社会中,您永远不会违反法律。

可以想象,SELinux 系统中的管理开销在很大程度上取决于:

  • 您启用了多少策略;
  • 这些政策有多严格;
  • 这些政策有多具体;
  • 您是否设置了黑名单或白名单策略(黑名单会阻止您知道不好的事情,而白名单要求您明确添加对要允许的事情的支持,因为默认情况下所有内容都会被阻止)。

SELinux 几乎可以限制 Linux 内核中可控制的系统的任何方面:对硬件设备的访问、对读取或写入文件的访问、对系统 API 的访问、对某些类型的网络或某些范围的网络的访问,等等. SELinux 有效地实现了强制访问控制,您应该继续在Wikipedia上阅读。

我想通过这个答案向您灌输的重要一点是,处理 SELinux 所花费的额外工作量和时间完全取决于您制定策略的限制程度。例如,想象一下生活在这样一个社会中,每次您想登机时都必须获得四个人的批准:最高法院大法官、总统、众议院议员和参议员。这将是一项极其严格的政策,您必须经过大量审批才能登上飞机。在 SELinux 世界中,这类似于默认将所有文件系统访问列入黑名单,并要求将单个用户对单个文件的访问权限明确列入白名单。

还记得我之前说过 Fedora 和 CentOS 已经实现了 SELinux 吗?您甚至可能不会注意到它们会这样做,除非您下载并运行特定程序来尝试执行会触发 SELinux 过滤器的操作。随着时间的推移,红帽已经仔细调整了他们的 SELinux 过滤器,以允许几乎所有非恶意程序活动不受阻碍地通过,但它有一些策略可以帮助阻止攻击,而不会给系统管理员带来太多负担。

简而言之,SELinux 在基于 Red Hat 的发行版上以开箱即用的方式实现,在不显着影响可用性的情况下增强了安全性。当然,您可以从那里使其更加安全,但这也会反过来降低可用性;或者,你可以让它更有用,但它也会反过来降低安全性。