日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

应用SELinux中的目标策略限制进程运行

發布時間:2025/3/17 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用SELinux中的目标策略限制进程运行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文請見:http://netsecurity.51cto.com/art/201110/295978.htm

?

一、安裝SELinux相關的安裝包

雖然在有的Linux發行套件中已經缺省安裝了SELinux(例如Fedora 10和Red Hat Enterprise Linux 5、6),然而用戶還是需要了解具體安裝SELinux所需要的安裝包,下面對他們進行簡要介紹,主要包括如下幾個部分:

Policycoreutils:提供與SELinux相關的命令,比如semanage,restorecon,audit2allow,semodule,load_policy,以及setsebool等,來操作和管理SELinux。

Policycoreutils-gui:提供圖形化的工具system-config-selinux來管理SELinux。

Selinux-policy:提供SeLinux應用策略。該應用策略包括了所有的SELinux策略,并作為其他諸如目標策略(targeted policy)的基礎使用。

Selinux-policy-policy:提供SELinux策略。對于目標策略,安裝selinux-policy-targeted包,對于MLS策略,則安裝selinux-policy-mls包。需要說明的是:在Fedora 8中,strict策略與目標策略結合在一起。

Setroubleshoot-server:翻譯SELinux拒絕操作信息,成為sealert軟件可以查看的詳細描述信息。

Setools,setools-gui和setools-console:這些安裝包提供了與SELinux有關的策略分析和檢索、審計日志監控、文件上下文管理等命令和工具。

Libselinux-utils:提供諸如avsstat,getenforce,getsebool,matchpathcon,selinuxconlist,selinuxdefcon,selinuxenabled,setenforce,togglesebools等工具。

Mcstrans:提供對SELinux上下文中級別(比如s0-s0:c0.c1023)信息的翻譯工作,在缺省情況下該軟件包不安裝。

二、使用與SELinux有關的日志文件

SELinux有許多相關的日志文件來記錄在運行過程中對操作的拒絕日志,以便用戶在后續過程中進行審計評估。在缺省情況下,SELinux將拒絕日志寫入到/var/log/audit/audit.log文件中,該文件的部分內容顯示如圖1所示:

圖1 /var/log/audit/audit.log文件的部分內容顯示

另外,如果setroubleshooted運行的話,在/var/log/audit/audit.log中的記錄將被翻譯成容易理解和閱讀的方式,保存在/var/log/messages文件中:

圖2? var/log/messages文件的部分輸出

當然,拒絕信息被送到不同的地方,這要根據不同的守護進程而定表1列出了對應于不同的守護進程的日志文件的路徑:

表1?SELinux日志文件列表
守護進程 日志文件
auditd on /var/log/audit/audit.log
Auditd off; rsyslogd on /var/log/messages
Setroubleshootd, rsylogd, auditd on /var/log/audit/audit.log翻譯后存入/var/log/messages

為了啟動上述的守護進程,需要來分別配置auditd,rsyslogd以及setroubleshootd來使他們在系統啟動時自動運行,可以以root身份運行下述命令:

#/sbin/chkconfig -levels 2345 auditd on
#/sbin/chkconfig -levels 2345 rsyslogd on
#/sbin/chkconfig -levels 2345 setroubleshootd on

并且,可以使用如下命令檢查這些守護進程是否正常運行:

#/sbin/service auditd status
#/sbin/service rsyslogd status
#/sbin/service setroubleshootd status

?

三、啟動和禁用SELinux

啟動和禁用SELinux的步驟非常簡單,只需要修改其配置文件,然后執行重啟即可。以下是啟動SELinux的詳細步驟:

(1)編輯配置文件

根據上面的介紹,編輯確定SELinux的運行模式和活動策略(見下面配置文件中的黑體部分)即可:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#?? targeted - Targeted processes are protected.
#?? mls - Multi Level Security protection.
SELINUXTYPE=targeted

(2)使用getenforce命令和sestatus命令查看SELinux的運行模式和詳細上下文信息:

#/usr/sbin/getenforce
#/usr/sbin/sestatus

(3)使用root用戶身份重啟系統即可:

#reboot

同理,禁用SELinux的詳細步驟如下:

(1)?編輯配置文件

根據上面的介紹,編輯確定SELinux的運行模式和活動策略(見下面配置文件中的黑體部分)即可

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=diabled
# SELINUXTYPE= can take one of these two values:
#?? targeted - Targeted processes are protected.
#?? mls - Multi Level Security protection.
SELINUXTYPE=targeted

(2)?使用getenforce命令和sestatus命令查看SELinux的運行模式和詳細上下文信息

#/usr/sbin/getenforce
#/usr/sbin/sestatus

(3)?使用root用戶身份重啟系統即可

#reboot

四、目標策略原理

Targeted策略是從strict示例策略衍生而來的,它的結構和組織幾乎是一樣的,但strict策略更趨向于最大化使用SELinux所有特性,為大部分程序提供強壯的安全保護,而targeted策略的目標是隔離高風險程序,使用targeted策略的好處是一方面可以向Linux系統添加大量的安全保護,同時又盡量少影響現有的用戶程序,targeted策略主要集中于面向網絡的服務(即那些暴露在外任意遭受******的組件),targeted策略是RHEL和Fedora系統上標準的策略,因為它在增強安全性和減少對現有應用程序影響之間達到了一個很好的平衡。

如果安裝了targeted示例策略,可以在/etc/selinux/targeted/src/policy/目錄下看到它的源文件,從各個方面來看,targeted示例策略源與strict示例源都非常相似。

Targeted示例策略和strict示例策略之間主要的差異是使用了無限制的域類型unconfined_t,并移除了所有其他用戶域類型,如sysadm_t和user_t,這也意味著基本的角色結構也被移除了,所有用戶都以角色system_r運行,幾乎所有的用戶運行的程序都以unconfined_t域類型執行。當然,無限制域和限制域都需要接受可執行和可寫的內存檢查。在默認情況下,運行在無限制域下的主體不能分配可寫和可執行的內存,這個機制降低了系統遭受緩沖區溢出***(buffer overflow attack)的風險。當然,這些內存檢查可以通過設置下面需要詳細介紹的布爾變量來關掉,它使得SELinux策略可以在運行時得到修改。

用戶可以在./domain/unconfined.te中找到unconfined域定義,注意在targeted示例策略中,strict策略文件admin.te和user.te不再位于./domains/目錄下,這些文件為strict示例策略定義了各種各樣的用戶域,每一個都具有受限的特權,在targeted示例策略中,所有程序都以unconfined_t域類型運行,除非它們都明確地指定了域類型(因此稱其為targeted),本質上unconfined域可以訪問所有的SELinux類型,使它免除SELinux安全控制(因此成為unconfined)。在strict示例策略中,./domains/program/包括許多策略模塊,每個模塊代表一個或多個域類型和關聯的類型,以及為特定程序制定的規則。在targeted示例策略中,這個目錄包括的文件要少得多,這些就是目標。

目標示例策略模塊與strict策略中策略模塊類似,例如:strict ping模塊和targeted ping模塊是一致的,但有部分targeted模塊只是簡單地定義類型使域不受限制(不是targeted),例如:如果查看crond的targeted策略(crond.te),會發現有一行unconfined_domain(crond_t)。這個宏在targeted示例中定義在./policy/macros/global_macros.te文件中,它將crond域類型提供了所有SELinux訪問權,使得它不受限制,如果用戶將其域strict版本(/etc/selinux/strict/src/policy/domains/program/crond.te)crond模塊進行比較,會看到它們之間有很大的差異,在targeted策略中,crond被認為是不受限制的域,但在這兩個策略中ping卻保留是strict域。

五、應用目標策略限制進程運行

幾乎所有的服務進程都在限制下運行。并且,大多數以root身份運行的系統進程(比如說passwd進程)都是受限制域性的。當進程受限制時,它只能在自己限制的域內運行,例如Web服務進程httpd只能運行在httpd_t域內。如果一個受限制的進程被******并控制了,根據SELinux策略配置,這個***也僅僅只能訪問這個受限制的域,因此***所帶來的危害也比傳統的Linux小了很多。

以下通過一個具體的限制進程的例子(RHEL或者Fedora系統中的例子)來說明SELinux是如何將進程限制在自己的域內運行的。這個例子以用戶非常熟悉且常用的Apache服務器中的httpd進程為例,來介紹SELinux是如何阻止httpd進程來訪問由其他域管理的文件類型的。

(1)運行sestatus命令來確認Linux中SELinux是運行的,它運行在enforcing模式下,該模式可以簡單理解為SELinux的完全運行模式,它可以進行強制訪問控制),且確保采用了目標策略,如圖1命令所示:

圖1? 使用sestatus確認SELinux是否運行

上述運行結果表明SELinux運行在enforcing模式下,且采用了目標策略。

(2)采用Linux中的root用戶權限,使用如下命令在httpd的工作目錄中創建一個新的文件:

#touch /var/www/html/testfile

(3)運行如下命令來查看該文件的SELinux上下文信息:

# ls -Z /var/www/html/testfile

-rw-r--r--? root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/testfile

從上述結果可以清楚地看到:在默認情況下,Linux用戶是非限制的,因此剛創建的testfile文件的SELinux上下文中的類型標記為unconfined_u。RBAC訪問控制機制是用于進程的,不是用于文件。并且,角色對于文件來說也沒有什么太大的含義,因此上述結果中的object_r角色也僅僅是一個用于文件的通用角色。在/proc目錄下,與進程相關的文件可以采用system_r角色。另外,結果中的httpd_sys_content_t類型允許httpd進程訪問該文件。

(4)以Linux的root用戶身份,運行下述命令來運行httpd進程,如圖2所示:

圖2? 成功啟動httpd進程

(5)切換到一個Linux用戶具有權限的目錄下,運行如下命令,圖3所示結果為該命令能夠正確的執行并下載文件:

圖3? wget正確執行并下載文件

(6)使用chcon命令來對文件的類型進行重新標識。然而,這樣的標識不是永久性的修改,一旦系統重啟,該標識就會改變回去。對于文件類型的永久性改變,需要采用semanage命令,這個命令在后面將進行詳細介紹。下面,以root用戶的身份,運行圖4所示chcon命令來將上面步驟中創建的testfile文件的類型改為由Samba進程使用的文件;然后,運行ls -z /var/www/html/testfile命令來查看改變的結果,如圖4所示:

圖4? chcon命令運行結果

(7)在傳統的Linux中httpd進程可以訪問testfile文件,下面需要嘗試一下在SELinux中,該進程是否能夠成功訪問testfile文件。如步驟(5)所示,再次運行該命令進行文件下載工作,發現命令運行失敗,文件沒有權限下載,運行結果如圖5所示:

圖6? wget命令執行失敗

通過上述7個步驟的詳細演示可以得知:雖然傳統的Linux的DAC機制允許httpd進程訪問testfile文件,然而SELinux的MAC機制卻拒絕該訪問操作。原因在于:該文件的類型(samba_share_t)httpd進程不能訪問,因此SELinux拒絕了該操作。同時,SELinux對這些操作日志進行了詳細的記載,以方便系統管理員事后進行審計和處理,可以查看/var/log/messages文件,如圖7所示:

圖7? /var/log/messages文件圖示

另外,相關的錯誤日志也可以查看/var/log/audit/audit.log文件,如圖8所示:

type=AVC msg=audit(1241564654.246:26): avc: denied { getattr } for pid

圖8? /var/log/audit/audit.log文件圖示

并且,由于該操作牽涉到httpd服務進程,由于該服務也有自己的日志文件,因此,也可以通過/var/log/httpd/error_log文件進行查看,如圖9所示:

圖9? /var/log/httpd/error_log文件圖示

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的应用SELinux中的目标策略限制进程运行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人精品国产 | 一级黄色片在线 | 亚洲丁香色 | 青青草成人免费在线视频 | 国产伦精品一区二区三区视频女 | 老师的肉丝玉足夹茎 | 亚洲精品在线免费观看视频 | 最近更新中文字幕 | 日韩在线视 | 99亚洲国产精品 | 尤物在线视频 | 超碰2020| 一区二区三区 中文字幕 | 韩国成年人网站 | 极品色综合 | 丝袜美女av | 黄色国产在线播放 | 国产亚洲一区二区三区四区 | 亚洲一区二区三区网站 | 麻豆视频成人 | www免费视频 | 欧美日韩激情视频在线观看 | 亚洲图区综合 | 亚洲每日在线 | 王者后宫yin肉h文催眠 | 日本性生活一级片 | 国产成人综合精品 | 美日韩精品一区二区 | 久久国产精品精品国产 | 日韩欧美一本 | 中国一级免费毛片 | 91精品推荐 | 污污污www精品国产网站 | 国产日产欧美一区二区三区 | 久久久久影视 | 男女午夜视频在线观看 | 亚洲精品日韩综合观看成人91 | 久久久久久久久成人 | 精品少妇一区二区三区在线观看 | 日本一级理论片在线大全 | a在线 | 在线免费看黄视频 | 亚洲青涩网 | 欧美涩色 | 亚洲毛片在线观看 | 黄色精品视频在线观看 | 久久久久成人片免费观看蜜芽 | 精品久久久久久久久久久久久久久久久久 | 亚洲国产欧美视频 | 国产一级自拍 | 国产成人精品影视 | 国产精品一二三四五区 | 污视频网站免费看 | 无码人妻一区二区三区免费 | 色姑娘综合网 | 波多野结衣在线一区 | 又黄又免费的视频 | 男人天堂视频网 | 日本高清不卡码 | 日本免费色视频 | 中文字幕中出 | 91理论片午午伦夜理片久久 | 日本黄色录象 | tube极品少妇videos | 美丽的姑娘在线观看 | 男女羞羞无遮挡 | 亚洲综合免费观看高清完整版 | 久草资源福利 | 欧美国产不卡 | 瑟瑟视频在线免费观看 | 轻点好疼好大好爽视频 | 久久国产精品偷 | 久久av一区二区三区亚洲 | 精产国品一区二区 | 手机看片1024日韩 | 国产亚洲精品久久久久四川人 | 自拍偷拍999 | 人妻丰满熟妇aⅴ无码 | www.香蕉网 | 国产夜夜夜 | 老头老太吃奶xb视频 | 黄色免费在线观看网站 | xxxwww18| 亚洲一区二区三区高清视频 | 日韩精品视频在线观看网站 | 91免费视频国产 | 国产精品久久久久久久久久辛辛 | 人人爽人人 | 少妇在线观看 | 狠狠躁18三区二区一区 | 男女黄色片 | 鲁一鲁一鲁一鲁一av | 超碰牛牛 | 在线色图 | 羞羞动态图 | 在线中文字幕观看 | 丁香网五月天 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | 亚洲国产欧美精品 |