溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行l(wèi)inux SELinux入門

發(fā)布時(shí)間:2022-01-21 11:24:58 來源:億速云 閱讀:180 作者:柒染 欄目:開發(fā)技術(shù)

小編今天帶大家了解如何進(jìn)行l(wèi)inux  SELinux入門,文中知識(shí)點(diǎn)介紹的非常詳細(xì)。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內(nèi)容,希望能夠幫助更多想解決這個(gè)問題的朋友找到問題的答案,下面跟著小編一起深入學(xué)習(xí)“如何進(jìn)行l(wèi)inux  SELinux入門”的知識(shí)吧。

如果你在之前的Linux生涯中都禁用或忽略了SELinux,下面進(jìn)行對(duì)存在于Linux桌面或服務(wù)器之下的SELinux系統(tǒng)的介紹,它能夠限制權(quán)限,甚至消除程序或守護(hù)進(jìn)程的脆弱性而造成破壞的可能性。

回到Kernel 2.6 時(shí)代,那時(shí)候引入了一個(gè)新的安全系統(tǒng),用以提供訪問控制安全策略的機(jī)制。這個(gè)系統(tǒng)就是Security Enhanced Linux (SELinux),它是由美國(guó)國(guó)家安全局(NSA)貢獻(xiàn)的,它為L(zhǎng)inux內(nèi)核子系統(tǒng)引入了一個(gè)健壯的強(qiáng)制控制訪問Mandatory Access Control架構(gòu)。

在我開始之前,你應(yīng)該已經(jīng)了解的是SELinux主要是紅帽Red Hat Linux以及它的衍生發(fā)行版上的一個(gè)工具。類似地, Ubuntu 和 SUSE(以及它們的衍生發(fā)行版)使用的是 AppArmor。SELinux和AppArmor 有顯著的不同。你可以在SUSE,openSUSE,Ubuntu等等發(fā)行版上安裝SELinux,但這是項(xiàng)難以置信的挑戰(zhàn),除非你十分精通 Linux,說了這么多,讓我來向你介紹SELinux。

DAC vs. MAC

Linux上傳統(tǒng)的訪問控制標(biāo)準(zhǔn)是自主訪問控制Discretionary Access Control(DAC)。在這種形式下,一個(gè)軟件或守護(hù)進(jìn)程以User ID(UID)或Set owner User ID(SUID)的身份運(yùn)行,并且擁有該用戶的目標(biāo)(文件、套接字、以及其它進(jìn)程)權(quán)限。這使得惡意代碼很容易運(yùn)行在特定權(quán)限之下,從而取得訪問關(guān)鍵的子系統(tǒng)的權(quán)限。

另一方面,強(qiáng)制訪問控制Mandatory Access Control(MAC)基于保密性和完整性強(qiáng)制信息的隔離以限制破壞。該限制單元獨(dú)立于傳統(tǒng)的Linux安全機(jī)制運(yùn)作,并且沒有超級(jí)用戶的概念。

SELinux如何工作

考慮一下SELinux的相關(guān)概念:

  • 主體Subjects

  • 目標(biāo)Objects

  • 策略Policy

  • 模式Mode

  • 當(dāng)一個(gè)主體Subject(如一個(gè)程序)嘗試訪問一個(gè)目標(biāo)Object(如一個(gè)文件),SELinux安全服務(wù)器SELinux Security Server(在內(nèi)核中)從策略數(shù)據(jù)庫(kù)Policy Database中運(yùn)行一個(gè)檢查?;诋?dāng)前的模式mode,如果 SELinux 安全服務(wù)器授予權(quán)限,該主體就能夠訪問該目標(biāo)。如果SELinux安全服務(wù)器拒絕了權(quán)限,就會(huì)在/var/log/messages中記錄一條拒絕信息。

    聽起來相對(duì)比較簡(jiǎn)單是不是?實(shí)際上過程要更加復(fù)雜,但為了簡(jiǎn)化介紹,只列出了重要的步驟。

    模式

    SELinux 有三個(gè)模式(可以由用戶設(shè)置)。這些模式將規(guī)定 SELinux 在主體請(qǐng)求時(shí)如何應(yīng)對(duì)。這些模式是:

  • Enforcing 強(qiáng)制— SELinux 策略強(qiáng)制執(zhí)行,基于 SELinux 策略規(guī)則授予或拒絕主體對(duì)目標(biāo)的訪問

  • Permissive 寬容— SELinux 策略不強(qiáng)制執(zhí)行,不實(shí)際拒絕訪問,但會(huì)有拒絕信息寫入日志

  • Disabled 禁用— 完全禁用SELinux

  • 如何進(jìn)行l(wèi)inux  SELinux入門(getenforce命令顯示SELinux的狀態(tài)是Enforcing啟用狀態(tài))

    默認(rèn)情況下,大部分系統(tǒng)的SELinux設(shè)置為Enforcing。你要如何知道你的系統(tǒng)當(dāng)前是什么模式?你可以使用一條簡(jiǎn)單的命令來查看,這條命令就是 getenforce。這個(gè)命令用起來難以置信的簡(jiǎn)單(因?yàn)樗鼉H僅用來報(bào)告SELinux的模式)。要使用這個(gè)工具,打開一個(gè)終端窗口并執(zhí)行 getenforce 命令。命令會(huì)返回 Enforcing、Permissive,或者Disabled(見上圖)。

    設(shè)置SELinux的模式實(shí)際上很簡(jiǎn)單——取決于你想設(shè)置什么模式。記住:永遠(yuǎn)不推薦關(guān)閉 SELinux。為什么?當(dāng)你這么做了,就會(huì)出現(xiàn)這種可能性:你磁盤上的文件可能會(huì)被打上錯(cuò)誤的權(quán)限標(biāo)簽,需要你重新標(biāo)記權(quán)限才能修復(fù)。而且你無法修改一個(gè)以 Disabled 模式啟動(dòng)的系統(tǒng)的模式。你的最佳模式是Enforcing或者Permissive。

    你可以從命令行或/etc/selinux/config文件更改SELinux的模式。要從命令行設(shè)置模式,你可以使用setenforce工具。要設(shè)置Enforcing模式,按下面這么做:

    1.打開一個(gè)終端窗口
    2.執(zhí)行su然后輸入你的管理員密碼
    3.執(zhí)行setenforce 1
    4.執(zhí)行g(shù)etenforce確定模式已經(jīng)正確設(shè)置(如下圖)
    如何進(jìn)行l(wèi)inux  SELinux入門
    要設(shè)置模式為Permissive,這么做:
    1.打開一個(gè)終端窗口
    2.執(zhí)行su然后輸入你的管理員密碼
    3.執(zhí)行setenforce 0
    4.執(zhí)行g(shù)etenforce確定模式已經(jīng)正確設(shè)置(如下圖)
    如何進(jìn)行l(wèi)inux  SELinux入門
    注:通過命令行設(shè)置模式會(huì)覆蓋 SELinux 配置文件中的設(shè)置。
    如果你更愿意在SELinux命令文件中設(shè)置模式,用你喜歡的編輯器打開那個(gè)文件找到這一行:

SELINUX=permissive

你可以按你的偏好設(shè)置模式,然后保存文件。
還有第三種方法修改SELinux的模式(通過 bootloader),但我不推薦新用戶這么做。

策略類型

SELinux策略有兩種:
Targeted目標(biāo) — 只有目標(biāo)網(wǎng)絡(luò)進(jìn)程(dhcpd,httpd,named,nscd,ntpd,portmap,snmpd,squid,以及 syslogd)受保護(hù)
Strict嚴(yán)格 — 對(duì)所有進(jìn)程完全的SELinux保護(hù)
你可以在/etc/selinux/config文件中修改策略類型。用你喜歡的編輯器打開這個(gè)文件找到這一行:

SELINUXTYPE=targeted

修改這個(gè)選項(xiàng)為targeted或strict以滿足你的需求。

檢查完整的SELinux狀態(tài)

有個(gè)方便的SELinux 工具,你可能想要用它來獲取你啟用了SELinux的系統(tǒng)的詳細(xì)狀態(tài)報(bào)告。這個(gè)命令在終端像這樣運(yùn)行:

sestatus -v

你可以看到像下圖這樣的輸出。
如何進(jìn)行l(wèi)inux  SELinux入門

感謝大家的閱讀,以上就是“如何進(jìn)行l(wèi)inux  SELinux入門”的全部?jī)?nèi)容了,學(xué)會(huì)的朋友趕緊操作起來吧。相信億速云小編一定會(huì)給大家?guī)砀鼉?yōu)質(zhì)的文章。謝謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI