一.SElinux的基本概念
SELinux(Security-Enhanced Linux)
又名加强安全型linux。是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux®
上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件,旨在解决传统操作系统中存在的安全隐患。
二.传统操作系统的安全隐患
1.超级管理员(root)具有最高权限。
2.对权限划分不够细。除所属人和所属组外,other范围过大。
3.SUID root 提权。
4.文件所述人对文件有完全权限,可以自由地更改文件所属人所属组权限。
三.安全隐患解决思路
首先对权限进一步划分,使权限最小化。
相较于传统的文件系统权限管理(DAC)的自主访问控制而言,SElinux开启了新的机制(MAC)强制访问控制。
系统不再针对用户来进行权限的分配和限制,控制的主体变成了进程。
开启SElinux后,有两套机制同时运行
linux权限 DAC用户自主访问
SElinux MAC 强制访问控制
四.SElinux运行模式
1.SElinux运行模式
SElinux的主体是进程,目标是文件系统,策略有两种,分别是targeted和strict,默认为targeted。主题能不能访问目标除了策略之外,主体与目标的安全上下文必须一致才能访问。
限制一:安全上下文
# ls -Z
上图可以看到上下文内容为:root:object_r:user_home_t
REL5中,selinux只检查第三部分的target且只针对网络服务有效每个服务都有自己的标签。
上下文格式:Identify:role:type
Idenfity
role
type
root(账号身份)
object_r(文件资源)
文件资源上称为类型
system_u(进程)
system_r(进程)
主体程序上称为域
user_u(一般用户账号)
每个进程都有自己的域
# semanage fcontext
-l 查看服务自己的安全上下文
# ls
/etc/selinux/tarets/contexts
查看进程自己默认的安全上下文
# chcon -t public_content_t
/vat/ftp/aaa
手动设置上下文
# restorecon -Rv
/var/ftp
系统自己恢复上下文
限制之二:策略
#
seinfo
策略查询
查询与httpd有关的布尔值
#seinfo -b |grep httpd
布尔值的修改
getsebool -a |grep allow_ftp
setsebool -P allow+ftpd_anon_write on
2.SElinux的三种运行模式:
enforcing
强制
拒绝访问且报警
permissive
允许
允许访问且报警
----------- ---------------- 必须重启
disable
关闭
3.SElinux的启动与关闭
第一种方法 修改配置文件
# vim /etc/selinux/config
上图可知,目前主机SElinux开启为enforcing模式,默认策略为targeted。修改配置文件重启生效。
第二种方法:
#
setenforce
查看
# setenforce 0
1 0 per 1
enfor 立刻生效
五.SElinux的日志:
# /var/log/messages
# /var/log/audit/audit.log
|