【问题标题】:How to ensure a tamperproof/tamperevident boot disk on google compute engine?如何确保谷歌计算引擎上的防篡改/防篡改启动盘?
【发布时间】:2019-12-09 20:14:09
【问题描述】:

在 gce 上,您可以添加第二个磁盘并将其标记为只读。看起来这对于引导磁盘是不可能的。我不确定这是否与某些云初始化有关。至少当您从浏览器中 ssh 时,密钥会被复制到 VM。但在某种程度上,这可以通过overlayfs解决。无论如何,密钥会在几分钟后自动删除。是否还有其他文件需要从谷歌方面一直可写?所以不只是在第一次设置之后? 我需要创建一台大部分时间不可变的机器,当我想让它读写时,我只需勾选一些选项。

有受防护的虚拟机,但它们只检查启动顺序,之后什么也不检查。还有一些其他的 linux 选项,如 IMA,需要 TPM,可用于确保机器启动到已知状态。您可以将 TPM 添加到标准,即非屏蔽 gce 实例吗?

【问题讨论】:

  • 一旦 VM 开始启动过程,安全就是您的责任。为了实现您的目标,您需要安装第三方软件并设置外部资源来监控您的实例。您还需要创建例外列表,因为操作系统会在运行时对系统进行更改。带有应用程序的操作系统不是静态的。以下是第三方工具的一个示例:linux-audit.com/… 这个领域非常广泛,有很多细节需要考虑,而且这个领域有很多供应商。

标签: cloud google-compute-engine


【解决方案1】:

为了回答您的第一个问题,Google 确实每 24 小时左右会更新比 SSH 密钥(例如 /etc/resolv.conf)更多的文件。

关于 GCP 上的 TPM 主题,一些图像(例如 Debian 9)支持 TPM,您可以在其上配置您自己的模块(安装在您机器内的任何东西都超出了对 GCP 的支持范围)。

来自 GCP(由 Debian 维护)的 Debian 10 映像存在一个已知的回归,其中不再支持 TPM,但已启动 thread 以再次启用它

【讨论】:

  • 第一次设置后是否真的需要更改 resolv.conf 等配置?最后,您可以使用自己的 ssh 密钥并将名称服务器更改为其他名称。对于 TPM:支持意味着什么?来自 debian 或 google 的支持?当然,您需要一些软件来与 TPM 交互,这将是 Debian 的问题。但一开始你毕竟需要一个 TPM。是否有一些选项可以将 vTPM 附加到 gce 实例?受防护的 VM 会自动执行此操作,但我不知道这对于标准 VM 是否可行。
  • Compute Engine 实例配置为每 24 小时更新一次 DHCP 租约。对于为区域 DNS 启用的实例,DHCP 租约每小时到期一次。 DHCP 续订会覆盖此文件,撤消您可能所做的任何更改 cloud.google.com/compute/docs/internal-dns 。为了澄清支持主题,这意味着操作系统允许您使用 TPM,但如果您需要任何有关配置的帮助,GCP 可能只会尽最大努力提供帮助,因为在您的实例内运行的任何内容都超出了他们的范围。
猜你喜欢
  • 2011-06-13
  • 2015-01-28
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 2017-04-13
  • 2016-05-19
  • 1970-01-01
相关资源
最近更新 更多