您的位置:首页 > 运维架构 > Linux

selinux的初级管理

2018-01-28 15:15 381 查看
selinux的初级管理

1.什么时selinux

selinux,内核级加强型防火墙,对文件和服务,selinux会给他们加上安全上下文的标签,对服务功能进行限制,当某些服务需要访问文件时,selinux会对照双方的安全上下文,不一致就会拒绝访问。

2.selinux管理基本命令

selinux开启或者关闭)

vim /etc/sysconfig/selinux

selinux=disabled ##关闭状态

selinux=Enforcing ##强制状态

selinux=Permissive ##警告状态

getenforce ##查看状态

当selinux开启时

setenforce 0|1 ##更改selinux运行级别

ls -Z 查看安全上下文



Getenforce ##查看内核级状态



getsebool -a 打开内核级安全设置

getsebool -a | grep ftpd 打开内核级安全设置过滤ftpd服务安全设置



3.实验. 在selinux关闭的状态下,向/var/ftp/pub中传些文件

设置ftp服务本地用户可上传文件,/etc/sysconfig/selinux设置为enforcing



开启后会看到文件和服务上有一种类似标签的东西



切换/varftp/pub 新建文件111查看安全上下文,和pub一致,移动/tmp/file到//var/

/pub/下,会发现同pub目录不一致,复制/gpg文件又和pub目录安全上下文一致:因此可以看出,移动的文件在selinux开启的状态下安全上下文和目录会不一致,新建,复制会跟随目录的安全上下文,事实上,复制就是一个新建的过程。





当selinux=enforcing的时候,

ftp服务中安全上下文不匹配,则不会显示,当selinux=permisssive时,即使安全上下文不一致,也会显示

selinux=enforcing 注意file3文件





selinux=permissive





4.设置selinux=enforcing,临时更改安全上下文,使file3在ftp服务中显示:

命令:chcon -t 安全上下文 文件 (+R第归修改)

chcon -t public_content_t /var/ftp/pub/file3





设置/etc/sysconfig/selinux,selinux=disabled ,reboot重启,会发现mnt1的安全上下文变会临时改动前的了





5.Chocon相当于临时更改,当你重新刷新标签时,文件或服务的安全上下文又会变为原来默认的上下文,永久设定就得重新定义selinux默认上下文的规则了:

semanage fcontext -l ##列出内核安全上下文列表内容



semanage fcontext -a -t public_content_t ‘/publicftp(/.*)?’

##添加默认文件上下文规则





restorecon -FvvR /public/ ##R表示第归,vv显示过程,F指定文件



6.当配置文件开启匿名用户上传,并且/var/ftp/pub具有可写权力之后,依然不能上传,这是由于selinux对服务的功能进行了限制:



设置selinux=permissive,警告模式即可上传





7.控制selinux对服务功能的控制

getsebool -a | grep 服务名称

getsebool -a | grep ftp

setsebool -P 功能bool值 on|off

实验:

设置selinux=enforcing,/etc/vsftpd/vsftpd.conf配置文件匿名用户可以上传,/var/ftp/pub目录775权限,会发现匿名用户仍然无法上传,553报错。这时,setsebool -P ftpd_anon
4000
_write on;发现依旧无法上传,修改pub目录安全上下文rw,ftp服务匿名用户上传成功。



8.监控selinux的错误信息

Setroubleshoot-server是一款可以监控selinux错误信息的软件,可以帮助解决和selinux有关的错误,如果卸载就不会提示解决方法

实验:实验前selinux处于enforcing状态,关闭setsebool -P ftpd_anon_write off; bool值选择off,这时匿名用户无法上传文件

安装setroubleshoot-server软件,





匿名用户上传文件,553报错,



查看日志DO 后是解决方法。



/var/log/audit/audit.log ##selinux日志文件(记录信息但不提供解决方案)

多次修改setsebool,可能造成selinux上的功能的错乱,touch新建 /.autorelabel 然后reboot重置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内核 selinux bool