Linux学习61 企业军工级别安全策略-SELinux简介
一、回顾
1、CentOS系统安装
2、kickstart文件
a、命令段
必备命令:authconfig,bootloader,...
可选命令:firewall,selinux,reboot,...
b、程序包段
%packages
@group_name
package
-package
%end
c、脚本段
%pre
...
%end
%post
...
%end
d、创建工具:system-config-kickstart
e、语法检查:ksvalidator
f、安装过程如何获取kickstart文件
DVD: ks=cdrom:/PATH/TO/KS_FILE
HTTP:ks=http://HOST:PORT/PATH/TO/KS_FILE
二、SELinux(生产环境中用到的不到百分之一)
1、全称:Secure Enhanced Linux,安全加强的linux
2、DAC:自主访问控制
3、MAC:这不是MAC地址也不是MAC操作系统,而是叫做强制访问控制
4、sndbox:沙箱。selinux为每一个进程都启动了一个专用的沙箱
5、SELinux有两种工作级别
a、strict:严格级别,每个进程都受到selinux的控制
b、targeted:仅有限个进程受到selinux控制,只监控容易入侵的进程
6、SELinux到底是如何工作的
a、我们整个系统的运行可以归纳为如下安全法则模型,即主谓宾
(1)、主语(subject):进程
(2)、宾语(object):被进程操作的对象,比如进程或文件
1)、文件能接受的操作:open,read,write,close,chown,chod
b、我们可以给每个主语打上一个标签,或者给其加上一个域,让其能够只在指定范围内运行,并且可以给object打上type
7、SELinux为每个文件提供了安全标签,也为进程提供了安全标签
a、user:role:type(可通过ls -Z或ps -auxZ查看)
user:SELinux的user
role:角色
type:类型(对进程来说就是域,对文件来说就是类型)
b、因此现在我们一个进程所能够访问的文件除了受文件属主,属组,其它用户的访问限制之外现在又多了一个沙箱的限制,也就是说即便一个进程的属主有权限访问沙箱外的文件但是由于我们将进程圈定在沙箱内运行了因此他就没法访问到沙箱之外了。
8、SELinux规则库
a、规则:哪种域能访问哪种或哪些种类内的文件
我们一个进程要去访问一个文件,他首先会去看这个文件的属主和属主等权限是否符合,如果不符合然后他就会去检查selinux的规则库,看这里面是否明确有授权,即这个进程所述的域是否授权了访问这个文件所属的类型,如果有授权访问,于是进程就能访问这个文件了,如果没有那么访问就会被selinux安全策略给拒绝。
三、配置SELinux
1、SELinux是否启用
2、给文件重新打标
3、设定某些布尔型特性
4、SELinux的状态
a、enforcing:强制,每个受限的进程都必然受限
b、permissive:启用,每个受限的进程违规操作不会被禁止,但会被记录于审计日志
c、disabled:关闭
5、相关命令
a、getenforce:获取selinux当前状态
b、setenforce 0|1
(1)、0:设置为permissive
(2)、1:设置为enforcing
c、此设定仅当前状态有效,重启系统后无效
d、配置文件:/etc/sysconfig/selinux,/etc/selinux/config
SELINUX={disabled|enforcing|permissive}
e、给文件重新打标
chcon [OPTION]... CONTEXT FILE...
chcon [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...
chcon [OPTION]... --reference=RFILE FILE...
-R:递归打标
f、还原文件的默认标签
restorecon [-R] /path/to/somewhere
g、布尔型规则
a、getsebool
getsebool [-a] [boolean]
b、setsebool
setsebool [ -P ] boolean value | bool1=val1 bool2=val2 ...
-P表示永久有效