安全策略须知

了解如何使用 SELinux、Kubernetes Pod 安全性和防火墙来保护您的个人计算机、服务器和云系统。
58 位读者喜欢这篇文章。
Lock

JanBaby,通过 Pixabay CC0。

一个**安全策略** 是一组管理系统访问权限的权限集合,无论该系统是一个组织、一台计算机、一个网络、一个应用程序、一个文件,还是任何其他资源。安全策略通常自上而下开始:假设没有人可以做任何事情,然后允许例外情况。

在台式电脑上,默认策略是在登录之前,任何用户都不能与计算机交互。一旦您成功登录,您就会继承一组数字权限(以与您的登录帐户关联的元数据的形式)来执行某些操作。 对于您的手机、互联网上的服务器或网络,或云中的任何节点,情况也是如此。

有为文件系统、防火墙、服务、守护程序和单个文件设计的安全策略。 保护您的数字基础设施是一项永远无法真正完成的工作,这可能会让人感到沮丧和畏惧。 但是,安全策略的存在是为了让您不必考虑谁或什么可以访问您的数据。 熟悉潜在的安全问题非常重要,并且阅读已知的安全问题(例如 NIST 精彩的RSS feed for CVE 条目) 在你的早餐时,可能比一杯好咖啡更让人大开眼界,但同样重要的是熟悉您可以支配的工具来为您提供合理的默认值。 这些因您要保护的内容而异,因此本文重点关注三个领域:您的个人计算机、服务器和云。

SELinux

SELinux 是一个用于您的个人计算机、服务器和云的 Linux 节点的**标记系统**。 在运行 SELinux 的现代 Linux 系统上,每个进程都有一个标签,每个文件和目录也是如此。 事实上,任何系统对象都会获得一个标签。 幸运的是,您不必进行标记。 这些标签由 SELinux 自动为您创建。

策略规则管理标记的 **进程 ** 和标记的 ** 对象 ** 之间授予的访问权限。 内核强制执行这些规则。 换句话说,SELinux 可以确保某个动作是安全的,无论用户是否看起来有权执行该动作。 它通过了解允许哪些进程来做到这一点。 这通过了解您计算机所有组件的预期交互来保护系统免受恶意行为者的侵害,恶意行为者通过安全漏洞或在您起身续咖啡后漫步到您的办公桌上来获得升级的权限。

有关 SELinux 的更多信息,请阅读 Dan Walsh 的 SELinux 图解指南。要了解有关使用 SELinux 的更多信息,请阅读 Alex Callejas 撰写的 系统管理员 SELinux 指南,并下载我们的免费 SELinux 备忘单

Kubernetes Pod 安全性

在 Kubernetes 云世界中,存在 **安全策略 ** 和 ** 安全上下文 **。

Pod安全策略是 Kubernetes Pod 安全资源的实现。 它们是内置资源,描述了 Pod 必须符合的特定条件才能被接受和调度。 例如,Pod 安全策略可以利用对 Pod 可能被允许挂载的卷类型或 Pod 不允许使用的用户或组 ID 的限制。 与安全上下文不同,这些是由集群的控制平面控制的限制,该限制决定了给定的 Pod 是否被允许在 Kubernetes 系统中,甚至在它被创建之前。 如果 Pod 规范不符合 Pod 安全策略的要求,它将被拒绝。

安全上下文 类似于 Pod 安全策略,因为它们描述了 Pod 或容器可以和不能做什么,但在容器运行时的上下文中。 回想一下,Pod 安全策略是在控制平面中强制执行的。 安全上下文在 Pod 的规范中提供,并具体描述了容器运行时(例如,Docker、CRI-O 等)应如何运行 Pod。 在 Pod 安全策略和安全上下文中发现的限制类型有很多重叠。 前者可以被认为是“此策略中的 Pod 可以执行的操作”,而后者是“此 Pod 必须使用这些特定规则运行”。

Pod 安全策略的状态

Pod 安全策略已被弃用,将在 Kubernetes 1.25 中删除。 在 2021 年 4 月,Kubernetes SIG Security 的 Tabitha Sable 撰写了关于 Pod 安全策略的弃用和替换。 有一个开放的拉取请求描述了 Kubernetes 增强,其中包含一个新的准入控制器来强制执行 Pod 安全标准,这被建议作为已弃用的 Pod 安全策略的替代品。 然而,该架构承认,存在一个大型的附加组件和补充服务生态系统,可以混合搭配以提供满足组织需求的覆盖范围。

目前,Kubernetes 已发布 Pod 安全标准,描述了分层策略类型的总体概念,从完全不受限制的 **Privileged ** Pod 到最小限制的 **Baseline **,再到高度 **Restricted ** 策略,并将这些示例策略发布为 Pod 安全策略。 该文档描述了构成这些不同配置文件的限制,并提供了一个极好的起点,让您熟悉可能应用于 Pod 的不同类型的限制,以提高安全性。

安全策略的未来

Kubernetes 中 Pod 安全的未来可能包括一个像增强 PR 中提议的准入控制器,以及用于调整和调整 Pod 在集群中运行方式的附加组件的组合,例如 Open Policy Agent (OPA)。 考虑到 Kubernetes 的工作有多么复杂,Kubernetes 非常灵活,这种变化遵循了使 Kubernetes 如此成功的相同模式:很好地管理容器编排,并允许整个附加组件和工具生态系统增强和扩展核心,使其不是一种一刀切的解决方案。

防火墙

保护您的网络与保护其中的计算机同样重要。 为此,有防火墙。 一些防火墙嵌入在路由器中,但计算机也有防火墙,在大型组织中,它们为整个网络运行防火墙。

典型的防火墙策略是通过拒绝所有流量来构建的,然后为必要的传入和传出通信提供明智的例外。 个人用户可以在 Seth Kenlon 的 Linux 防火墙入门中了解有关 firewall-cmd 的更多信息。 系统管理员可以在 Seth 的 使用 firewall-cmd 保护您的网络中了解有关防火墙的更多信息。 用户和管理员都可以从我们的免费 firewall-cmd 备忘单中受益。

安全策略

无论什么系统,安全策略对于保护人员及其数据都很重要。 建筑物和技术会议需要安全策略来确保人身安全,而计算机需要安全策略来保护数据免受滥用。

花一些时间思考您生活中系统的安全性,熟悉默认策略,并为您识别的不同风险选择舒适程度。 然后建立一个安全策略,并坚持下去。 与备份计划一样,除非容易,否则安全问题不会得到解决,因此养成维护良好安全实践的习惯。

下一步阅读

Linux 防火墙入门

防火墙是您计算机抵御网络入侵的第一道防线。 下载我们的备忘单以确保您的安全。

(团队成员,Red Hat)
2020 年 2 月 28 日
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算行业工作,通常同时从事这两项工作。
Chris Collins
Chris Collins 是 Red Hat 的 SRE 和 OpenSource.com 特约记者,他对自动化、容器编排及其周围的生态系统充满热情,并且喜欢在家中重新创建企业级技术来获得乐趣。

评论已关闭。

知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.