歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> SELinux管理與應用

SELinux管理與應用

日期:2017/2/28 14:55:40   编辑:Linux教程

1.1 SElinux概述
SELinux(Security-Enhanced Linux) 是美國國家安全局(NAS)對於強制訪問控 制的實現,在這種訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。大部分使用 SELinux 的人使用的都是SELinux就緒的發行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian 或 Gentoo。它們都是在內核中啟用 SELinux 的,並且提供一個可定制的安全策略,還提供很多用戶層的庫和工具,它們都可以使用 SELinux 的功能。
1.1.1 SElinux特點
1.MAC

對訪問的控制徹底化,對所有的文件、目錄、端口的訪問都是基於策略設定的,可由管理員時行設定。
2.RBAC
對於用戶只賦予最小權限。用戶被劃分成了一些role(角色),即使是root用戶,如果不具有sysadm_r角色的話,也不是執行相關的管理。哪裡role可以執行哪些domain,也是可以修改的。
3.安全上下文
當啟動selinux的時候,所有文件與對象都有安全上下文。進程的安全上下文是域,安全上下文由用戶:角色:類型表示。
(1)系統根據pam子系統中的pam_selinux.so模塊設定登錄者運行程序的安全上下文
(2)rpm包安裝會根據rpm包內記錄來生成安全上下文,
(3)如果是手工他建的,會根據policy中規定來設置安全上下文,
(4)如果是cp,會重新生成安全上下文。
(5)如果是mv,安全上下文不變。
1.1.2 安全上下文格式
安全上下文由user:role:type三部分組成,下面分別說明其作用:
1.user identity:類似linux系統中的UID,提供身份識別,安全上下文中的一部分。
三種常見的user:
user_u-: 普通用戶登錄系統後預設;
system_u-:開機過程中系統進程的預設;
root-: root登錄後預設;
在targeted policy中users不是很重要;
在strict policy中比較重要,的有預設的selinux users都以 "_u"結尾,root除外。
2.role
文件與目錄的role,通常是object_r;
程序的role,通常是system_r;
用戶的role,targeted policy為system_r;
strict policy為sysadm_r,staff_r,user_r
用戶的role,類似於系統中的GID,不同的角色具備不同的權限;用戶可以具備多個role;但是同一時間內只能使用一role;
role是RBAC的基礎;
3.type
type:用來將主體與客體劃分為不同的組,組每個主體和系統中的客體定義了一個類型;為進程運行提供最低的權限環境。
當一個類型與執行的進程關聯時,該type也稱為domain,也叫安全上下文。
域或安全上下文是一個進程允許操作的列表,決字一個進程可以對哪種類型進行操作。
1.1.3 SElinux配置文件
vi /etc/selinux/config
# 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 - SELinux is fully disabled.
SELINUX=enforcing
#SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
#SELINUX有「disabled」「permissive」,「enforcing」3種選擇。
1.模式的設置
enforcing:強制模式,只要selinux不允許,就無法執行
permissive:警告模式,將該事件記錄下來,依然允許執行
disabled:關閉selinux;停用,啟用需要重啟計算機。

2.策略的設置
targeted:保護常見的網絡服務,是selinux的默認值;
stric:提供RBAC的policy,具備完整的保護功能,保護網絡服務,一般指令及應用程序。
策略改變後,需要重新啟動計算機。
也可以通過命令來修改相關的具體的策略值,也就是修改安全上下文,來提高策略的靈活性。

Copyright © Linux教程網 All Rights Reserved