关于 Linux 目录数据/加密的问题

关于 Linux 目录数据/加密的问题

我有一个目录,里面全是敏感数据,我想加密这个目录来防止外部攻击者。我仍然希望能够从目录中读取数据,并以原始形式将这些数据显示在网页上。数据加密工具(例如 eCryptFs)是否允许这样做?如果允许,当数据被挂载/卸载时,它究竟是如何工作的?自动挂载在这里起作用吗?

答案1

通常,如果安装了加密的文件系统/文件,则所有有权访问该文件夹(和 root)的用户都可以访问其内容。我认为解决您的问题最可行的方法是:

  • 使用 LUKS 创建加密文件系统
  • 在启动时挂载(或启动 HTTP 守护进程时)
  • 不要把容器的钥匙放在盒子上(每次都输入密码很麻烦,但却是一个常见的错误)
  • 将目录权限改为700
  • 将所有权更改为网络服务器用户(通常www-data

这将禁止系统上的任何人(www-data 和 root 除外)访问这些文件。


如果你真的想要获得最高程度的安全性,你可以编写如下脚本:

  • 访问网页时,要求输入加密容器密码
  • 挂载加密容器
  • 检索必要的文件
  • 卸载容器

请记住,安装/卸载是非常昂贵的操作,所以你的网页会变得非常慢。

答案2

您可以购买硬件令牌(智能卡)并使用存储在卡上的密钥。这样您就可以以批处理模式加密和解密文件,而无需在插入卡时存储密码(当您禁用卡用户 PIN 验证时)... 但也可以防止任何人盗用密钥。

相关内容