加密 VPS 主机静态加密保护的是一台已关机的机器。

这个市场里的每一家主机商,都会告诉你数据交给它很安全。真正有用的问题要窄得多:在机器运行、磁盘已挂载的情况下,运营方能读到什么—以及要让答案变成什么都读不到,需要满足哪些条件。

阅读用时 11 分钟·最后核实于 3 九月 2026·此页并非销售页面

三种状态,以及这个行业不会卖给你的那一种

数据通常被描述为处于三种状态之一,而这种区分正是本页的全部要点所在。静态,是一块没有人读取的磁盘。传输中,是线路上的一个数据包。使用中,是某个进程把明文保存在内存里,以便能用它做些什么。

前两种早已解决,每家提供商都在出售它们。线路用的是 TLS,你脚下的盘片也几乎肯定已经加密。关于第三种,说的人却很少,因为第三种,正是提供商所站立的地方:一台运行中的服务器,卷是解锁的,密钥常驻内存,数据处于明文状态。这不是加密的缺陷,这就是运行二字的含义。

主机商口中的“静态加密”,究竟是什么意思

提供商侧的静态加密确实存在,也值得拥有。它意味着硬盘、阵列或快照存储,都在一把由提供商管理的密钥之下被加密,因此一块被带出机房的磁盘—无论是故障、被更换、被转售,还是被盗—都只是一块砖,而不是你数据库的副本。每一个正经的平台都会这样做,而且不会向你收取任何费用。

它做不到的,是把提供商排除在外,因为按定义,密钥本就握在提供商手中。它防范的是装卸区那一关,而不是运营方本身。一家主机商,如果用静态加密来回答一个关于它自身访问权限的问题,那么它回答的其实是另一个问题,而且它通常心知肚明。

真正排除了提供商的那个版本,是密钥根本不会送达的那一种。这笔取舍,写在对应的操作手册里:这里的快照以加密方式存储,本机群不持有你自行加密的磁盘内容的密钥,因此也就无法为你救援那块磁盘。这句话的前后两半,说的是同一个事实,而一家只告诉你前半句的主机商,手里握着一把密钥。

三台机器,三种不同的答案

“我的主机商能否读取我的磁盘”这个问题,在共享实例、整台机器,以及你按机位租用的机柜上,答案并不相同。这些差异值得说清楚,因为它们通常被当作同一种产品来销售,只是标价不同而已。

你租到的是什么机器运行期间,运营方能触及到什么这对你意味着什么
共享 VPSHypervisor 掌握着你客户机的内存。客户机的 RAM 是可以被转储的,而实时迁移按设计就会把它复制到另一台宿主机上。你 RAM 中的任何密钥都触手可及。加密保护的是静止存放的卷,而不是运行中的客户机。
独立服务器你之上没有 hypervisor。管理控制器—IPMI、BMC,或厂商给它起的任何名字—是主板上的第二台计算机,它的寿命比你的操作系统更长。一个小得多的攻击面,但并非空无一物。那个控制器能够挂载介质,也能够监视控制台。
Colocation你的硬件、你的固件、你的磁盘。别人的门禁、别人的电力、别人的双手。剩下的,就是一个物理层面的问题,而这也是唯一一种,能靠一把锁来回答的问题。

以上这些行,没有一行是在否定它上方的那款产品。它们说明的是:你需要弄清楚自己买的这份防护,究竟针对的是哪种威胁。运行虚拟机管理程序(hypervisor)的运营方,能够读取其上运行的客户机的内存,任何声称并非如此的提供商,都是没弄懂自己的技术架构。它读到的,要么是你的数据,要么只是噪声,而这两者之间的区别,早在数月之前,密钥放在哪里的那一刻,就已经决定了。

密钥仪式,就是这份保证的全部

以上种种,归结为一个运维层面的问题:机器启动的那一刻,密钥从何而来?目前实际使用的答案有三种,它们的强度相差悬殊。

  1. 存放在机器本身上。密钥文件放在同一个卷里,或者密码被写死在初始化脚本里,好让服务器能够无人值守地开机。这就是把加密当作一个勾选项:谁能读到磁盘,谁就能读到躺在它旁边的密钥。
  2. 由提供商持有。方便、可恢复,而这恰恰正是一份法律命令能够作用的安排。密钥确实存在,有人持有着它,而持有密钥这件事本身,就是法院可以在一份文书中指名要求的事。
  3. 每次开机由你提供。机器启动后进入 initramfs,此后按兵不动,直到你连接上去并交出密码为止。密钥只存在于那台机器的内存中,且仅在其运行期间存在,此外别无他处。

只有第三种安排,能把这个问题彻底移出法律层面。命令可以强制提供商交出它所持有的东西;却无法强制它交出一把它从未获得过的密钥。这是一种性质上的差异,而非程度上的差异,也正因如此,这里已签名的warrant canary,才会就“被强制削弱某项加密保护”这件事,作出一条单独的声明。一项关于行为的承诺,和一项关于算术的事实,是两种不同的文书,而其中只有一种,能比做出它的人活得更久。

