7.1 DAC與MAC
DAC:Linux自己的安全機制叫做DAC(Discretionary Access Control,自主通路控制)
MAC:SELinux實作的功能叫做MAC(Mandatory Access Control,強制通路控制機制)
7.2 selinux的工作級别與機制
SELinux:Secure Enhanced Linux,工作于Linux核心中。
SELinux有兩種工作級别:
strict:嚴格級别,每個程序都受到selinux的控制
targeted:僅有限個程序受到selinux的控制
隻監控容易被入侵的程序
SELinux工作機制:
SELinux采用類似沙箱(sandbox)的方式來運作程序:
subject operation object
subject:程序
object:可以是程序,可以是檔案
适用于檔案的操作:open,read,write,close,chown,chmod
SELinux為每個檔案提供了安全标簽,也為程序提供了安全标簽:
user:role:type
user:SELinux的user
role:角色
type:類型
SELinux規則庫:
規則:定義了哪種域能通路哪種或哪些種類型内的檔案
遵循“法無授權即禁止”的規則,也就是說沒有明确授權的所有操作均禁止
7.3 selinux的配置
SELinux是否啟用:在/etc/selinux/config檔案中定義
SELinux的狀态:
enforcing:強制,每個受限的程序都必然受限
permissive:啟用,每個受限的程序違規操作時不會被禁止,但會被記錄于審計日志
disabled:禁用
相關指令:
getenforce:擷取selinux目前狀态
setenforce 0|1
0:設定為permissive
1:設定為enforcing
此設定僅目前有效,重新開機系統後無效
配置檔案:/etc/sysconfig/selinux,/etc/selinux/config
SELINUX={disabled|enforcing|permissive}
給檔案重新打标簽:
chcon:change context,改變上下文
chcon [option]... CONTEXT FILE...
chcon [option]... [-u USER] [-r ROLE] [-t TYPE] FILE...
chcon [option]... --reference=RFILE FILE...
-R:遞歸打标簽
還原檔案的預設标簽:
restorecon [-R] /path/to/somewhere(可以是檔案,也可以是目錄)
設定某些布爾型特性:
getsebool
例:
setsebool