selinux简介
1.selinux:内核级加强型火墙
2.作用:
1)文件方面
给每个文件加标签
context 安全上下文
程序和文件的安全上下文匹配 才可以允许访问 否则会被拒绝
2)服务方面
sebool(布尔值)
给程序加功能开关
3.三种模式
enforcing:强制启用安全策略模式,将拦截服务的不合法强求
permissive:遇到服务越权访问时,只发出警告二不强制拦截
disabled:对于越权的行为不警告也不拦截
查看以及更改selinux状态
1.查看selinux状态
输入命令getenforce
2.更改selinux状态
更改etc/sysconfig/selinux
配置文件,此修改为内核级的,所以需要重启系统
重启后再次查看,状态更改为Enforcing
当selinux开启后的更改不需要重启
用setenforce{0|1}命令修改selinux当前的运行模式(1为禁用,1为启用)
注意
这种修改只是临时的,在系统重启后会失效
selinux的作用
1.首先我们需要重置试验环境,删除vsftpd配置文件并重回安装vsftpd服务
2.在ftp中新建一个文件,并开启selinux
登录发现看不到新建的文件
我们关闭selinux服务再次查看
可以看到,说明不能访问是因为selinux开启的原因
selinux开启后,会给文件添加安全上下文,如果不匹配,将不能访问
3.更改安全上下文
我们可以看到ftp目录的安全上下文与ftphome目录的安全上下文不一致
用semange fcontext -l
查看目录的安全上下文信息
查看ftphome的安全上下文为空
为ftphome目录整个添加安全上下文
再次查看,添加成功
sebool(布尔值)
1.上传功能
登录ftp发现上传不了文件
这是因为sebool中的上传功能未开启
ftp_home_dir
为关闭状态
setsebool -p ftp_home_dir on
开启sebool中的上传功能,再次查看,功能开启
上传文件成功
2.可写功能
首先编辑vsfptd配置文件,将可写功能开启
给ftp下的pub目录设置权限,我们将在pub中上传文件来测试可写功能
这时在pub中上传文件是不允许的
查看sebool中的可写功能未开启,我们将它打开
修改上下文,添加rw(可写)
再次在pub中上传即可
selinux的排错
selinux的排错需要通过setroubleshoot软件,然后通过日志来查看
为了方便起见,我们首先清空日志
在mnt中新建文件,再次登录ftp不可见
再次查看日志,日志中有解决的方案
如果我们删除setroubleshoot软件
再次清空日志中的内容
重新登录测试,查看到audit.log中有报错但是messages中就没有内容了