全盘加密之后,仍然是明文的部分

加密后的根文件系统并不是一个黑箱。有好几样东西,从结构上就必然处于它之外,而知道究竟是哪些,正是威胁模型与一种感觉之间的差别所在。

  • 启动链。/boot 与 initramfs 会在任何内容能被解密之前就被读取,因此它们本身未加密;而在你无法验证固件的租用硬件上,它们也未经验证。谁能写入那里,谁就能写入某样会记下你密码的东西。
  • Swap 与休眠。未加密的 swap 会毫无怨言地存下一页页已解密的内存内容。要么加密它,要么关闭它;不存在第三种安全的选项。
  • 机器的轮廓。分区大小、LUKS 头、卷已使用的容量,以及它确实被加密过这一明摆着的事实。
  • 运行中进程所持有的一切。页缓存中的数据库、Web 服务器启动时加载的 TLS 私钥、环境变量、已打开的套接字。这是清单上最大的一类,静态加密对它们全都无能为力。
  • 你的流量。你在和谁通信、何时通信、通信量多少,一切都和加密之前完全一样。这属于无日志指南要讨论的主题,而非本页的主题。

启动链,是人们最容易低估的一环。如果密码是在 initramfs 中输入的,那么 initramfs 此刻就是一台你无法实际物理掌控的机器上的凭证提示符—因此它 SSH 主机密钥的指纹,和密码本身同样重要。这把密钥和运行中系统所出示的并不是同一把,这也正是为什么启动时指纹发生变化,往往会被不假思索地放行。第一次就把它记录下来,此后每一次都要核对。一个看起来没问题、实则有问题的提示符,就是整个攻击的全部。

它能挡住什么,又挡不住什么

威胁对磁盘加密有用吗?为何
磁盘被带出机房是的,完全如此无论是故障、被更换、被转售,还是被盗,一块已断电的卷,都只是密文,别无其他。
查封一台已关机的机器被拿走的,是断电那一刻卷所处的状态。而只要机房里没有密钥,那种状态就只是噪声。
在运行状态下被查封密钥在 RAM 中,文件系统处于已挂载状态。这正是营销宣传从不会描述的那种情形。
送达提供商的命令不能直接做到,而这正是关键所在命令得到的答复,只能是确实存在的东西。一把从未被交出过的密钥,无论文书上怎么写,都不可能被交出来。
提供商读取你的文件只有在上述第三种安排下才行由提供商管理的密钥,意味着提供商能够访问。你自己的密钥,则意味着只有你能够访问,别无他人。
运行中的服务器遭入侵在一台卷已挂载的机器上拿到 root 权限的攻击者,是站在加密边界之内,而不是之外。
你自己的失误一个被粘贴进支持工单,或输入在未经验证的提示符前的密码,会把这份保证彻底终结,效果和从未设置过它一样彻底。

顺着中间那一列往下读。加密真正起决定性作用的,恰恰是机器关机、或密钥从未被交出过的那些情形;而在机器正运行、且已经有人身处其中的每一种情形下,加密都无关紧要。这不是一个可以靠工程手段绕开的弱点,这就是加密的本质,而任何暗示并非如此的页面,都是在推销点什么。

代价所在,在你承诺之前先说清楚

这是那些打着“加密主机”旗号做宣传的页面所没有的一节,原因在于,这里列出的每一项,都是你在一个月之内就会真切遇到的麻烦。

  • 无法无人值守重启。一次内核更新、一次电源事件,或一次宿主机迁移,都会让机器停在密码提示符前,直到有人到场为止。可用性从此取决于你的作息时间。
  • 无法救援。读不到卷内容的提供商,也就修不了它。文件系统检查、数据恢复,还有“能不能帮忙把配置文件复制出来”这类请求,就都只能由你自己来处理了。
  • 备份即是密文。这个说法没错,也意味着恢复同样需要密钥。一份打不开的备份,根本不是备份。
  • 头部损坏是致命的。LUKS 头位于卷起始处的一小块区域,保存着经封装的主密钥。请在第一天就把它复制到这台机器之外保存;没有它,即便密码正确,也什么都打不开。
  • 有一定开销。它是真实存在的,能在跑分中看到,但很少成为工作负载的瓶颈—现在的处理器都在硬件层面支持 AES。与其争论,不如在你租用的机器上实测一下。

把它配置到真正值得拥有的程度

具体命令见知识库。接下来要讲的,是执行这些命令的顺序,而这部分,本身并不是一条命令。

  1. 在动手之前,而不是之后,先安排好控制台访问。第一个失误发生在启动提示符处,而 SSH,恰恰就是那里用不上的东西。
  2. 先加密第二块卷。把数据放在一块独立的加密磁盘上,能以一小部分的运维风险,换来大部分的收益,还能让你在一台仍可自行启动的机器上,提前摸清各种失败模式。
  3. 等这一切都已成为常规操作后,再把根文件系统迁移到它后面,并在 initramfs 中配置一个小型 SSH 服务器,用于在启动时接收密码。
  4. 在第一次解锁时,记下 initramfs 主机密钥的指纹,此后每一次解锁都要核对它。它和运行中系统所出示的密钥并不是同一把,而把指纹变化视为正常,正是密码被窃取的常见方式。
  5. 把 LUKS 头备份到那台机器以外的地方,然后验证这份备份确实能打开该卷,而不是想当然地认为它可以。
  6. 加密或禁用 swap,然后检查你实际搭建出来的东西:lsblk -o NAME,FSTYPE,MOUNTPOINT 会显示哪些内容位于 mapper 之后,哪些则悄悄不在其中。
  7. 在机器上还没有任何你不愿失去的数据之前,主动、刻意地重启它一次。凌晨三点的第一次无人值守重启,不是学习这套流程的好时机。

