华盾作为一个强制安装的内容过滤系统,无法适应SELINUX安全规则。必须手动设置新的安全规则。主要的问题是:
1. mod_ibsys.so
1.1 作为apache的动态加载模块,需要设置
$ sudo chcon -t httpd_modules_t mod_ibsys.so
1.2 需要设置正确的execstack属性,防止缓冲区溢出攻击
$ sudo execstack -c mod_ibsys.so
2. ibsysServer 和 manutil.exe
1.1 ibsysServer和manutil.exe作为httpd启动后的新的进程,没有合适的domain类型,初步设置为httpd_exec_t
$ sudo chcon -t httpd_exec_t ibsysServer
$ sudo chcon -t httpd_exec_t manutil.exe
1.2 ibsysServer 最大的问题在于没有正确的execmem权限设置!安全类公司对操作系统本身的安全机制不了解,是个很大的问题。
3. ibsserverpipe和ibsserverpipe_w
这两个命名管道估计是mod_ibsys.so和ibsysServer通讯用的。也没有正确的selinux类型,先设置成httpd_sys_content_t
4. 管理页面目录需要设置成httpd_sys_content_t
5. 修复缺少的type和domain
5.1 生成type enfore文件(最大的缺点是execmem权利,慎用)
$ audit2allow -a -m ibsys > ibsys.te
$ cat ibsys.te
module ibsys 1.0;
require {
type httpd_t;
type httpd_sys_content_t;
class process execmem;
class fifo_file { read write create unlink getattr };
}
#============= httpd_t ==============
allow httpd_t httpd_sys_content_t:fifo_file { read write create unlink getattr };
allow httpd_t self:process execmem;