是否可以将所有发出的 shell 命令(.bash_history
等)安全地存储在区块链中,以防止用户修改他们的历史记录?
我有兴趣为几个多用户系统实现这个,但我想知道为什么似乎还没有人采用这个想法。如果命令历史记录准确,许多涉及 shell 访问的攻击(以某种方式)可以更好地被追踪;恶意用户无法掩盖他们的行为,等等。
是否可以将所有发出的 shell 命令(.bash_history
等)安全地存储在区块链中,以防止用户修改他们的历史记录?
我有兴趣为几个多用户系统实现这个,但我想知道为什么似乎还没有人采用这个想法。如果命令历史记录准确,许多涉及 shell 访问的攻击(以某种方式)可以更好地被追踪;恶意用户无法掩盖他们的行为,等等。
shell 可能是记录命令的错误位置。用户可以简单地执行另一个没有历史记录的 shell,或者执行从标准输入读取的命令,而不会在历史记录中留下任何痕迹。因此,它并不能很好地保护恶意用户。
应该安全地记录用户执行的命令,而不是保护 shell 历史记录,无论这些命令是否由 shell 执行。并且应该这样做,以便用户无法在没有跟踪的情况下执行任何命令。实际上已经有一个审计框架可以做到这一点,请参阅RHEL 文档中的系统审计。
虽然区块链听起来像是一种不错的(和炒作的)技术:但还有其他技术可以提供必要的安全性而无需所有开销。对于记录非特权用户的活动,以 root 身份进行记录就足够了。万一担心特权升级,可以使用现有的 syslog 机制登录到远程服务器。并且一些 syslog 实现还提供了一种对消息进行签名以证明其来源的方法。