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

相關文章
相關標籤/搜索