首頁 > 軟體

Linux基礎教學學習筆記22——管理SELinux安全

2020-06-16 18:03:40

Linux基礎教學學習筆記22——管理SELinux安全

一、ugo模式主動存取控制DAC

檔案的許可權控制ugo  rwx

二、selinux強制存取控制MAC

每個檔案資源都有一個標記,特定標記的進程,只能存取特定標記的資源,無法存取其他資源,即使資源的許可權設定為777(rwx)

三、檢視和設定檔案和進程的安全標記

使用-Z的選項可以檢視檔案和進程的標記,以httpd服務為例子:

[root@linuxidc tmp]# ls -Z

--wx-----x. root  root  unconfined_u:object_r:user_tmp_t:s0 a1

-----w----. root  root  unconfined_u:object_r:user_tmp_t:s0 a4

---------x. root  root  unconfined_u:object_r:user_tmp_t:s0 a5

[root@linuxidc html]# ps auxZ|grep httpd

system_u:system_r:httpd_t:s0    root      5477  0.1  0.4 213692  4904 ?        Ss

[root@linuxidc html]# ls -ldZ /var/www/html/

drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

在根下建立一個www的目錄,並在/var/www/html下面做一個www的軟連結:

[root@linuxidc html]# mkdir /www

[root@linuxidc html]# ln -s /www/ www

[root@linuxidc html]# ls

index.html  iso  ks.cfg  www

/www目錄的預設的上上下文為,沒有標記為httpd:

[root@linuxidc html]# ls -ldZ /www/

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /www/

如果這時候啟動httpd服務,開啟瀏覽器,存取www目錄,會提示不被允許:

修改/www目錄的上下文,使其上下文與/var/www/html一致,再開啟www目錄即可存取:

[root@linuxidc html]# chcon -R --reference=/var/www/html/ /www

[root@linuxidc html]# ls -ldZ /www/

drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /www/

使用restorecon命令可以恢復檔案資源的預設上下文:

[root@linuxidc html]# ls -ldZ /www/

drwxr-xr-x. root root system_u:object_r:default_t:s0  /www/

使用chcon命令只能臨時改變檔案資源的上下文,重新啟動電腦則會恢復預設值,要想永久的修改預設的上下文,則需使用semanage命令:

[root@linuxidc html]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'

使用restorcon命令再恢復預設上下文,則恢復的是最新設定的上下文

使用-d選項可以刪除預設的上下文:

[root@linuxidc html]# semanage fcontext -d -t httpd_sys_content_t '/www(/.*)?'

四、selinux的三種模式

1、enforcing

使用getenforce可以檢視系統當前的模式:

[root@linuxidc html]# getenforce 

Enforcing

不符合selinux模式則會報警,同時會阻止相關的操作

2、permissive

切換到permissive模式,使用setenforce

[root@linuxidc html]# setenforce 0

[root@linuxidc html]# getenforce 

Permissive

不符合selinux模式的操作,permissive會有警報,但是不會阻止相關的操作;

3、disable

在/etc/selinux/config檔案中可永久修改selinux模式:

五、修改selinux模式的布林值

使用getsebool -a命令檢視所有的布林值

[root@linuxidc html]# getsebool -a

abrt_anon_write --> off

abrt_handle_event --> off

abrt_upload_watch_anon_write --> on

如果搭建了某個服務,在用戶端存取該服務,寫不進任何東西,可以按以下步驟檢查:

1、檢查組態檔是否開啟了相關的寫許可權;

2、檔案系統許可權

3、selinux上下文和布林值是否開啟了相關的許可權

圖形化管理selinux可以安裝相關的包,使用system-config-selinux命令;

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-03/115455.htm


IT145.com E-mail:sddin#qq.com