在 /boot 分区上设置不可变位有什么影响

在 /boot 分区上设置不可变位有什么影响

从安全角度来看,在 /boot 分区上设置不可变位会产生什么影响。是吗可取的将不可变位 ( -i) 设置为 /boot 下的所有内容?它会增强还是降低系统安全性?

我想更进一步,对其他“珍贵”文件(如/etc/bind/named.conf等)执行相同的操作。

答案1

长话短说

除非您有特殊的审核要求,否则不要这样做。一般来说,这带来的麻烦大于其价值。

解释

唯一应该具有 /boot 写入权限的帐户是 root。如果你有root权限,你可以取消设置不可变位,并且几乎可以做你想做的事。

以只读方式安装 /boot、设置不可变位或类似的操作的主要缺点是,每次更新内核或引导加载程序时都需要撤消这些设置。这更有可能给你带来绊脚石,而不是提供有意义的安全保障。

备择方案

取决于你是什么真的尝试这样做时,您可能有一些替代方案。例如:

  1. 如果您担心文件系统损坏,确保 /boot 位于很少写入的单独分区上是一个好主意。
  2. 定期验证 /boot 的内容绊线或者德布苏姆如果您担心篡改,尤其是与存储在单独的只读介质上的哈希值进行比较时,这是一个很好的安全措施。
  3. 将 /boot 挂载为只读,然后让程序包管理器在更新期间将其挂载为读写,可能会很有用。

在 Apt 更新期间重新挂载只读分区

作为最后一个替代方案的示例,您可以在 /etc/fstab 中将 /boot 配置为只读,然后将类似于以下内容的内容添加到基于 Debian 的系统上的 /etc/apt/apt.conf 中:

DPkg {
    Pre-Invoke { "mount -o remount,rw /boot"; };
    Post-Invoke {
        "test ${NO_APT_REMOUNT:-no} = yes ||
        mount -o remount,ro /boot ||
        true";
    };
};

这将使 /boot 保持只读状态(更新期间除外)。显然,如果您不使用 apt 包管理器,或者由于其他原因上述方法不起作用,您将需要做一些不同的事情。

相关内容