SElinux學習總結

2021-09-29 03:08:57 字數 3827 閱讀 2118

selinux:【security-enhanced linux】安全增強式linux,是乙個linux核心的安全模組,其提供了訪問控制安全策略機制。selinux是可保護你系統安全性的額外機制,在某種程度上,它可以被看作是與標準許可權系統並行的許可權系統。在常規模式中,以使用者身份執行程序,並且系統上的檔案和其他資源都設定了許可權標籤 ( 控制哪些使用者對哪些檔案具有哪些訪問權 selinux 的另乙個不同之處在於,若要訪問檔案,你必須具有普通訪問許可權和 selinux 訪問許可權。因此,即使以超級使用者身份 root 執行程序,根據程序以及檔案或資源的 selinux 安全性上下文可能拒絕訪問檔案或資源限 )。

selinx支援3種模式

切換模式方式

getenforce			#selinux的狀態可以通過此命令檢視

setenforce 0|1 #在開啟狀態下,切換強制和寬容模式

setenforce 0 #寬容模式permissing

setenforce 1 #強制模式enforcing

vim /etc/vim /etc/sysconfig/selinux

selinux=enforcing|permissive|disabled

#修改配置檔案,設定啟動後模式

#注:配置檔案生效,必須重啟系統

概念

安全上下文:是針對程式訪問檔案設定的乙個簡單的、一致的訪問控制屬性,在selinux中,型別識別符號是安全上下文的主要組成部分,由於歷史原因,乙個程序的型別通常被稱為乙個域(domain),」域」和」域型別」意思都一樣,即都是安全上下文中的「type」。

作用: 訪問的憑證,特定的檔案被特定的程式訪問,會關閉系統認為不安全的所有功能

顯示安全上下文

ls -z 						#顯示安全上下文

semanage fcontext -l #查詢安全上下文列表,但是需要'|grep'在列表中找出檔案

修改安全上下文

chcon命令					#修改物件(檔案)的安全上下文

chcon [選項]

... [-u 使用者]

[-r 角色]

[-l 範圍]

[-t 型別] 檔案...

-h, --no-dereference #影響符號連線而非引用的檔案

--reference=參考檔案 #使用指定參考檔案的安全環境,而非指定值

-r, --recursive #遞迴處理所有的檔案及子目錄

-v, --verbose #為處理的所有檔案顯示診斷資訊

-u, --user=使用者 #設定指定使用者

-r, --role=角色 #設定指定角色

-t, --type=型別 #設定指定型別

-l, --range=範圍 #設定指定範圍

chcon -t public_content_t /testdir/filetest1

#改變/testdir/目錄下的filetest1檔案的安全上下文為public_content_t

semanage fcontext 命令				#用來查詢與修改selinux預設目錄的安全上下文

semanage fcontext [選項] 檔案路徑

-l #查詢安全上下文列表

-a #增加一些目錄的預設安全上下文型別到列表中

-d #刪除設定

semanage fcontext -l |

grep

'/testdir(/.*)?'

#在顯示列表中檢視是否有/testdir路徑檔案安全上下文設定

#/testdir(/.*)?格式表示testdir目錄及目錄下所有檔案

semanage fcontext -a -t public_content_t '/westosdir(/.*)?'

#新增相應規則到安全上下文列表

semanage fcontext -d '/westosdir(/.*)?'

#刪除列表中相應規則

selinux布林值:是針對服務程式功能設定的,是更改 selinux 策略行為的開關。 selinux 布林值是可以啟用或禁用的規則。安全管理員可以使 selinux 布林值來調整策略 , 以有選擇地進行調整。

顯示布林值

getsebool [-a]

[布林值條款]

-a #列出目前系統上面的所有布林值條款設定為開啟或關閉值

[root@station ~]

#顯示所有布林值條款設定中名字與ftp相關的

[root@station ~]

# getsebool ftpd_anon_write

ftpd_anon_write --> off

#顯示ftp匿名使用者寫許可權開關情況

修改布林值

setsebool [-p] 布林值條款=

[0|1]

|[off|on]

-p #直接將設定值寫入配置檔案,永久保留,0是關閉 1是開啟

setsebool -p ftpd_anon_write on

setsebool -p ftpd_anon_write=1

#開啟匿名上傳功能selinux控制開關

ftp服務匿名使用者安全上下文設定

vim /etc/vsftpd/vsftpd.conf 

systemctl restart vsftpd.service

chgrp

ftp /var/ftp/pub/

chmod 775 /var/ftp/pub/

#設定匿名使用者上傳功能

semanage fcontext -l |

grep public_content

semanage fcontext -a -t public_content_rw_t "/var/ftp/pub(/.*)?"

restorecon -rvvf /var/ftp/pub

ls -zd /var/ftp/pub/

#設定匿名使用者安全上下文列表

getsebool -a |

grep

ftpsetsebool -p ftpd_anon_write on

#開啟匿名上傳功能selinux控制開關

必須安裝 setroubleshoot-server 軟體包 , 才能將 selinux 訊息傳送至 /var/log/messages

setroubleshoot-server服務負責偵聽 /var/log/audit/audit.log 中的審核資訊並將簡短摘要傳送至/var/log/messages

SELinux學習筆記

1.selinux的開發原因是由於系統使用者或管理員對系統資源 檔案,裝置,埠.的誤用 如開放過大許可權 在不正確的位置開放了許可權 導致的系統漏洞,這一 方面是人為原因,另一方面是系統本來的資源 使用者的直接許可權管理方式的缺陷。selinux使用了mac 委任訪問控制 的方式管理許可權 2.se...

CentOS 如何關閉 SELINUX 總結

環境 centos 7.4 vi etc selinux config selinux enforcing 注釋掉 selinux disabled 增加 wq 儲存退出 setenforce 0 使配置立即生效 為什麼要關閉 selinux 一般安裝linux課程時都把selinux與iptabl...

semanage和SELinux的小總結

我對linux是個門外漢,有些地方描述的比較 粗獷 見諒見諒 文章結構什麼的,真的是有心無力,一片好文章也是一門技術活,所以,我用問答的形式來寫的,簡單,但感覺效果還是有的 最後,這篇算不上文章的文章,肯定是借鑑了其它的大神的,大神莫怪莫怪,大神年薪5000w,大神美女環繞,大神萬壽無疆 seman...