embedded-linux – 在沙盒中的Linux上运行不受信任的应用程序
我们有一台运行
Linux的设备,我们需要在此上运行不受信任的应用程序.我们正在努力减轻以下安全问题 –
>不受信任的应用程序不应该对核心OS数据和二进制文件产生负面影响 从不受信任的应用程序角度来看,它只需要能够读取和写入自己的目录,也可能是已安装的USB驱动器 我们正在考虑使用以下方法之一 – 方法1 – 使用SELinux作为沙箱 >这可能吗?我已经阅读了一些SELinux,它在设置策略文件和在运行时强制执行等方面看起来有点复杂.SELinux可以这样做并限制不受信任的应用程序只读/写自己的目录,也能够设定配额限制? 方法2 – 自己创建一个新的沙箱 >在安装期间 >为每个不受信任的应用程序创建一个新的应用程序用户 >在运行时,使用启动不受信任的应用程序 >关闭所有打开的文件描述符/句柄 关于上述的想法?哪种方法比另一种更安全?还有其他方法可能更好吗?由于某些原因,我们无法选择移动Android,因此我们无法使用Android本身提供的沙盒功能… 让我知道 谢谢, 解决方法
SELinux是一组规则,应用程序与用户权限相似,甚至更复杂.您可以在每个进程中使用它来设置该进程的域,并允许或拒绝几乎任何访问.它意味着访问文件,网络或进程/线程.这样它就可以用作一种沙箱.但是,您必须为每个进程准备一个规则集,或者您可以创建一个必须在沙盒应用程序之前运行的脚本来自行准备规则.
如果要控制CPU消耗,SELinux没有CPU规划器,因为任何规则只有两个逻辑结果中的一个“允许”或“拒绝”访问.我建议你’cgroups’来控制CPU消耗. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |