SELinux入門的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)SELinux入門的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的海豐網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

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

在我開始之前,你應(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)作,并且沒有超級用戶的概念。

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ù)庫Policy Database中運(yùn)行一個(gè)檢查。基于當(dāng)前的模式mode,如果 SELinux 安全服務(wù)器授予權(quán)限,該主體就能夠訪問該目標(biāo)。如果 SELinux 安全服務(wù)器拒絕了權(quán)限,就會(huì)在 /var/log/messages 中記錄一條拒絕信息。

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

模式

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

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

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

  • Disabled 禁用— 完全禁用 SELinux

SELinux入門的示例分析

圖 1:getenforce 命令顯示 SELinux 的狀態(tài)是 Enforcing 啟用狀態(tài)。

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

設(shè)置 SELinux 的模式實(shí)際上很簡單——取決于你想設(shè)置什么模式。記?。河肋h(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 模式,按下面這么做:

  • 打開一個(gè)終端窗口

  • 執(zhí)行 su 然后輸入你的管理員密碼

  • 執(zhí)行 setenforce 1

  • 執(zhí)行 getenforce 確定模式已經(jīng)正確設(shè)置(圖 2)

SELinux入門的示例分析

圖 2:設(shè)置 SELinux 模式為 Enforcing。

要設(shè)置模式為 Permissive,這么做:

  • 打開一個(gè)終端窗口

  • 執(zhí)行 su 然后輸入你的管理員密碼

  • 執(zhí)行 setenforce 0

  • 執(zhí)行 getenforce 確定模式已經(jīng)正確設(shè)置(圖 3)

SELinux入門的示例分析

圖 3:設(shè)置 SELinux 模式為 Permissive。

注:通過命令行設(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)格 — 對所有進(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

你可以看到像圖 4 那樣的輸出。

SELinux入門的示例分析

圖 4:sestatus -v 命令的輸出。

感謝各位的閱讀!關(guān)于“SELinux入門的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:SELinux入門的示例分析-創(chuàng)新互聯(lián)
文章起源:http://muchs.cn/article36/ddjgpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名