security - 阻止我的程序访问文件系统

标签 security chroot

我有一个程序可能会受到威胁,但最初需要 root 权限。目前,程序chroots进入预先配置的目录,然后删除权限。

但是,我想阻止我的程序在放弃 root 权限后完全访问文件系统,并且如果可能的话不需要任何配置。有没有比 creating a temporary directory 更好的方法在/tmp 中并 chroot 到它?

最佳答案

你基本上有两个选择:

  • 使用安全模块(例如 SELinux)将该进程与系统的其余部分隔离开

这是正确的做法,但需要学习框架并进行大量配置。您基本上可以设置策略,以便此进程或运行它的用户(或两者)无法访问系统的其余部分。

  • 劫持内核的文件系统调用以拒绝运行受感染程序的用户进行调用

这是一个不太优雅的解决方案,可能会对性能产生更大的影响,但只需要很少的配置,只需少量编码。我在我写的安全模块中做了类似的事情:

https://github.com/cormander/tpe-lkm

它与 execve、mmap、mprotect 和其他东西 Hook 。可以对打开、写入等执行相同的操作,并拒绝基于 uid 或 gid 甚至进程名称的系统调用。

关于security - 阻止我的程序访问文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650769/

相关文章:

.net - 我如何在 w2k8 中使用性能计数器

security - ABAP 安全存储 : how to store passwords?

Javascript 客户端身份验证(使用 SSL,不使用 OAuth2)?

linux - 在 ubuntu 中从 Chroot 内部运行服务器

java - MD5 不一致地为相同的密码生成相同的加密数据

java - 如何在 Android 客户端和 Java 服务器之间创建安全的 SSL 连接?

linux - 是否可以让 chroot jail 在 jail 外共享目录(只读)?

python - 调试在 chroot 环境中执行的 python 脚本

ubuntu - 如何为 jenkins build设置 chroot?

shell - FileZilla 打破 rbash 和 scponly chrooting