我就职于一家生产运行 Linux 的便携式设备的公司,最近,出于“安全”目的,我被要求将底层文件系统设为只读。
由于该发行版基于 LinuxFromScratch,我知道运行时写入很少。因此,即使设备在 USB 闪存设备上运行,我怀疑将根文件系统 RO 放入那有利。
实际上,我更担心一个进程实际上会中断,因为它无法以 RW 模式打开文件,而不是担心一个进程变得异常并用日志文件填充根文件系统等。
我真的很想知道那里有什么优点和缺点真的与只读文件系统有关。
谢谢!
答案1
将文件系统设为只读并非万无一失的机制。但是,这确实使攻击者的生活变得更加复杂。如果他们的攻击依赖于删除稍后要执行的文件,那么他们就会失败。如果他们的攻击不是为您的便携式设备量身定制的,那么他们就会失败。
它还可以防止文件系统被填满(并帮助您隔离在这种情况下可能出现的任何问题)并防止文件系统的性能因碎片/文件系统更改而发生变化。
至于应用程序失败的风险,那是测试团队的工作。彻底测试设备,您就可以确信一切正常。请注意,当您进行现场更新时,只读文件系统将再次出现。
答案2
安全性绝不意味着您的进程会因为日志文件而“失控”。
关键在于流程不是由于你“不听使唤”并将其从存在中抹去,所以
尤其是在用户手中,只读是您可以给予他们的最基本的保护。
答案3
主要缺点是无法存储用户可能需要的持久数据(例如非“通用”密码)或程序设置的自定义。虽然 RO 安装在某些方面很有用,但对于长期用户来说(通常)是一件麻烦事。
答案4
如果有恶意的人使用特权帐户进入您的系统,那么将文件系统以只读方式挂载对您并没有太大帮助,因为如果底层媒体不是只读的,攻击者只需重新以读写方式挂载即可。
除非您有非常充分的理由启用它,否则我不会启用它。我个人认为,良好的备份与良好的日志数据相结合,可以显示谁在何时更改了什么,这更为有用。设置不在 root 帐户下运行的服务并正确配置文件系统权限也更为有用。