selinux
1.实验准备
内核级增强型火墙
dnf install vsftpd lftp.x86_64 -y
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_upload_enable=YES
systemctl restart vsftpd
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
2.selinux状态
selinux关闭状态
cd /mnt
touch /mnt/westosfile
mv /mnt/westosfile /var/ftp/
lftp 192.168.0.103
ls
touch /mnt/file
ls -Z /mnt/file #安全上下文为空
ps axZ | grep vsftpd #ftp程序安全上下文为空
vim /etc/selinux/config
SELINUX=enforcing
reboot
selinux开启状态
setenforce 1
Enforcing #强制模式
systemctl enable --now vsftpd
touch /mnt/westosfile1
mv /mnt/westosfile1 /var/ftp/
lftp 192.168.0.103
查看到安全上下文
#特定的程序只能访问特定的文件
ls -Z /mnt/file
ps axZ | grep vsftpd
警告模式
setenforce 0
Permissive
此状态可以查看到文件,但是也会有警告
3.安全上下文
1)查看
ls -Z #查看文件的安全上下文
ls -Zd #查看目录的安全上下文
ls axZ #查看进程的安全上下文
2)修改安全上下文
chcon -t public_content_t /var/ftp/westosfile1
#此时访问也不会产生警告信息
touch /.autorelabel
#重启系统时selinux初始化文件标签开关文件
reboot
重启后安全上下文不会改变,因为ftp目录的属性在建立时被系统记录
临时修改
mkdir /westos
ls -Zd /westos/
chcon -t public_content_t /westos
ls -Zd /westos/
touch /.autorelabel
reboot
ls -Zd /westos/
永久修改
semanage fcontext -a -t public_content_t '/westos(/.*)?'
semanage fcontext -l | grep westos
ls -Zd /westos/
restorecon -RvvF /westos/
touch /.autorelabel
#重启系统时selinux初始化文件标签开关文件
reboot
ls -Zd /westos/
4.SEPORT
dnf install httpd.x86_64 -y
vim /etc/httpd/conf/httpd.conf
Listen 6666
systemctl restart httpd
semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 6666
semanage port -l | grep http
systemctl restart httpd
netstat -antlupe | grep httpd
5.SEBOOL
semanage fcontext -a -t public_content_rw_t '/var/ftp/pub(/.*)?'
restorecon -RvvF /var/ftp/pub/
getsebool -a | grep ftp #查看bool值
setsebool -P ftpd_anon_write on #打开可写开关,- P永久修改
getsebool -a | grep ftp
测试:
lftp 192.168.0.103
cd pub
put /etc/passwd
6.setrouble
> /var/log/audit/audit.log #清空selinux警告信息
> /var/log/messages #清空日志
touch /mnt/westosfile2
mv /mnt/westosfile2 /var/ftp
lftp 172.25.254.217
ls
cat /var/log/messages
/sbin/restorecon -v /var/ftp/westosfile2
或setsebool -P ftpd_full_access 1
lftp 172.25.254.217
ls
setroublesboot-server
##此软件功能是采集警告信息并分析得到解决方案存放到message中