我试图想出一种方法来保护暴露于物理访问的 Linux 服务器。我的特定平台是 PC Engines 品牌alix2d13主板上的小型 Linux 服务器。小尺寸存在被攻击者从场所移除的额外风险。
假设有对服务器的物理访问:
1) ROOT-PASSWORD:您将控制台电缆连接到服务器,您会收到输入密码的提示。如果您不知道密码,您可以在单用户模式下重新启动机器并重置密码。瞧,您获得了 root 访问权限。
为了确保上述安全,您在GRUB菜单上插入密码,因此当服务器重新启动以进入单用户模式时,您必须提供 GRUB 密码。
2) GRUB_PASSWORD。如果您关闭机器,取出硬盘并将其安装在另一个工作站上,您将能够浏览/boot包含 grub.cfg 文件的目录,您可以在其中找到 GRUB 密码。您可以更改 GRUB 密码或将其删除。
显然,当我们谈论大型生产机器时,很可能不会有任何物理访问,除此之外,即使有人物理访问服务器,他也不会关闭它。
防止物理上容易窃取的服务器上的数据窃取的可能解决方案是什么?
在我看来,可以获得对所包含数据的一种或另一种访问方式。
And*_*man 18
我一直遵循的规则是,一旦攻击者可以物理访问您的主机,他们最终可以闯入它 - 除非,正如 kasperd 所说,您使用带有启动密码的强全磁盘加密,并且愿意每次主机启动时都在那里输入。
Col*_*RiX 10
我知道的解决方案是加密磁盘并使用 TPM:可信平台模块
通过这种方式,现在可以将硬盘解密为:
全盘加密应用程序 [...] 可以使用该技术 [TPM] 来保护用于加密计算机硬盘的密钥,并为受信任的引导路径(例如 BIOS、引导扇区等)提供完整性验证。第三方全盘加密产品也支持 TPM。但是,TrueCrypt 决定不使用它。- 维基百科
当然,我可能是错的,TPM 很容易被破解,或者我可能不知道其他解决方案。
小智 7
这是一个简单的解决方案:在没有单用户模式的情况下重建内核!
更恰当地说,编辑您正在使用的 linux 内核,以便将模式 S 重新映射到您的默认模式(3,4,5)。这样,任何启动到单用户模式的尝试都会正常启动系统。您可能可以在 init 脚本中做同样的事情。这样就没有特殊的方法在不知道密码的情况下进入系统。