一、selinux 内核级防火墙
1.三种级别
(1) Enforcing(强制) 强制,警告+拒绝 不能访问
(2) Permissive(警告) 警告不拒绝 可访问,但会产生日志
(3) Disabled(关闭) 不拒绝,不警告 可正常访问
### (1)和(2) 转换不需要重启 (1)和(3) 、(2)和(3) 转换需要重启
vim /etc/sysconfig/selinux
#### getenforce 查看内核级别
#### setenforce 0 由 Enforcing 转换为 Permissive
#### setenforce 1 由 Permissive 转换为 Enforcing
2.三种内核级别的实验效果
(1)实验环境
a. 重置虚拟机 b.重置网络 c.关闭防火墙,开机不自启 d. 安装vsftpd,设置自启
(2) 实验效果
a. SELINUX= enforcing
b. SELINUX=permissive 客户端登陆,可看到所有文件,但浏览hi文件时会产生警告日志
c. SELINUX=disabled
切换为 disabled 需要重启
二、安全上下文(安全标签)
ps auxZ | grep vsftpd 查看程序的安全标签
ls -Z 查看文件的安全标签
a. SELINUX=disabled
b. SELINUX= enforcing
c. SELINUX=permissive
三、文件的安全上下文设置
1.修改ftp 的默认发布目录
配置文件 /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service
2. 创建目录westos及创建文件/westos/file
3.临时修改上下文
此时文件不能被查看,需要修改安全上下文
chcon -t public_content_t /westos/ -R
可以登陆,但是在重新开启(SELINUX= enforcing)会失效, 安全上下文恢复为 default_t
4.永久修改上下文 ##安全上下文列表
a. 查看安全上下文列表
semanage fcontext -l | grep /var/ftp
b.将指定目录加入安全上下文列表
c.重新加载安全上下文列表 restorecon -Rvvf /westos/
d. 查看文件的安全标签 ls -Zd /westos/
四、selinux 的bool值
1.查看selinux中服务的bool值 getsebool -a
2.当ftp_home_dir 功能关闭时,本地用户登陆不能后操作
3.修改sebool值,打开服务
setsebool -P ftp_home_dir 1
-P ##永久修改 0 ##关闭服务 1 ##开启服务
4.打开ftp_home_dir功能时,本地用户登陆后具备相应权限
5.当客户端登陆报错时,/var/log/messages日志中
日志信息:
注意:日志给出的解决方案,安全性不好!!
##该功能由setroubleshoot软件提供,若没有该软件,则系统不会给出解决方案
而selinux服务本身产生的日志存放在/var/log/audit/audit.log中: