我们有一个运行Linux的设备,需要在其上运行不受信任的应用程序。我们试图缓解以下安全问题 -
我们考虑使用以下方法之一 - 方法1 - 使用SELinux作为沙盒
让我知道你的想法。
谢谢,
- 不受信任的应用程序不应对核心OS数据和二进制文件产生负面影响
- 不受信任的应用程序不应对其他应用程序的数据和二进制文件产生负面影响
- 不受信任的应用程序不应占用过多的CPU、内存或磁盘,并导致核心OS或其他应用程序出现DoS/资源饥饿的情况
我们考虑使用以下方法之一 - 方法1 - 使用SELinux作为沙盒
- 这个可能吗?我已经读了一些关于SELinux的文章,它看起来在设置策略文件和在运行时执行等方面有些复杂。 SELinux是否可以做到并限制不受信任的应用程序只能读/写自己的目录,同时能够设置配额限制?
在安装期间
- 为每个不受信任的应用程序创建一个新的应用程序用户
- 将整个应用程序目录和文件的权限设置为只有应用程序用户可以读取和写入
- 使用ulimit/quota为应用程序用户设置配额
在运行时,使用以下方式启动不受信任的应用程序
- 关闭所有已打开的文件描述符/句柄
- 使用chroot将根设置为应用程序目录
- 在应用程序用户的上下文中启动应用程序
让我知道你的想法。
谢谢,