精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

管理SELinux策略:優化故障排除及訪問控制

責任編輯:editor005

作者:Jack Wallen

2017-03-09 14:35:32

摘自:TechTarget中國

摘要:如果您的新部署的SaaS應用程序或任何您剛剛開發的系統或服務由于SELinux而無法運行,最好的辦法是在允許模式(Permissive)下進行故障排除。

如果您的新部署的SaaS應用程序或任何您剛剛開發的系統或服務由于SELinux而無法運行,最好的辦法是在允許模式(Permissive)下進行故障排除。

SELinux在日志事件記錄方面的SELinux模式分為不同的三類——增強(Enforcing)、允許(Permissive)以及禁用(Disabled)——這也展示了管理員在SELinux系統內部如何能夠確保應用程序安全并排除故障。

安全增強型Linux是具有先進的訪問控制機制,內置于大多數現代Linux發行版。隨著安全增強型Linux的到位,管理員使用策略可以實現更好的安全管理。

但這些策略不僅是系統安全的關鍵,也是其功能實現的關鍵。例如,安全增強型Linux(Security-Enhanced Linux)允許應用程序查詢策略;管理員控制流程的初始化、繼承并執行程序;同時管理員管理文件、文件系統、目錄、套接字,打開文件描述符、通訊接口和網絡接口。其也同樣允許已發生策略的調整,具備更改SELinux策略而不需要重新啟動系統的能力。

SELinux通過實施強制訪問控制(Mandatory Access Control,MAC)基礎上的自主訪問控制(Discretionary Access Control,DAC)來實現防止系統被入侵。DAC限制訪問對象或資源,如文件、套接字、管道或網絡接口,基于主題或流程的特定身份,和/或主題所屬于的群組。MAC限制主題訪問對象或在對象或目標上運行的某種操作的能力。

SELinux模式

SELinux可設置為三種不同的模式:

增強(Enforcing):SELinux基于SELinux的策略拒絕訪問;

允許(Permissive):SELinux不拒絕訪問,但會記錄所有拒絕行為;以及

禁用(Disabled):SELinux不可用狀態。

并不推薦將SELinux設置為禁用模式。某些時候,管理員使用此模式是因為SELinux系統復雜,如果管理不善,可以輕易造成對應用程序功能的影響。例如,管理員可能會推出軟件即服務(SaaS)類型的應用程序,隨后發現它沒有正確地運行。在迅速地查看過日志文件后,管理員發現SELinux是罪魁禍首,因此將其關閉——但這會使強大的安全工具失去作用。

利用SELinux進行故障排除

工作很扎實。這是管理員在出現問題時應該始終最先關注的內容。默認情況下,SELinux會將所有內容記錄在/var/log/audit/audit.log中。當某一應用程序的功能出錯——假設您很確定問題不是出在應用程序的代碼——那么SELinux日志文件是您排除故障首先要關注的內容。標準的用戶必須使用su命令來獲得查看SELinux日志的權限(如圖A)。

CentOS 7服務器上的SELinux的日志文件

梳理審計日志的過程可能會很繁瑣,但它可以幫助了解究竟發生了什么問題。具體查看顯示拒絕的條目。這些條目將列出諸如進程ID、用戶ID、請求的權限、進程命令和目標名稱等信息。有了這些信息,您會發現為什么SELinux無法與您的應用程序/服務協同工作。

GUI的替代

如果碰巧運行的服務器上具有GUI(圖形化用戶界面),SELinux Alert Browser是一件必備的工具。當SELinux發現了某項問題,將會進行報警。點擊報警信息,輸入您的root用戶密碼,同時SELinux警告瀏覽器就會出現。

在初期,SELinux應該被設置為增強模式。如果SELinux在您的應用程序或服務中發現了問題,它便會拒絕其運行。您可以將默認策略從增強模式更改為允許模式,這樣SELinux會允許服務運行,同時記錄下所有用于排除問題的日志內容。當您遇到這樣的問題時,您可以按照以下步驟從增強模式切換到允許模式:

1.打開終端窗口;

2.輸入sudo nano /etc/sysconfig/selinux命令;

3.將SELINUX=enforcing更改為SELINUX=permissive;

4.保存并關閉文件;

5.重新啟動服務器;

為確保狀態已發生變化,輸入命令sestatus。這個命令會告訴您一切您需要知道的關于SELinux的當前狀態(如圖B)。

SELinux已經被切換為允許模式。

在當前狀態下,您的應用程序將會運行,并且SELinux將記錄所有拒絕行為,以便您能夠定位問題所在。

更改SELinux策略

舉例來說,您有一個SaaS的應用程序,想通過Apache服務器運行,這是不正常的。

假設Apache已經從某一可變換的文檔root運行網站服務,這就很可能是SELinux遇到問題的原因。我們例子中可變換的文檔root所在位置是/srv/www/。您在Apache上設置的所有內容都是正確的,但是網站無法從可變換的文檔root中啟動運行。您通過/var/log/audit/audit.log日志文件發現SELinux是罪魁禍首。問題是,SELinux并不了解可變換的文檔root。

首先,找出某一合法的文件上的諸多細節,我們將使用/var/www/html/ index.html——從標準文檔root目錄就可以調整相應的替代文件root。要查找此信息,請輸入以下命令:

ls -lZ /var/www/html/index.html

該命令的輸出結果如圖C中顯示的那樣。

該命令的輸出結果是“ls -lZ /var/www/html/index.html”。

使用命令emanage fcontext -l | grep '/var/www'Kauai展示所有的fcontext條目,或者使用命令/var/www/ folder來展示所有文件內容,將返回同樣的內容類型,即例子中的httpd_sys_content_t。隨后,通過SELinux使這種類型的文件能夠在/srv/www/service.com/html目錄中啟用。為此,使用semanage命令幫助完成策略變更:

semanage fcontext -a -t httpd_sys_content_t '/srv/www(/.*)?'

上述的命令指示semanage添加新的httpd_sys_content_t類型fcontext,并將其應用到目錄/srv/www中,同樣適用于任何子目錄和文件。此時,輸入命令semanage fcontext -l | grep '/srv/www'來查看您/srv/www目錄中的文件,并驗證httpd_sys_content_t內容是否生效。現在輸入命令restorecon -Rv /srv/www,這將為/srv/www目錄重新標記設置適當的安全內容,新修訂的SELinux策略也同樣適用于任何子目錄和文件。

現在,Apache能夠在/srv/www目錄下提供服務內容而不會遭到SELinux的零星打斷。當您的問題解決完成,使用和SELinux從增強模式調整成允許模式同樣的方法,將SELinux從允許模式調整回增強模式。

鏈接已復制,快去分享吧

企業網版權所有?2010-2025 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 康马县| 开远市| 夏河县| 厦门市| 策勒县| 鲁山县| 保定市| 永和县| 勃利县| 通化市| 壶关县| 阿图什市| 河曲县| 吐鲁番市| 宁南县| 滨州市| 久治县| 宁阳县| 静海县| 志丹县| 新密市| 揭东县| 印江| 汾西县| 惠东县| 玛多县| 区。| 佛教| 靖江市| 肇源县| 闻喜县| 五家渠市| 恭城| 荥经县| 新泰市| 嘉义市| 鄂州市| 和硕县| 阿巴嘎旗| 当阳市| 巴楚县|