使用加密保护服务器的最佳方式

使用加密保护服务器的最佳方式

我计划在客户位置部署服务器,可能是基于 linux/bsd 的系统。如何确保服务器免受数据盗窃/复制的侵害,例如有人(可能是客户自己)复制磁盘。我知道磁盘加密可能会有所帮助,但任何拥有有效密钥的人都可以解密,有没有办法让用户/客户看不到,这样他们就不必在启动时输入密钥。

答案1

我知道的唯一方法是将密钥放在硬盘上未加密的分区中。不太安全——客户可以读取该分区。

唯一“安全”的方法是将加密以某种方式绑定到硬件中,这样磁盘(或磁盘映像)只能在一组硬件上使用 - 也许可以使用 BIOS ID 之类的东西作为加密密钥的一部分?不太确定你会怎么做。

答案2

您可以将敏感数据存储在加密分区上,然后要求某人通过 SSH 登录并输入密钥来解锁。显然,重新启动后,系统将无法正常工作,除非有人解锁它。

答案3

那样做根本行不通。

如果您想防止物理盗窃,则必须将密钥存储在异地。将其保存在特殊服务器中无助于防止有人欺骗您的服务器泄露密钥,就像正常启动正在进行一样,或者修改启动过程以转储密钥。(如果不泄露密钥,就无法解锁数据。)

此外,无论你使用什么软件,窃贼和客户都可能复制驱动器内容的字节精确副本。某种硬件解决方案是必要的。

但最终,无论谁拥有物理访问权限找到绕过安全措施的方法。

答案4

http://loop-aes.sourceforge.net/loop-AES.README

看看第 7 部分:

7.    Examples
7.1.  Example 1 - Encrypting swap on 2.4 and newer kernels
7.2.  Example 2 - Partition backed loop with gpg encrypted key file
7.3.  Example 3 - Encrypted partition that multiple users can mount
7.4.  Example 4 - Encrypting /tmp partition with random keys
7.5.  Example 5 - Encrypting root partition
7.6.  Example 6 - Boot from CD-ROM + encrypted root partition
7.7.  Example 7 - Boot from USB-stick + encrypted root partition
7.8.  Example 8 - Encrypted partition using serpent cipher

相关内容