阻止挂载系统调用

阻止挂载系统调用

/system当有人想要以读写模式重新挂载时,我想阻止挂载系统调用。这意味着我不想允许执行以下操作:mount -o remount,rw /system。有人知道我需要在哪里更改内核中的代码吗?我试图查看/fs/namespace.c与安装相关的一些功能在哪里,但我不太确定。

答案1

您可以使用 SELinux 或 之类的东西seccomp,但考虑到完全 root 权限允许修改任何分区,而无需安装它们并做其他讨厌的事情,甚至可能加载内核模块来规避限制,这可能不是那么简单。至少您需要一个全面的规则集来堵住所有常见的漏洞。

修改mount二进制文件或 C 库不是解决方案,因为直接调用系统调用相当简单,无需通过现成的二进制文件甚至库。

SELinux 和常用的划分和强化手段首先会增加 root 权限的难度,这也可能出于其他原因而有用。

另外,还有一个问题是您在该安装点上有什么?如果它只与这个系统相关,那么有人可以修改它有什么关系吗?如果他们获得了计算机的完全管理访问权限,他们就可以搞乱其他一切,留下后门,并且可能至少会破坏有问题的分区。如果您不希望需要修改它,而只是想防止丢失内容,那么将其放在只读存储上会更容易。并进行备份。

如果该文件系统被多个系统使用,则它可能是通过网络安装的。在这种情况下,最好在服务器端防止对其进行写入,因此即使内核尝试进行读写挂载也没关系,它仍然无法工作。

相关内容