selinux初级管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selinux初级管理相关的知识,希望对你有一定的参考价值。

1.什么时Selinux
Selinux,内核级加强型防火墙
SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。

Selinux三个模式
Enforcing 强制(强制模式)— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容(警告模式)— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用(关闭模式)— 完全禁用SELinux

2.如何管理selinux级别
selinux开启或者关闭
在配置文件"/etc/sysconfig/selinux"下将"SELINUX=enforcing"改为"SELINUX=disabled",因为SElinux是基于内核的安全系统,所以在设置完成之后需要重启内核,即需要重启电脑才可以生效。
vim /etc/sysconfig/selinux
selinux=disabled ##关闭状态
selinux=Enforcing ##强制状态
selinux=Permissive ##警告状态

selinux开启或者关闭
getenforce ##查看状态
当selinux开启时, "setenforce"可以设置SElinux的状态,但是只能设置0和1两种,即警告模式或者强制模式。
setenforce 0|1 ##更改selinux运行级别,

技术图片

3.如何更改文件安全上下文

查看安全上下文): SElinux会在目录和文件上留下上下文标识
ls -Z
临时更改)
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R

永久更改)
semanage fcontext -l ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t ‘/publicftp(/.*)?‘
restorecon -FvvR /publicftp/

4.如何控制selinux对服务功能的开关
getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off
setsebool -P ftpd_anon_write on

SElinux对服务的影响

    SElinux是最全面的安全系统,所以会对文件和服务有一定的限制,以下服务以ftp为例。

    SElinux会在文件上做出上下文标识,例如下图所示,在"/mnt"和"/var/ftp/pub"下分别建立文件"file",输入"ls -Z"可以查看文件标识。可以看出,"/mnt/file"为"mnt_t",而"/var/ftp/pub/file"标识为"public_content_t",这样会导致将"/mnt/file"移入"/var/ftp/pub"目录下,连接lftp无法看到这个文件。

SElinux为了系统的安全,会禁止服务一些危险功能的使用,可以输入"getsebool -a | grep ftp"来查看禁止了ftp服务的哪些功能,如下图所示,输入"setsebool -P 功能 on|off"可以控制这些功能的开关。

5.监控selinux的错误信息
setroubleshoot-server

项目案例一: httpd服务共享文件安全上下文的管理
** selinux开启的情况下做实验
yum install httpd -y
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
hostname > /var/www/html/hello.html
date +%F > /mnt/westos.html
mv /mnt/westos.html /var/www/html/

技术图片
现象一: 用户通过浏览器可以访问hello.html文件, 但不能访问westos.html文件。如何解决呢?因为文件的安全上下文不同导致的.
ls -Z /var/www/html/

chcon -t httpd_sys_content_t /var/www/html/westos.html # 临时修改安全上下文, 重启后失效
semanage fcontext -l # 查看系统默认的安全上下文信息
semanage fcontext -a -t httpd_sys_content_t /var/www/html/westos.html # 永久修改文件的安全上下文到系统中
restorecon -FvvR /var/www/html/ # 刷新目录, 重新读取安全上下文

技术图片技术图片

以上是关于selinux初级管理的主要内容,如果未能解决你的问题,请参考以下文章

selinux 初级管理

Selinux初级管理

selinux初级管理

运维学习之selinux初级管理

Linux的selinux的初级管理

II 第十单元selinux的初级管理