3.4 summary

SELinux在内核中是以LSM模型实现的.SELinux使用贯穿内核的LSM钩子来控制内核资源的访问.访问决策是由SELinux的安全服务器制定的,安全服务器是SELinux的LSM模型的一部分.被安全服务器强制执行的安全策略通过一个特权级的用户空间接口加载到内核中.AVC为访问验证提供了性能上的提升.

SELinux通过libselinux库支持用户空间的客体管理.在他的基本形式中,内核安全服务器直接提供访问验证,然而那个安全库包含每一个过程的AVC.这一方法要求内核要为所有的用户空间管理器保持策略并且了解所有的用户空间客体类.

新兴的策略服务器体系结构通过提供一个用户空间安全服务器来提供对用户空间客体管理器的支持,用户空间安全服务器会强制执行和用户空间客体相关的策略部分,因此,减轻了内核需要知道用户空间客体类和策略规则的需求.策略服务器也会对它本身的策略提供细粒度的访问控制,允许策略管理验证的分配.

SELinux策略是非常巨大和复杂的,所以,有必要让他以多个模型的集合构建.一个常用的方法就是使用源模块,在源模块中,所有的模块都以一个单一的,整体的模块的一部分被构建的.这是一个在Red hat Enterprise Linux 4 和 Fedora Core 4中被使用的方法.

另外一种模块化的方法就是提供可加载模块,在可加载模块中,策略大部分是以依赖于其他模块被构建的,并且在一个正在运行的系统上在安装的时候组合起来.在可加载模块实例中,基本模块是以和整体策略相似的方式创建的,但是,基本模块是更加轻型并且更关注核心操作系统.附加的软件包将会有他们自己的策略部分,这些策略将作为分离的可加载模块被安装.这是被FC5采用的一种方式.

CheckPolicy是策略编译器,他能够整合出一个完整的策略源文件(policy.conf),并且验证文件中的语法和语义上的错误然后创建一个二进制策略文件.在可加载模块案例中,checkpolicy编译基本策略模块,程序checkmodule编译单独的可加载模块.

你可能感兴趣的:(Seandroid,可加载模块,checkpolic)