1.selinux内核级加强型火墙
- 基本知识
类型:rh433 rh333 rh312 RCSS
文件影响:CONTEXT 安全上下文 必须匹配才能访问
服务影响:getsebool功能开关
selinux设置后必须重启系统 - 设置
getenforce 查看处于的状态
setenforce 0 permissive 警告
setenforce 1 enforcing 强制
- 先在mnt下创建文件westosfile1,然后mv /mnt/westosfile1 /var/ftp
(1)如果是强制状态,lftp 172.25.254.116 --> ls 就看不见westosfile1,但是有警告,在/var/log/messages可以看见
(2)如果是警告状态就可以看见westosfile1,有警告,cat /var/log/messages
- 文件影响:
(1)更改用户家目录 anon_root=/ftphome (在/etc/vsftpd/vsftpd.conf下更改)
(2)查看文件上下文:ls -Zd /ftphome
(3)临时更改文件上下文:chcon -t public_content_t /ftphome/ -R ,这时文件类型改变
但是如果selinux文件下,从enforce到disable再到enforce,刚才已经更改的文件的上下文就会复原
(5)永久更改文件上下文:
1)semanage fcontext -a -t public_content_t ‘/ftphome(/.*)?’
其中符号部分表示ftphome目录下的所有内容
2) semanage fcontext -l | grep /var/ftp 查看列表
3)读取: restorecon -RvvF /ftphome/
- 服务影响
匿名用户enforcing下,上传文件:
不要忘记更改家目录,配置文件使匿名用户可以上传。
(1)getsebool -a | grep ftp 查看服务开启列表
(2)setsebool -P ftpd_anon_write on 开启上传服务,-P表示永久生效
(3)chcon -t public_content_rw_t /var/ftp/pub/ 使文件可读可写
(4)ls -Zd /var/ftp/pub 查看上下文
(5)测试:lftp 172.25.254.116 -->cd pub --> put xxx
2. setroubleshoot-server软件
当服务器出现报错后,会在/var/log/audit/audit.log日志里生成报错原因,但没有解决办法,如果安装了setroubleshoot-server.x86_64软件,就会把/var/log/audit/audit.log日志读取,生成解决办法,这个解决办法的文件就是/var/log/messages
测试:
- 在没有安装setroubleshoot-server软件时
touch /mnt/filetouch /mnt/file
mv /mnt/file /var/ftp
清空/var/log/audit/audit.log 和 /var/log/messages
lftp 172.25.254.116
ls 此时查看日志,就会看到出来的报错,但是不会出现解决办法
(1) cat /var/log/audit/audit.log 报错原因
(2) cat /var/log/messages 解决办法
- 如果安装了 setroubleshoot-server.x86_64 软件,就会生成解决办法。
yum remove setroubleshoot-server.x86_64
然后查看解决方案的日志
清空/var/log/audit/audit.log
lftp 172.25.254.116
ls 后查看日志
cat /var/log/audit/audit.log 报错原因
cat /var/log/messages 此日志有关于报错解决的内容