Linux大神进阶十八:selinux的优化管理

1.理解

(1)Selinux,内核级加强型防火墙;SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。
(2)Selinux三个模式
①Enforcing 强制(强制模式)— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
②Permissive 宽容(警告模式)— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
③Disabled 禁用(关闭模式)— 完全禁用SELinux
(3)管理selinux级别

方式 命令 注释
1.临时修改 ##当selinux开启时, "setenforce"可以设置SElinux的状态,但是只能设置0和1两种,即警告模式或者强制模式。
getenforce ## ##查看状态
setenforce 0|1 ## ##更改selinux运行级别
2.永久修改 ##在配置文件"/etc/sysconfig/selinux"下将"SELINUX=enforcing"改为"SELINUX=disabled",因为SElinux是基于内核的安全系统,所以在设置完成之后需要重启内核,即需要重启电脑才可以生效。
vim /etc/sysconfig/selinux ## 打开配置文件
selinux=disabled ##关闭状态
selinux=Enforcing ##强制状态
selinux=Permissive ##警告状态

在这里插入图片描述

2.selinux的常见操作

功能 命令 注释
1.selinux服务共享文件安全上下文的管理
1.1 配置本地源,安装http服务,安装,配置素材
(1) yum whatprovides httpd ##查找httpd的安装包
(2) yum install httpd-2.4.6-45.el7.x86_ 64 ##yum安装httpd
(3) systemctl start httpd ## 开启http服务
(4) systemctl enable httpd ##自启动http服务
(5) systemctl stop firewalld
(6) systemctl disable firewalld ## 开机不启动防火墙
(7) hostname > /var/www/html/hello.html ## 在/mnt下建立文件,将hostname加入
(8) date +%F > /mnt/westos.html # date写入
(9) mv /mnt/westos.html /var/www/html/ # 将文件移动 /var/www/html
***1.2测试 1:selinux为强制状态,访问失败(httpd)***:(1) setenforce 1 ## selinux 设置为强制
(2) http://localhost/westos.html ## 发现访问不了
1.3测试 2:selinux为permissive状态,访问成功(httpd)
(1) setenforce 0 ## ## selinux 设置为警告
(2) http://localhost/westos.html ## 发现可以访问
1.4测试 3:selinux为强制状态,访问成功(临时修改httpd)
(1) setenforce 1 ## ## selinux 设置为强制
(2) ls -Z /var/www/html/ ##查看文件信息类型
(3) chcon -t httpd_sys_content_t /var/www/html/westos.html ## # 临时修改安全上下文, 重启后失效
(4) semanage fcontext -l ## 查看系统默认的安全上下文信息
(5) http://localhost/westos.html ## 发现可以访问
1.5测试 4:selinux为强制状态,访问成功(永久修改http)
(1) mkdir /johnsonlee ##创建目录
(2) touch /johnsonlee/johnson.html ## 创建文件
(3) vim /etc/vsftpd/vsftpd.conf ## 查看配置文件
(4)(vim) anon_root=/johnsonlee ## 修改文件夹
(5) systemctl restart vsftpd.service ## 重启服务
(6) semanage fcontext -l |grep /var/www/html ## ##列出内核安全上下文列表内容
(7) semanage fcontext -l |grep /johnsonlee ## ##列出内核安全上下文列表内容
(8) semanage fcontext -a -t httpd_sys_content_t "/johnsonlee(/.*)? " ##列出内核安全上下文列表内容
(9) chcon -t httpd_sys_content_t /johnsonlee -R ## 修改标签时需加-R(递归)
(10) restorecon -FvvR /johnsonlee ## # 刷新目录, 重新读取安全上下文
(11) ls -Zd /johnsonlee/ ##查看文件信息类型
(12) date +%F > /johnsonlee/johnson.html # date写入
(13) http://localhost/johnson.html ## 发现文件存在
1.6测试 5:selinux为强制状态,访问成功(临时修改lftp)
(1) setenforce 1 ## selinux 设置为强制
(2) touch /mnt/linux ##创建文件
(3) ls -Z /mnt/linux ##查看文件信息类型
(4) chcon -t public_content_t /mnt/linux ## 临时修改安全上下文, 重启后失效
(4) mv /mnt/linux /var/ftp/pub/ ## 移动文件
(5) lftp 172.25.19.251 ## 发现文件存在
1.7测试 6:selinux为强制状态,访问成功(永久修改lftp)
(1) mkdir /ftpdir ##创建目录
(2) touch /ftpdir/file{1…2} ## 创建文件
(3) vim /etc/vsftpd/vsftpd.conf ## 查看配置文件
(4)(vim) anon_root=/ftpdir ## 修改文件夹
(5) systemctl restart vsftpd.service ## 重启服务
(6) semanage fcontext -l |grep /var/ftp ## ##列出内核安全上下文列表内容
(7) semanage fcontext -l |grep /ftpdir ## ##列出内核安全上下文列表内容
(8) semanage fcontext -a -t public_content_t "/ftpdir(/.*)? " ##列出内核安全上下文列表内容
(9) chcon -t public_content_t /ftpdir/ -R ## 修改标签时需加-R(递归)
(10) restorecon -FvvR /ftpdir/ ## # 刷新目录, 重新读取安全上下文
(11) ls -Zd /ftpdir/ ##查看文件信息类型
(12) lftp 172.25.19.251 ## 发现文件存在
2.selinux服务开关控制
(2.1) 默认开启selinux,上传失败 ##
(1) setenforce 1 ## 开启服务
(2) vim /etc/vsftpd/vsftpd.conf ## 打开ftp配置文件
(3)(vim) anon_upload_enable=YES ## 允许匿名上传
(4) systemctl restart vsftpd ## 重启服务
(5)测试 lftp 172.25.19.251 ## 上传失败
(2.2) 开启selinux相关服务,上传成功
(1) getsebool -a grep ftpd (服务名称)
(2) setsebool -P ftpd_anon_write on|off ##开启匿名写权限
(3) setsebool -P ftpd_full_access on|off ## 开启用户登录
(4)测试 lftp 172.25.19.251 ## 上传成功
3 Selinux如何管理/错误信息处理
(1) rpm -qa grep setroubleshoot-server
(2) vim /etc/httpd/conf/httpd.conf ## 打开http配置文件
(3)(vim) port 80 >>> port 8848 ## 修改端口
(4) systemctl restart httpd ## 重启服务 ,发现报错
测试(5): > /var/log/messages ## 清空日志, Selinux的警告日志信分析之后给出的解决方案存储的位置
(6) > /var/log/audit/audit.log ## Selinux的警告日志信息文件: /var/log/audit/audit.log
(7) less /var/log/messages ##查看修改信息 ,按照提示进行修改
(8) systemctl restart httpd ## 重启服务 ,发现正常
(9) http://172.25.19.251:8848 ## 查看是否配置成功

3.selinux的常见操作结果

3.1.selinux服务共享文件安全上下文的管理

RESULT1:selinux为强制状态,访问失败(httpd)

在这里插入图片描述RESUTLT 2:selinux为permissive状态,访问成功(httpd)
在这里插入图片描述

RESUTLT 3:selinux为强制状态,访问成功(临时修改httpd)

在这里插入图片描述
RESUTLT 4:selinux为强制状态,访问成功(永久修改httpd)

在这里插入图片描述
RESUTLT 5:selinux为强制状态,访问成功(临时修改lftp)

在这里插入图片描述
RESUTLT 6:selinux为强制状态,访问成功(永久修改lftp)

在这里插入图片描述

3.2.selinux服务开关控制

在这里插入图片描述

3.3.Selinux如何管理/错误信息处理

在这里插入图片描述

发布了33 篇原创文章 · 获赞 8 · 访问量 2282

猜你喜欢

转载自blog.csdn.net/Pierce110110/article/details/103045729