SELinux的安全防护

邮差的信 提交于 2020-04-29 18:45:52

selinux 的三个状态:

enforcing    强制

permissive    宽松

disabled    禁用 (注设置禁用需要修改配置文件)

查看selinux状态命令:

[root@node-0001 ~]# sestatus 
SELinux status:                 disabled

[root@node-0001 ~]# getenforce 
Disabled

查看配置文件:

[root@node-0001 ~]# cat /etc/selinux/config 

临时设置    0 宽松        1 强制

[root@node-0001 ~]# setenforce 1
setenforce: SELinux is disabled
[root@node-0001 ~]# getenforce 
Disabled

固定配置

[root@node-0001 ~]# vim /etc/selinux/config

上下文

[root@node-0001 ~]# tar -zcf log1.gz.tar /var/log/
tar: Removing leading `/' from member names
[root@node-0001 ~]# tar -zcf /var/ftp/log2.gz.tar /var/log
tar: Removing leading `/' from member names
[root@node-0001 ~]# ls -Z log1.gz.tar       #查看文件的上下文值
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 log1.gz.tar
[root@node-0001 ~]# ls -Z /var/ftp/log2.gz.tar       #查看上下文
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/log2.gz.tar

[root@node-0001 ~]# ls -dZ /root/      #查看目录的上下文值

[root@node-0001 ~]# ls -lZ /var/log/      #查看目录下文件的上下值

修改文件的上下文值 chcon 命令

方法一:

[root@node-0001 ~]# chcon -t public_content_t log1.gz.tar      

方法二:

[root@node-0001 ~]# tar -zcf log3.gz.tar /var/log
[root@node-0001 ~]# ls -Z log3.gz.tar 
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 log3.gz.tar
[root@node-0001 ~]# chcon --reference=/var/ftp/log2.gz.tar log3.gz.tar       #修改上下文 参照文件/var/ftp/log2.gz.tar

方法三:

[root@node-0001 ~]# tar -zcf log4.gz.tar /var/log
[root@node-0001 ~]# mv log4.gz.tar /var/ftp/
[root@node-0001 ~]# ls -Z /var/ftp/
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log2.gz.tar
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 log4.gz.tar
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub
[root@node-0001 ~]# restorecon /var/ftp/log4.gz.tar       #恢复为所在位置默认的上下文

[root@node-0001 ~]# ls -dZ /var/ftp/
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 /var/ftp/
[root@node-0001 ~]# ls -Z /var/ftp/
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log2.gz.tar
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log4.gz.tar
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub

[root@node-0001 ~]# restorecon -R /var/ftp/      #递归修改

打标签,重启后全部重置 /.autorelabel

[root@node-0001 ~]# touch /.autorelabel
[root@node-0001 ~]# reboot

调整selinux的布尔值

[root@node-0001 ~]# getsebool -a      #查看所有

[root@node-0001 ~]# getsebool -a | grep samba      #查看Samba的布尔值

[root@node-0001 ~]# setsebool samba_export_all_ro=on      #更改布尔值
[root@node-0001 ~]# setsebool -P samba_export_all_ro=on      #永久更改,重启后依然有效

 

开启seliunx日志功能

[root@node-0001 ~]# yum list | grep shoot
setroubleshoot.x86_64                       3.2.30-8.el7               base     
setroubleshoot-plugins.noarch               3.0.67-4.el7               base     
setroubleshoot-server.x86_64                3.2.30-8.el7               base     
[root@node-0001 ~]# yum -y install setroubleshoot*

[root@node-0001 ~]# reboot

[root@node-0001 ~]# grep -i shoot /var/log/messages | tail -1
Apr 29 18:06:22 node-0001 setroubleshoot: SELinux is preventing /usr/sbin/sshd from read access on the file config. For complete SELinux messages run: sealert -l afc4e76a-2e23-4e4e-b4e6-282706cdeb6e
[root@node-0001 ~]# sealert -l afc4e76a-2e23-4e4e-b4e6-282706cdeb6e

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!