S2-P6-2 管理SELinux安全
约 1348 字大约 4 分钟
2025-04-07
任务四:修改httpd策略,selinux为enforcing模式下,站点能正常访问
修改httpd配置文件为允许用户目录
vim /etc/httpd/conf.d/userdir.conf
启动httpd服务和关闭防火墙
systemctl start httpd systemctl stop firewalld systemctl status httpd firewalld
切换到
lisi
账号下,在lisi
的家目录下创建文件夹public_html
,并在该文件夹下创建文件lisiweb.html
,写入内容this is a web from lisi
,查看其上下文useradd lisi su - lisi mkdir public_html echo "this is a web from lisi" > public_html/lisiweb.html
修改
lisi
家目录权限为755
,让httpd可以访问chmod 755 ~ # 只有当前用户为lisi该命令才会生效
在电脑端用浏览器访问
lisiweb.html
,无法访问http://192.168.21.11/~lisi/lisiweb.html
退回到root账号,将selinux设置为permissive模式,访问站点正常
setenforce 0 getenforce
将selinux设为
enforcing
模式,查看httpd_enable_homedirs
规则并修改为开启setenforce 1 getenforce setsebool -P httpd_enable_homedirs on getsebool httpd_enable_homedirs
命令解析:
setsebool
setsebool [选项] 规则名称 on|off
:设置布尔值,on或1为开启,off或0为关闭-P
:永久生效命令样例:
getsebool
getsebool –a | grep "httpd"
:查看布尔值,模糊查找getsebool httpd_use_nfs
:查看布尔值,精确查找命令样例:
sestatus
sestatus –b | grep "httpd"
:查看布尔值,模糊查找命令样例:
semanage
semanage boolean –l
:查看布尔值当前值,默认值和描述在电脑端用浏览器访问
lisiweb.html
,正常
任务五:通过selinux日志来辅助解决拦截问题
注意: 在 S2-P6-1 中修改了httpd服务的配置文件,网页根目录不为
/var/www/html
,需修改回来vim /etc/httpd/conf/httpd.conf
systemctl restart httpd
启动httpd服务和关闭防火墙
systemctl start httpd systemctl stop firewalld systemctl status httpd firewalld
在
root
家目录下创建index2.html
,写入内容,并通过命令mv
移动到/var/www/html
下电脑浏览器访问,提示无法访问
http://192.168.21.11/index2.html
将selinux设置为
permissive
模式,访问站点正常,确认是selinxu拦截setenforce 0 getenforce
将selinux设为
enforcing
模式,再次无法访问setenforce 1 getenforce
通过分析selinux日志来解决问题
安装分析工具
sealert
yum install -y setroubleshoot-server
使用命令
sealert
分析问题sealert -a /var/log/audit/audit.log > selog.txt
查看分析出来的建议
vim selog.txt
参照日志修改问题后,站点访问正常
# 分析工具给出的解决命令 /sbin/restorecon -v /var/www/html/index2.html
拓展:在linux上搭建一个samba服务,配置其selinux的安全上下文和策略,selinux为enforcing模式,让windows下用户可以正常访问Samba资源
配置本地yum源(注意镜像位置正确,连接,挂载;编写repo文件;yum repolist验证)
安装
samba
并启动samba
服务yum install samba -y
添加samba用户
lisi
和设置密码123
smbpasswd -a lisi
在根
/
下创建共享文件夹/share
并修改权限为777
mkdir /share chmod 777 /share/
修改samba配置文件
/etc/samba/smb.conf
,添加如下内容:vim /etc/samba/smb.conf
重启samba服务并关闭防火墙和设置selinux为0
windows端访问验证
\\192.168.21.11
,在/share
下创建文件登录:
访问:
创建:
将selinux设置为
enforcing
模式再次连接,无法进入/share
目录访问:
查看日志分析原因,尝试不同方法修改上下文或者策略,保证selinux为
1
的情况下,share
和lisi
目录均可以访问分析原因
/share
目录无法访问的解决办法:/lisi
目录无法访问的解决办法:
参考分析解决问题
/share
目录无法访问的解决:semanage fcontext -a -t samba_share_t '/share(/.*)?' restorecon -Rv '/share'
/lisi
目录无法访问的解决办法:setsebool -P samba_enable_home_dirs 1
版权所有
版权归属:DDoS_LING