Linux 上是否有现成的软件包提供了每个人都可以在不知道密码的情况下写入的加密容器?我们希望每个用户在一天结束时提交他们的作品,然后将机器擦拭干净。用户不应该能够访问以前用户的数据。我们查看了 LUKS、EncFS 等,但似乎容器需要使用密码解锁才能写入。如果黑客进入,他们可能能够访问容器上的数据。
答案1
容器从内部保护容器的外部。它不能保护容器内部免受外部侵害。如果您希望用户 Alice 无法访问用户 Bob 的数据,则 Alice 不得拥有对主机的特权访问权限。这意味着 Alice 不能拥有对主机的 root(“sudo”)访问权限,并且她不能对主机进行物理控制(如果她在物理上位于主机前面,则必须有某种方法来阻止她执行诸如拔出硬盘之类的操作)。
如果Alice对主机只有用户级别的访问权限,普通的Unix权限就足以保护Bob的数据。只需给每个人一个单独的帐户即可。容器和加密无关。
如果 Alice 拥有对主机的特权访问权限,那么容器和加密不会对您有帮助,因为 Alice 可以安排做 Bob 可以做的任何事情,包括读取 Bob 的数据。鲍勃如何访问他的数据并不重要:因为爱丽丝具有特权访问权限,所以她也可以这样做。
听起来您希望用户能够使用客户端计算机(单个用户一次使用每台计算机)并且看不到其他用户的数据。因此,不要将数据存储在本地:将其存储在某个中央服务器上。从安全角度来看,容器对此没有什么用处,但它们可能使部署更容易(无论如何,这都是容器的主要动机)。加密并不是特别有用,但是如果您没有在本地存储任何内容(除了不会在用户会话结束后持续存在的临时文件),那么您可以从加密中获得一些好处。创建两个分区:系统分区和数据分区。将系统分区挂载为只读,除非进行升级。使用随机生成的密钥加密数据分区,该密钥在每个会话开始时重新创建(或在启动时,并在用户注销时重新启动计算机)。