Docker 安全功能及其含义:Seccomp 配置文件

admin 2024年9月23日12:48:23评论48 views字数 934阅读3分6秒阅读模式

Docker 1.10 版本具有许多新功能,其中包括一些安全改进,值得任何使用 Docker 开发和运行应用程序的人注意。我想在一系列简短的博客中重点介绍其中的三个功能:Seccomp 配置文件、Authorization Plug-in 和 User Namespace Support。

Seccomp 是最初为 Google Chrome 创建的现有开源项目。它使您能够控制禁用哪些系统调用,这也适用于通过 Docker 应用的容器。此外,Docker 还实施了一个默认设置,该设置现在是 Docker 守护程序的一部分,但可以更改此设置。

默认情况下,新的 Docker Seccomp 配置文件禁用 64 位 Linux 系统中可用的 313 个系统调用中的 44 个。例如,对 reboot 的系统调用被禁用,因为很难想象容器需要重新启动主机。
另一个很好的例子是 keyctl – 最近发现漏洞的系统调用 (CVE 2016-0728)。Keyctl 现在也默认处于禁用状态。

这是什么意思?首先,默认设置是一个很好的举措,因为它在一定程度上减少了攻击面。问题是,它仍然有近 270 个呼叫处于开放状态——这仍然是一个足够大的攻击面,容易受到攻击。例如,CVE 2014-2153 是在 futex 系统调用中发现的一个漏洞,该漏洞允许通过内核漏洞进行权限提升,并且该系统调用仍处于启用状态。这是不可避免的,因为此系统调用具有合法用途,可用于实现基本资源锁定以满足同步需求。

Docker 无法使这个默认设置更加严格,因为容器的类型太多了,它们之间几乎使用了所有剩余的系统调用。

这里的另一个重要新颖性是能够为容器单独设置 Seccomp 配置文件。这提供了必要的灵活性,可以根据特定容器的实际需求进一步强化特定容器。但是,它需要对容器行为及其使用的系统调用有深入的了解,而且大多数开发人员和 Docker 用户很可能根本没有必要的资金来明智地执行此类更改。从程序员的角度来看,最好让事情保持开放状态,而不是因为错误地禁止访问而冒着应用程序行为中出现 bug 的风险。

Rome 当然不是一天建成的,也不是所有的皱纹都被消除,但 Seccomp 的添加无疑是构建更安全的容器环境的重要一步。

原文始发于微信公众号(菜鸟小新):Docker 安全功能及其含义:Seccomp 配置文件

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月23日12:48:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker 安全功能及其含义:Seccomp 配置文件https://cn-sec.com/archives/3196699.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息