新聞中心

成都創(chuàng)新互聯(lián)公司專注于霍州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供霍州營(yíng)銷型網(wǎng)站建設(shè),霍州網(wǎng)站制作、霍州網(wǎng)頁(yè)設(shè)計(jì)、霍州網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造霍州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供霍州網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
[root@localhost ~]# ll -h /var/log/audit/audit.log
-rw-------.1 root root 386K 6月 5 15:53 /var/log/audit/audit.log
而且我們這里的 Linux 只是實(shí)驗(yàn)用的虛擬機(jī),如果是真正的生產(chǎn)服務(wù)器,那么這個(gè)日志的大小將更加恐怖(注意:audit.log 并沒(méi)有自動(dòng)加入 logrotate 日志輪替當(dāng)中,需要手工讓這個(gè)日志進(jìn)行輪替)。所以,如果我們手工查看這個(gè)日志,那么效率會(huì)非常低下。
還好,Linux 較為人性化,給我們準(zhǔn)備了幾個(gè)工具,來(lái)幫助我們分析這個(gè)日志,下面分別來(lái)學(xué)習(xí)一下。
audit2why命令
audit2why 命令
用來(lái)分析 audit.log 日志文件,并分析 SELinux 為什么會(huì)拒絕進(jìn)程的訪問(wèn)。也就是說(shuō),這個(gè)命令顯示的都是 SELinux 的拒絕訪問(wèn)信息,而正確的信息會(huì)被忽略。命令的格式也非常簡(jiǎn)單,如下:
[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的進(jìn)程訪間"/var/uww/html/Index.html",原因是主體的安全上下文和目標(biāo)的安全上下文不匹配。其中,denied代表拒絕,path指定目標(biāo)的文件名,scontext代表全體的安全上下文。tcontext代表目標(biāo)的安全上下文,仔細(xì)看看,其實(shí)就是主體的安全上下文類型httpd_t和目標(biāo)的安全上下文類型var_t不匹配導(dǎo)致的
Was caused by:
Missing type enforcement (TE) allow rule.
You can use audit2allow to generate a loadable module to allow this access.
#給你的處理建議是使用audi t2allow命令來(lái)再次分析這個(gè)曰志文件
audit2allow命令
audit2allow 命令
的作用是分析日志,并提供允許的建議規(guī)則或拒絕的建議規(guī)則。這么說(shuō)很難理解,我們還是嘗試一下吧,命令如下:
[root@localhost ~]# audit2allow -a /var/log/audit/audit.log
#選項(xiàng)-a:指定日志文件名
#============= httpd_t ==============
allow httpd_t var_t:file getattr;
#提示非常簡(jiǎn)單,我們只需定義一個(gè)規(guī)則,允許httpd_t類型對(duì)var_t類型擁有g(shù)etattr權(quán)限,即可解決這個(gè)問(wèn)題
可是我們到現(xiàn)在還沒(méi)有學(xué)習(xí)如果修改策略規(guī)則,這該如何是好?其實(shí)像這種因?yàn)橹黧w和目標(biāo)安全上下文類型不匹配的問(wèn)題,全部可以使用 restorecon 命令恢復(fù)目標(biāo)(文件)的安全上下文為默認(rèn)安全上下文,即可解決問(wèn)題,簡(jiǎn)單方便,完全不用自己定義規(guī)則。但是 audit2allow 命令對(duì)其他類型的 SELinux 錯(cuò)誤還是很有幫助的。
sealert命令
sealert 命令
是 setroubleshoot 客戶端工具,也就是 SELinux 信息診斷客戶端工具。雖然 setroubleshoot 服務(wù)已經(jīng)不存在了,但是 sealert 命令還是可以使用的。命令格式如下:
[root@localhost ~]# sealert [選項(xiàng)] 日志文件名
選項(xiàng):
- -a:分析指定的日志文件;
也使用這個(gè)工具分析一下我們的 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/sbin/httpd from getattr access on the 文 件 /var/www/html/index.html.
***插件 restorecon (94.8 置信度) 建議 *********************************
If 您想要修復(fù)標(biāo)簽。
/var/www/html/index.html 默認(rèn)標(biāo)簽應(yīng)為 httpd_sys_content_t。
Then 您可以運(yùn)行 restorecon。
Do
# /sbin/restorecon -v /var/www/html/index.html
#提示非常明確,只要運(yùn)行以上命令,即可修復(fù)index.html文件的問(wèn)題
有了這些日志分析工具,我們就能夠處理常見(jiàn)的 SELinux 錯(cuò)誤了。這些工具非常好用,要熟練掌握。
本文名稱:SELinuxauditd日志使用方法詳解
分享URL:http://m.fisionsoft.com.cn/article/cojdeed.html


咨詢
建站咨詢
