静态数据加密
了解为什么静态数据加密并不意味着在您的笔记本电脑休眠时进行加密。
您可以采取许多步骤来加固计算机,并且在加固指南中您会看到一个常见的建议是启用磁盘加密。磁盘加密通常也被称为“静态数据加密”,尤其是在安全合规性指南中,许多合规性制度,例如 PCI,强制要求使用静态数据加密。该术语指的是数据在“静态”时或磁盘卸载且未使用时被加密。静态数据加密可以是系统加固的重要组成部分,但许多管理员在工作站或服务器上启用它时,如果他们不了解磁盘加密不仅可以保护您免受什么侵害,而且更重要的是,它不能保护您免受什么侵害,最终可能会产生一种虚假的安全感。
磁盘加密的作用在 Linux 服务器和工作站的上下文中,磁盘加密通常意味着您正在使用诸如 LUKS 之类的系统来加密整个根分区或仅加密特别敏感的挂载点。例如,一些 Linux 发行版提供了保留未加密的根分区的选项,并且它们独立加密每个用户的 /home 目录,以便在用户登录时解锁。对于服务器,您可以保留未加密的根目录,并且仅对包含敏感数据(如数据库文件)的特定磁盘添加加密。
在工作站中,当系统处于静态加密状态时,您会注意到,因为它会在启动时提示您输入密码以解锁磁盘。服务器通常有点棘手,因为通常管理员希望服务器在重启后无需手动干预即可恢复启动。尽管某些服务器可能会提供基于控制台的提示以在启动时解锁磁盘,但管理员更可能配置 LUKS,以便密钥驻留在单独的未加密分区上。或者,服务器可以使用其配置管理或集中式密钥管理工具(如 Vault)从网络检索密钥,这样,攻击者访问文件系统而导致密钥被盗的风险就降低了。
静态数据加密保护您的主要内容是由于硬盘驱动器的盗窃或不当报废导致的数据丢失。如果有人在您的笔记本电脑关机时偷走了它,您的数据将受到保护。如果有人进入数据中心并物理移除启用了静态数据加密的服务器中的驱动器,则驱动器将停止运转,并且其上的数据将被加密。服务器中已报废的磁盘也是如此。管理员应该执行安全擦除或完整磁盘销毁程序,以在处置前从驱动器中删除敏感数据,但是如果管理员偷懒,磁盘加密可以帮助确保数据在落入坏人之手时仍然受到保护。
磁盘加密无法做到的静态数据加密的主要风险在于它会产生一种虚假的安全感。有些人错误地认为磁盘加密意味着数据始终受到保护。现实情况是,在许多情况下,具有静态数据加密的磁盘几乎从未真正处于静态状态!如果服务器中的磁盘已挂载,则所有数据都将被解密,并且有权访问服务器的攻击者将能够看到该数据。同样,即使是处于睡眠模式的已开启电源的笔记本电脑,其静态数据加密也不能保护您的数据免受盗窃。
在所有这些情况下,磁盘解密密钥都驻留在机器的 RAM 中,这样您就不必在每次需要读取加密文件系统上的文件时都不断输入密码。这意味着,不仅在您的系统上具有 root 访问权限的攻击者可以读取加密但已挂载的磁盘上的所有文件,他们甚至可能能够从 RAM 中提取这些密钥,并在以后解密磁盘,即使磁盘已卸载。这种攻击因“冷启动”漏洞而闻名,攻击者可以获取已开启电源或挂起的笔记本电脑,并将其重启到特殊的 Live USB 磁盘中,他们可以在其中提取仍保留在 RAM 中的密钥。RAM 在断电后不会立即自行擦除,因此在更复杂的攻击版本中,他们甚至可以物理移除机器中的 RAM 并将其放入另一台机器中,如果他们足够快,他们可以在 RAM 降级之前读取密钥!
结论那么,您应该使用静态数据加密吗?当然应该!如今,磁盘和 CPU 的速度都足够快,以至于性能损失对于初学者来说是微乎其微的。此外,它确实可以保护您免受特定现实生活中的攻击。对于笔记本电脑,它可以保护您的数据免受盗窃,这是最可能发生的情况。对于服务器,最可能的威胁是忘记擦除驱动器。此外,现在服务器更常见于云端,位于别人的基础设施上,使用静态数据加密可以帮助您确保您的私有数据保持安全,即使云提供商在为新实例重用这些扇区之前没有正确擦除其磁盘。