分享

Linux服务安全之SElinux

 qweertt4747 2017-02-21

一.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

Linux服务安全之SElinux

上图可以看到上下文内容为: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                                                         策略查询

Linux服务安全之SElinux

 

查询与httpd有关的布尔值

#seinfo -b |grep httpd
Linux服务安全之SElinux

布尔值的修改
getsebool -a |grep allow_ftp
setsebool -P allow+ftpd_anon_write on

 

2.SElinux的三种运行模式:

enforcing    强制                                    拒绝访问且报警
permissive   允许                                    允许访问且报警

----------- ----------------  必须重启
disable      关闭

 

3.SElinux的启动与关闭

第一种方法 修改配置文件

# vim /etc/selinux/config

Linux服务安全之SElinux

上图可知,目前主机SElinux开启为enforcing模式,默认策略为targeted。修改配置文件重启生效。

第二种方法:

# setenforce        查看
# setenforce 0 1    0 per 1 enfor   立刻生效

Linux服务安全之SElinux

 

五.SElinux的日志:

# /var/log/messages
# /var/log/audit/audit.log

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多