SELinux auditd日志使用方法详解
auditd 会把 SELinux 的信息都记录在 /var/log/auditd/auditd.log 中。这个文件中记录的信息会非常多,如果手工查看,则效率将非常低下。比如笔者的 Linux 中这个日志的大小就有 386KB。
[root@localhost ~]# ll -h /var/log/audit/audit.log
-rw-------.1 root root 386K 6月 5 15:53 /var/log/audit/audit.log
而且我们这里的 Linux 只是实验用的虚拟机,如果是真正的生产服务器,那么这个日志的大小将更加恐怖(注意:audit.log 并没有自动加入 logrotate 日志轮替当中,需要手工让这个日志进行轮替)。所以,如果我们手工查看这个日志,那么效率会非常低下。还好,Linux 较为人性化,给我们准备了几个工具,来帮助我们分析这个日志,下面分别来学习一下。
audit2why令
audit2why 令用来分析 audit.log 日志文件,并分析 SELinux 为什么会拒绝进程的访问。也就是说,这个令显示的都是 SELinux 的拒绝访问信息,而正确的信息会被忽略。令的格式也非常简单,如下:[root@localhost ~]# audit2why < 日志文件名
例如:[root@localhost ~]# audit2why < /var/log/audit/audit.log
type=AVC msg=audit(1370412789.400:858): avc: denied { getattr ) for pid=25624 comm="httpd" path="/var/www/htirl/index.html" dev=sda3 ino=918426
scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
#这条信息的意思是拒绝7 PID 是 25624的进程访间"/var/uww/html/Index.html",原因是主体的安全上下文和目标的安全上下文不匹配。其中,denied代表拒绝,path指定目标的文件名,scontext代表全体的安全上下文。tcontext代表目标的安全上下文,仔细看看,其实就是主体的安全上下文类型httpd_t和目标的安全上下文类型var_t不匹配导致的
Was caused by:
Missing type enforcement (TE) allow rule.
You can use audit2allow to generate a loadable module to allow this access.
#给你的处理建议是使用audi t2allow令来再次分析这个曰志文件
audit2allow令
audit2allow 令的作用是分析日志,并提供允许的建议规则或拒绝的建议规则。这么说很难理解,我们还是尝试一下吧,令如下:[root@localhost ~]# audit2allow -a /var/log/audit/audit.log
#选项-a:指定日志文件名
#============= httpd_t ==============
allow httpd_t var_t:file getattr;
#提示非常简单,我们只需定义一个规则,允许httpd_t类型对var_t类型拥有getattr权限,即可解决这个问题
可是我们到现在还没有学习如果修改策略规则,这该如何是好?其实像这种因为主体和目标安全上下文类型不匹配的问题,全部可以使用 restorecon 令恢复目标(文件)的安全上下文为默认安全上下文,即可解决问题,简单方便,完全不用自己定义规则。但是 audit2allow 令对其他类型的 SELinux 错误还是很有帮助的。sealert令
sealert 令是 setroubleshoot 客户端工具,也就是 SELinux 信息诊断客户端工具。虽然 setroubleshoot 服务已经不存在了,但是 sealert 令还是可以使用的。令格式如下:[root@localhost ~]# sealert [选项] 日志文件名
选项:
-a:分析指定的日志文件;
也使用这个工具分析一下我们的 audit.log 日志,令如下:
[root@localhost ~]# sealert -a /var/log/audit/audit.log
100% done'tuple' object has no attribute 'split'
100% donefound 2 alerts in /var/log/audit/audit.log
———————————————————————————————————————————————————
SELinux is preventing /usr/in/httpd from getattr access on the 文 件 /var/www/html/index.html.
***插件 restorecon (94.8 置信度) 建议 *********************************
If 您想要修复标签。
/var/www/html/index.html 默认标签应为 httpd_sys_content_t。
Then 您可以运行 restorecon。
Do
# /in/restorecon -v /var/www/html/index.html
#提示非常明确,只要运行以上令,即可修复index.html文件的问题
有了这些日志分析工具,我们就能够处理常见的 SELinux 错误了。这些工具非常好用,要熟练掌握。
- 随机文章
- 小说 马尔代夫 姐妹(姐妹情深:马尔代夫旅行记)
- 东航 马尔代夫 飞机(东航开通马尔代夫航线,带您飞往度假天堂)
- 悉尼-马尔代夫(澳洲疫情好转,悉尼至马尔代夫航线重新开通)
- 深圳 马尔代夫 旅行社(深圳旅行社推出马尔代夫套餐,享受海岛度假!)
- 儿童马尔代夫睡衣(儿童马尔代夫主题睡衣,温馨又可爱!)
- 嘉祥嘉祥马尔代夫(嘉祥开设全新的度假村,位于马尔代夫)
- 白尼 马尔代夫(白尼岛:马尔代夫的天堂)
- 孟津马尔代夫音乐(孟津少年在马尔代夫探索当地音乐文化)
- 中国马尔代夫酒吧(中资酒吧进军马尔代夫:提供多元体验)
- 新都马尔代夫火锅(品尝正宗马尔代夫火锅,畅享新都美味)
- 蓟县 马尔代夫(蓟县打造马尔代夫风情小镇)
- 日照马尔代夫图片(探索日照马尔代夫:美丽风景尽收眼底)
- 蓝色 马尔代夫(马尔代夫蓝色的旅行)
- 印度拖鞋马尔代夫(印度拖鞋入侵马尔代夫:当地居民抗议)
- 蜜月 毛里求斯 马尔代夫(度假胜地:毛里求斯与马尔代夫)
- 武汉马尔代夫包机(武汉包机飞往马尔代夫,接回滞留旅客)
- 泰国马尔代夫宾馆(泰国酒店违规重建致马尔代夫宾馆关闭)
- 泰和马尔代夫健身(泰和马尔代夫:打造完美健身度假之旅)
- 增城马尔代夫夜市(增城夜市变身马尔代夫,海岛风味来袭)
- 海沟 马尔代夫(《海底奇观:马尔代夫的海沟》)
- 网红芜湖马尔代夫(芜湖旅游网红云集,马尔代夫成为新宠)
- 老湿解说马尔代夫(老湿解说马尔代夫:美到窒息的天堂!)
- 模范老爸马尔代夫(马尔代夫旅行成为最佳模范老爸的回报)
- 珊瑚浮潜马尔代夫(探索马尔代夫绝美珊瑚世界:浮潜之旅)
- 中国马尔代夫比分(中国队与马尔代夫队足球比赛结果发布)
- 马尔代夫之行全集(探索马尔代夫:一场梦幻般的环礁旅行)
- 许诺 马尔代夫(马尔代夫承诺让您的海滩之旅更加美好)
- 马尔代夫什么软件(后的为:探秘马尔代夫的软件使用方式)
- 马尔代夫到与排名(重排名!马尔代夫直飞,全网最低价!)
- 安徽马尔代夫公园(安徽打造仿佛置身海岛的马尔代夫公园)