十分钟核实一家主机商的加密说法

和本站其他同类页面一样的检验标准:以下每一个问题,答案要么是一份文件,要么根本没有答案。

  1. 被加密的到底是平台、卷,还是客户机—而你问的,究竟是其中哪一个?
  2. 密钥由谁生成,存放在哪里,客户一旦弄丢了它,流程是怎样的?一条恢复通道,就是一把第二密钥,而第二把密钥,就是第二样能被命令要求交出的东西。
  3. 你能否自带密钥,并拒绝分享它?如果答案是可以,那就再问一句:这样做会导致什么功能失效。如果什么都不会失效,那说明这份加密本来就没起到任何作用。
  4. 在机器无法启动时,是否有可用的控制台,它是包含在内,还是按小时计费?
  5. 一旦你完成加密,提供商会说自己因此再也做不到什么?一家既宣称拥有完美隐私、又宣称能提供完整技术支持的主机商,要么是没想清楚,要么就是在描述一把它自己握有的密钥。

最后一项,就是破绽所在。在这个领域里,每一个诚实的答案都会让提供商付出某种代价,而一句毫无代价的声明,描述的是一款产品,而不是一份保证。本机群会做什么、不会做什么,写在执法指南中,并被计入透明度报告

人们实际提出的问题

我的主机商能读到我的文件吗?

如果卷未加密,答案是能—无论在哪家提供商、哪个国家,无论它在日志或司法管辖权方面怎么宣称都一样。这一点,源于对硬件的实际运营权,而非任何政策选择。而如果采用全盘加密、且密钥由你在每次开机时提供,那么在机器关机期间,答案就变成了不能,即便机器遭到查封,答案依然是不能,因为这片基础设施上没有任何东西能解密它。

对我的磁盘加密,能阻止一份法院命令吗?

不能,而这个区别值得保留。一份命令可以强制提供商交出它所持有的东西,却无法凭空变出一把从未被交付过的密钥,因此命令所能得到的,只是密文。问题就此从法律层面转移到了数学层面,而数学层面的答案,不会因法院不同而改变。

提供商提供的加密 VPS,是同一回事吗?

通常不是。这句话几乎总是指平台层面的静态加密,密钥由提供商管理,它保护的是被带出机房的磁盘,并不能把提供商排除在外。它值得拥有,但并不是大多数人购买它的真正原因。该问的问题是:机器开机期间,密钥握在谁手里。

加密后的服务器重启时,会发生什么?

它会停下来,等你出手。这就是这套安排的代价,而且没有不付这份代价的版本,因为一台能自行解锁的机器,就是一台自己持有密钥的机器。请把内核更新,当作一次需要排期解锁的事件来规划,并为出问题的那次启动保留好控制台访问。

全盘加密会拖慢服务器速度吗?

在跑分上看得出来,但在实际工作负载上很少感受得到。现在的处理器都在硬件层面支持 AES,通常的瓶颈还是停留在原来的地方。在你实际租用的机器上运行一次 cryptsetup benchmark,比页面上印着的任何数字都更能说明问题。

只加密第二块卷,够了吗?

对大多数人来说,这是明智的第一步,也往往是最后一步:把数据放在加密卷上,操作系统本身保持可读,这样无人值守重启和救援工具就仍能正常工作。它覆盖不到的,是系统写在别处的内容—日志、swap、临时文件、页缓存。这一点需要你主动决定,而不是任由默认设置决定。

在独立服务器上也能这样做吗?

能,而且面对的攻击面,比共享实例上更小,因为你之上没有 hypervisor 掌握着你的内存。管理控制器依然存在,寿命依然比你的操作系统更长,因此启动链同样值得同等的重视。在你自有、放在租用机柜里的硬件上,剩下的就只是一个物理层面的问题了。

那加密内存,或者机密计算呢?

它是真实存在的,也是正确的努力方向:AMD SEV-SNP 与 Intel TDX,会把客户机内存加密到 hypervisor 都无法读取的程度,而这正是本页通篇所描述的那个缺口。真正让它产生意义的,是远程证明—向你证明,你正在通信的这台机器,运行的确实是你以为的那个东西,且处于你以为的那种模式下。一家提供“加密 RAM”、却不提供可供你验证的证明的提供商,给出的只是一句声明,而不是一项控制手段。

本机房的每一项价格都在同一处完整公开。 查看完整目录