SELinux中的audit2allow命令

audit2allow的使用方法。

简介

audit2allow可以根据selinux日志文件中的denied信息生成allow的策略文件,然后再将策略模块加载进内核即可生效。
首选选择一个软件,以tcpdump为例,将其运行一段时间,此时selinux日志中会记录被拒绝的操作。然后使用audit2allow将操作被拒绝的日志信息转为策略文件并加载到内核,再运行tcpdump,即可发现日志文件没有tcpdump的拒绝信息了。

环境

  • fedroa/centos
  • selinux宽容模式

步骤

  • 安装tcpdump(我的系统已经有该程序,就不用再安装了)
  • 确保此时处在宽容模式了。
  • 可以先清空一下日志文件,或者记录日志文件现有的行数,为下一步做准备
  • 打开tcpdump,正常使用一下
  • 此时日志文件里已经出现tcpdump相关操作的denied信息,将这些信息单独拷贝到一个文件中

    1
    cat /var/log/audit/audit.log | grep tcpdump >avc.txt
  • 使用audit2allow命令(加-M参数可直接生成策略模块)

    1
    2
    3
    4
    audit2allow -M tcpdump -i avc.txt   
    #此时输出信息会提醒你使用semodule命令将刚生成的tcpdump.pp(在当前目录下)加载到内核

    semodule -i tcpdump.pp
  • 再次打开日志文件,记录总行数n。

  • 再次正常运行tcpdump,然后查看selinux的日志文件中n行之后不再输出denied的信息。

参考

欢迎与我分享你的看法。
转载请注明出处:http://taowusheng.cn/