当虚拟机 Linux 主机服务器不面向 Internet 并且仅在 LAN 上使用,并且使用像 Proxmox 这样经过相对充分测试的发行版时,通过内核参数关闭所有漏洞缓解措施会有多危险mitigations=off
?
此外,是否有人测试过关闭所有这些缓解措施可能会带来哪些性能提升?
当我看到缓解措施造成的巨大损失时,这对我来说最近成为了一个问题retbleed
:https://www.phoronix.com/review/retbleed-benchmark
这种思路延伸到对通过上述内核参数或单独关闭高影响缓解措施来删除全部或部分缓解措施可能产生的后果(包括不良后果和积极后果)的好奇心。
答案1
Linux 内核标志mitigations=[on|off]
是一个单一的开关,可以轻松启用/禁用此处列出的所有可用的针对硬件漏洞的内核缓解措施https://docs.kernel.org/admin-guide/hw-vuln/index.html
当然,其影响完全取决于你的 CPU:
当您的 CPU 不易受到任何已知漏洞的攻击时,所有缓解措施均不适用,且影响实际上应该为零。
当你的 CPU 容易受到某些攻击时(甚至有 CPU 容易受到全部其中有多少?)影响取决于哪些特定的漏洞以及您的工作量。
至于风险分析,这也取决于您的工作量和用户群。
在由公共 VPS 提供商运营的虚拟化主机上,与我同事专用的内部虚拟化主机相比,客户受到的信任度更低,而且更有可能产生恶意(或受到攻击)。
例如,在我们用于 CI/CD 管道和计算集群的虚拟化主机上,所有客户机的寿命都很短,从受信任的映像部署,运行长达几个小时,然后再次被销毁。我们需要尽可能提高性能并禁用缓解措施。
在另一个共享集群上,我们托管了更多经典的服务器整合工作负载;部署在那里的客户端可以(而且更有可能)“永远”运行,而不是几个小时。它混合了生产和非生产工作负载,客户端由 DevOps 团队管理,而这些团队并非都那么勤于修补和更新其系统和应用程序。
在那里,恶意或受感染的客户端的风险要高得多,特定工作负载可能的性能下降是可以接受的权衡,因此在那里启用了缓解措施,并且我们限制了向客户端公开的 CPU 标志。
答案2
真的无法从网络外部间接连接服务器吗?
这是你应该问自己的第一个问题。如果可以从具有 2 个网络连接的计算机访问 LAN,一个连接到该 LAN,另一个连接到连接到互联网的另一个网络(最好通过多层防火墙),则您刚刚将该服务器连接到互联网。
请记住,机器即使连接到互联网也容易受到攻击。机器可能感染恶意软件,而恶意软件只是想通过 USB 记忆棒、软盘甚至在终端上输入命令来破坏它。
最终,所有安全性,就像所有性能改进一样,都是一种妥协。与所获回报相比,可接受的风险水平是多少。
要了解潜在的性能提升,请在机器完全没有网络连接的情况下对其进行测试,然后亲自查看。很可能提升幅度不会很大,但可能足以挤出一些额外的 CPU 周期,帮助一些旧硬件存活更长时间,这样您就有时间说服高层管理人员您确实应该获得购买新服务器的预算。
答案3
“... 专门在 LAN 上使用,并且使用像 Proxmox 这样经过相对良好测试的发行版,通过内核参数 mitigations=off 关闭所有漏洞缓解措施会有多危险?”
...
“这种思路延伸到对通过上述内核参数或单独关闭高影响缓解措施删除所有或部分缓解措施可能产生的后果(无论是负面的还是积极的)的好奇心。”。
您可能仍需要考虑责任,以及修复哪怕是少量问题所需的增加的时间。
也就是说,大多数缓解措施已经融入到最新的 CPU 中;因此关闭它们只会对较新的系统造成很小或很小的性能损失 —— 是的,关闭缓解措施后速度通常会变慢;但与任何基准测试一样,也有例外。
“... 关闭所有这些缓解措施可能会带来哪些性能提升?”
Phoronix 的 Michael Larabel 说:
在他 2022 年 12 月 7 日的文章中:“英特尔 Raptor Lake 缓解影响性能比较”:
“... 在大多数情况下,与 Raptor Lake 相关的软件缓解措施可以保留,而不会对性能产生任何显著影响。”
在他 2022 年 9 月 30 日的文章中:“对于 AMD Zen 4,禁用 CPU 安全缓解措施出乎意料地不值得”:
“... 在进行的 190 项不同基准测试中,保持默认缓解措施总体上比关闭缓解措施快 3%。基本上与我们在其他较旧的处理器上通常看到的情况相反。”
对于较旧的系统,您仍需要考虑心怀不满的员工在离职前提升权限或以其他方式破坏您的 LAN。他们的部分不满可能是由于拥有陈旧的设备,他们利用这些设备对付您。此外,绑定的手机会打破“非面向互联网”的假设,给手机充电并运行流氓应用程序或打开精心制作的电子邮件只能利用现有的漏洞。