SELinux的安全防御

selinux 的三个状态:node

enforcing    强制linux

permissive    宽松vim

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

查看selinux状态命令:spa

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

[root@node-0001 ~]# getenforce 
Disabled日志

查看配置文件:server

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

临时设置    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

相关文章
相关标签/搜索