在存在潜在物理访问权限时保护 Linux 服务器

Mik*_* L. 5 linux security disk-encryption

我们想要建立一个 Linux 服务器(托管 Git 或更高版本的 SVN 存储库),它应该对所有存储的数据进行高度加密,以便如果有人窃取服务器,则无法读取数据。例如,我们的笔记本将所有重要数据都存储在“真正加密”的分区上。

我们计划使用 SSH 私钥访问它,并且只有在成功登录后才能读取数据。服务器将位于我们的办公室,在晚上关闭并且不直接连接到 Internet,而只能在我们的内部网中访问。

你有什么建议?我只是一个零星的 Linux 用户,因此不是很能干。

bar*_*baz 5

如果您不能相信您的机器所在的位置,您永远不能认为您的数据已完全保存。

将数据丢失风险降至最低的常见设置是加密包含敏感数据的磁盘分区/逻辑卷。这可以保护您免受

  • 有人卸下硬盘驱动器,将其放入另一台机器并读取数据
  • 有人将您的机器重新启动到不同的系统并从那里访问您的数据。

但是,在运行时,当有授权的人想要读取数据时,您的系统必须知道如何解密数据。因此,在(重新)启动后,您必须输入用于加密数据的密码,然后解密/加密的私钥将保存在内存中。因此,加密

  • 不能增强对攻击者滥用弱点在你的软件的安全性(SVN服务器,Web服务器等)或系统(任何人谁可以在系统上获得root权限的用户可以访问您的数据,也使在内存你的私人密钥的副本)
  • 不会保护你对更复杂的措施来获得对数据的访问。例如,当计算机关闭或断电时,RAM 不会立即丢失所有数据。已经证明,可以通过冷却 ram 以获得足够的时间来读取 RAM(从而在可以物理访问机器时访问加密数据)来延迟该过程。

然而,人们必须评估这种场景的现实程度。正如我所说,如果您不信任处理硬件的位置/人员,那么您总是处于危险之中。如果硬件本身甚至由该人提供(在数据中心租用硬件),则甚至存在额外的风险,即您的硬件已被修改以访问您的数据 - 例如,即使没有关闭,个人也可以访问您的 RAM 状态您的计算机并深度冻结 RAM。

如果你想提高你的数据安全级别并且可以忍受上面勾画的场景的磁盘,你可能想要使用磁盘加密。它与放置在数据中心的数据有关。要在您想要研究的 Linux 系统上实现这一点

  • dmcrypt - 一个加密内核模块,随每个现代 linux 一起提供,特别是
  • LUKS - 一种简单的使用方法。