Centos配置叢集為什麼要關閉SELINUX
SELinux系統比起通常的Linux系統來,安全效能要高的多,它通過對於使用者,程式許可權的最小化,即使受到攻擊,程式或者使用者許可權被奪去,也不會對整個系統造成重大影響。
接下來我來介紹SELinux的一些特點。
對訪問的控制徹底化
特點1:MAC(Mandatory Access Control)―――對訪問的控制徹底化
對於所有的檔案,目錄,埠這類的資源的訪問,都可以是基於策略設定的,這些策略是由管理員定製的、一般使用者是沒有許可權更改的。
對於程式只賦予最小的許可權
特點2:TE (Type Enforcement)――― 對於程式只賦予最小的許可權
Te概念在 SELinux裡非常的重要。它的特點是對所有的檔案都賦予一個叫type的檔案型別標籤,對於所有的程式也賦予各自的一個叫 domain的 標籤。Domain標籤能夠執行的操作也是由access vector在策略裡定好的。
我們熟悉的apache伺服器,httpd程式只能在httpd_t 裡執行,這個httpd_t 的domain能執行的操作,比如能讀網頁內容檔案賦予httpd_sys_content_t,密碼檔案賦予shadow_t,TCP的80埠賦予 http_port_t等等。如果在access vector裡我們不允許 http_t來對http_port_t進行操作的話,Apache啟動都啟動不了。反過來說,我們只允許80埠,只允許讀取被標為 httpd_sys_content_t的檔案,httpd_t就不能用別的埠,也不能更改那些被標為httpd_sys_content_t的檔案(read only)。
防止許可權升級
特點3:domain遷移 ―― 防止許可權升級
在使用者環境裡執行點對點下載軟體azureus,你當前的domain是fu_t,但是,你考慮到安全問題,你打算讓他在azureus_t裡執行,你要是在terminal裡用命令啟動azureus的話,它的程式的domain就會預設繼承你實行的shell的fu_t。
有了domain遷移的話,我們就可以讓azureus在我們指定的azureus_t裡執行,在安全上面,這種做法更可取,它不會影響到你的fu_t。
下面是domain遷移指示的例子:
domain_auto_trans(fu_t,azureus_exec_t,azureus_t)
意思就是,當在 fu_t domain裡,實行了 被標為 azureus_exec_t的檔案時,domain 從fu_t遷移到 azureus_t。下面是Apache啟動的遷移圖。注意了,因為從哪一個domain能遷移到httpd_t是在策略裡定好了,所以要是我們手動 (/etc/init.d/httpd start)啟動apache的話,可能仍然留在sysadm_t裡,這樣就不能完成正確的遷移。要用run_init命令來手動啟動。
對於使用者只賦予最小的許可權
特點4:RBAC(role base access control) ――――― 對於使用者只賦予最小的許可權
對於使用者來說,被劃分成一些ROLE,即使是ROOT使用者,你要是不在sysadm_r裡,也還是不能實行sysadm_t管理操作的。因為,那些ROLE可以執行那些domain也是在策略裡設定的。ROLE也是可以遷移的,但是也只能按策略規定的遷移。
接下來我來介紹SELinux的一些特點。
對訪問的控制徹底化
特點1:MAC(Mandatory Access Control)―――對訪問的控制徹底化
對於所有的檔案,目錄,埠這類的資源的訪問,都可以是基於策略設定的,這些策略是由管理員定製的、一般使用者是沒有許可權更改的。
對於程式只賦予最小的許可權
特點2:TE (Type Enforcement)――― 對於程式只賦予最小的許可權
Te概念在 SELinux裡非常的重要。它的特點是對所有的檔案都賦予一個叫type的檔案型別標籤,對於所有的程式也賦予各自的一個叫 domain的 標籤。Domain標籤能夠執行的操作也是由access vector在策略裡定好的。
我們熟悉的apache伺服器,httpd程式只能在httpd_t 裡執行,這個httpd_t 的domain能執行的操作,比如能讀網頁內容檔案賦予httpd_sys_content_t,密碼檔案賦予shadow_t,TCP的80埠賦予 http_port_t等等。如果在access vector裡我們不允許 http_t來對http_port_t進行操作的話,Apache啟動都啟動不了。反過來說,我們只允許80埠,只允許讀取被標為 httpd_sys_content_t的檔案,httpd_t就不能用別的埠,也不能更改那些被標為httpd_sys_content_t的檔案(read only)。
防止許可權升級
特點3:domain遷移 ―― 防止許可權升級
在使用者環境裡執行點對點下載軟體azureus,你當前的domain是fu_t,但是,你考慮到安全問題,你打算讓他在azureus_t裡執行,你要是在terminal裡用命令啟動azureus的話,它的程式的domain就會預設繼承你實行的shell的fu_t。
有了domain遷移的話,我們就可以讓azureus在我們指定的azureus_t裡執行,在安全上面,這種做法更可取,它不會影響到你的fu_t。
下面是domain遷移指示的例子:
domain_auto_trans(fu_t,azureus_exec_t,azureus_t)
意思就是,當在 fu_t domain裡,實行了 被標為 azureus_exec_t的檔案時,domain 從fu_t遷移到 azureus_t。下面是Apache啟動的遷移圖。注意了,因為從哪一個domain能遷移到httpd_t是在策略裡定好了,所以要是我們手動 (/etc/init.d/httpd start)啟動apache的話,可能仍然留在sysadm_t裡,這樣就不能完成正確的遷移。要用run_init命令來手動啟動。
對於使用者只賦予最小的許可權
特點4:RBAC(role base access control) ――――― 對於使用者只賦予最小的許可權
對於使用者來說,被劃分成一些ROLE,即使是ROOT使用者,你要是不在sysadm_r裡,也還是不能實行sysadm_t管理操作的。因為,那些ROLE可以執行那些domain也是在策略裡設定的。ROLE也是可以遷移的,但是也只能按策略規定的遷移。
相關文章
- 什麼是seLinux?Linux關閉seLinux有什麼影響?Linux
- centos:開啟和關閉selinuxCentOSLinux
- 為什麼要用Redis叢集?Redis
- 關閉selinuxLinux
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- 檢視 SELinux狀態及關閉SELinuxLinux
- 為什麼Redis叢集要使用反向代理?Redis
- CentOS上zookeeper叢集模式安裝配置CentOS模式
- 檢視selinux的狀態以及關閉selinuxLinux
- mac os 關閉sip保護有什麼好處?有什麼壞處?macOS為什麼關閉sip?Mac
- SElinux的開啟和關閉Linux
- SElinux以及防火牆的關閉Linux防火牆
- [golang]為什麼Response Body需要被關閉Golang
- linux 怎麼配置叢集Linux
- JAVA為什麼要配置環境變數,怎樣配置Java變數
- CentOS下torque叢集配置(二)叢集中配置NFS實現檔案共享CentOSNFS
- CentOS7最小化安裝後要做的事(2):關閉 SELinuxCentOSLinux
- 為什麼要removeREM
- 為什麼要敏捷?敏捷
- 為什麼我們不用sourcemap了?hey-cli預設關閉打包配置
- Linux伺服器---關閉selinuxLinux伺服器
- RedHat 7 關閉防火牆及SElinuxRedhat防火牆Linux
- 我們為什麼會刪除不了叢集的 Namespace?namespace
- Hadoop叢集搭建之關閉防火牆(一)Hadoop防火牆
- MySQL 叢集的安全關閉和重啟方法MySql
- CentOS6.5安裝HBase叢集及多HMaster配置CentOSAST
- 為什麼要code reviewView
- Linux 臨時和永久關閉 SelinuxLinux
- with open為什麼會自動關閉檔案流
- redis偽叢集配置Cluster叢集模式Redis模式
- Java 18為什麼要指定UTF-8為預設字符集Java
- centos 6.9搭建pxc叢集CentOS
- 為什麼要關注軟體材料清單(SBOM)
- 為什麼企業要更加關注網路安全
- Centos7安裝Nacos單機模式以及叢集模式(包含nignx安裝以及實現叢集)的相關配置CentOS模式
- Kafka叢集配置Kafka
- mongo 叢集配置Go
- MySQL叢集配置MySql