国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

SELinux auditd日志使用方法詳解

2024-08-27 23:56:20
字體:
來源:轉載
供稿:網友
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/sbin/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
# /sbin/restorecon -v /var/www/html/index.html
#提示非常明確,只要運行以上命令,即可修復index.html文件的問題

有了這些日志分析工具,我們就能夠處理常見的 SELinux 錯誤了。這些工具非常好用,要熟練掌握。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺平县| 遂溪县| 达日县| 永平县| 孝感市| 保康县| 余江县| 嘉定区| 普陀区| 定远县| 民县| 那坡县| 乡宁县| 正镶白旗| 苏州市| 乳源| 扎囊县| 无锡市| 霸州市| 波密县| 鲁甸县| 遂川县| 英山县| 仪征市| 黔东| 桐城市| 上蔡县| 伊吾县| 枣庄市| 阳山县| 丰县| 尤溪县| 漳平市| 鄂尔多斯市| 高阳县| 三原县| 手游| 大田县| 井冈山市| 新宁县| 宁强县|