分析SELinux日誌,排查SELinux故障
你終有一天會被 SELinux 阻止你訪問所需的東西,而且要解決這個問題。SELinux 拒絕某個文件、進程或資(zī)源(yuán)被訪(fǎng)問的(de)基要原因有數個:
1 一個被錯誤標簽的文件
2 一個進程在錯誤的 SELinux 安全性脈絡下運行(háng)
3 政策出錯。某個進程要訪問(wèn)一(yī)個在編寫政策時意料不到的文(wén)件,並產生錯誤信息
4 一(yī)個入侵的企圖。
頭三個(gè)情況我們可以處理,而第四個正正是預期的(de)表現。
先安裝setroubleshoot 組(zǔ)件(jiàn)。有的資料說他是(shì)默認安裝的,但在我的CentOS5.5上沒有。
yum install setroubleshoot
日誌檔是排除任何疑難的關鍵,而 SELinux 亦不例外。SELinux 缺省會通過 Linux 審(shěn)計係統(auditd)將日(rì)誌寫在 /var/log/audit/audit.log 內,而這項務(wù)服缺省(shěng)為啟用(yòng)的。假若 auditd 並未運行,信息將會被寫進 /var/log/messages。SELinux 的日(rì)誌(zhì)都被標簽有 AVC 這(zhè)個關鍵字,方便它(tā)們從其它信息中過濾出來。
由 CentOS 5 起,你可以用 SELinux 排除疑難工具協助你分析日誌檔,將它們轉換為供人閱(yuè)讀的格式(shì)。這個(gè)工具包(bāo)含(hán)一個以可讀格式顯示信息及解決方(fāng)案的圖像界麵(miàn)、一個桌麵(miàn)通報(bào)圖示、與及一個長駐進程(setroubleshootd),它負責查閱新的 SELinux AVC 警告並傳送至通報(bào)圖示(不運行 X 服務器的(de)話可設置以電(diàn)郵(yóu)通報)。SELinux 排除疑難工具是由 setroubleshoot 組件所提供,並缺省會被安裝。這個工具(jù)可以從「係統」選單或命令行引導:
sealert -b
不運行 X 服務器的人可(kě)以通過命令(lìng)行產生供人閱讀的報告(gào):
sealert -a /var/log/audit/audit.log > /path/to/mylogfile.txt
關鍵詞:SELinux
閱(yuè)讀本文(wén)後您有什麽感想? 已有 人(rén)給出評價!
- 0
- 0
- 0
- 0
- 0
- 0