SElinux管理

来源:https://www.cnblogs.com/heyongshen/archive/2022/08/04/16551006.html
-Advertisement-
Play Games

SElinux: 是Linux的一個強制訪問控制的安全模塊 SElinux的相關概念: 對象:文件、目錄、進程、埠等 主體:進程稱為主體 SElinux將所有的文件都賦予一個type類型的標簽,所有的進程也賦予一個domain類型的標簽。domain標簽能夠執行的操作由安全策略里定義 #ubunt ...


SElinux: 是Linux的一個強制訪問控制的安全模塊

SElinux的相關概念:

對象:文件、目錄、進程、埠等
主體:進程稱為主體
SElinux將所有的文件都賦予一個type類型的標簽,所有的進程也賦予一個domain類型的標簽。domain標簽能夠執行的操作由安全策略里定義

#ubuntu沒有使用selinux
安全策略:定義主體讀取對象的規則資料庫,定義那些行為是允許的,那些行為是拒絕的。

SElinux的四種工作類型

  • Strict:CentOS 5,每個進程都受到selinux的控制

  • targeted:用來保護常見的網路服務,僅有限進程受到selinux控制,只監控容易被入侵的進程

  • minimum:CentOS 7,修改的targeted,只對選擇的網路服務

  • mls:提供MLS(多級安全)機制的安全性

targeted為預設類型,其他三種都不再使用了

SElinux的安全上下文

安全上下文:就是一個標簽。規定只有特定標誌的進程才能訪問特定標識的文件或目錄

在linux中,一切皆文件
在selinux中,一切皆對象。

安全上下文有五個元素組成:

user:role:type:sensitivity:category

(1)User:指示登錄系統的用戶類型,進程:如system_u為系統服務進程,是受到管制的,unconfined_u為不管制的進程,用戶自己開啟的,如 bash,文件:system_u系統進程創建的文件, unconfined_u為用戶自已創建的文件

(2)Role:定義文件,進程和用戶的用途:進程:system_r為系統服務進程,受到管制。unconfined_r 為不管制進程,通常都是用戶自己開啟的,如 bash,文件:object_r

(3)Type:指定數據類型,規則中定義何種進程類型訪問何種文件Target策略基於type實現,多服務共用:public_content_t

(4)Sensitivity:限制訪問的需要,由組織定義的分層安全級別,如unclassified,secret,top,secret, 一個對象有且只有一個sensitivity,分0-15級,s0最低,Target策略預設使用s0

(5)Category:對於特定組織劃分不分層的分類,如FBI Secret,NSA secret, 一個對象可以有多個categroy, c0-c1023共1024個分類, Target 策略不使用category
啟用和禁用selinux
selinux的狀態
enforcing:啟用selinux,強制,每個受限的進程都必然受限

permissive:啟用selinux,但是違反了策略只會報警,不會阻止

disabled:不啟用selinux
相關命令

getenforce: 獲取selinux當前狀態

sestatus :查看selinux狀態

setenforce 0|1 0: 設置為permissive 1: 設置為enforcing

通過配置文件啟用或禁用
/boot/grub/grub.conf 在kernel行使用selinux=0禁用SELinux

/boot/grub2/grub.cfg 在linux16行使用selinux=0禁用SELinux

/etc/selinux/config 或 /etc/sysconfig/selinux 中 SELINUX=
{disabled|enforcing|permissive}

文件安全標簽的管理

給文件重新打標簽:chcon工具

chcon -R -t 上下文 目錄或者文件

#-R, --recursive:遞歸處理所有的文件及子目錄

恢覆文件的預設標簽:restorecon

restorecon [-R] /path/to/somewhere  #目錄文件就加R參數

修改預設的標簽:semanage工具

#查看預設的安全上下文
semanage fcontext -l

#添加安全上下文
semanage fcontext  -a -t httpd_sys_content_t   ‘/testdir(/.*)?’ #-a表示添加
restorecon -Rv /testdir

#刪除安全上下文
semanage fcontext  -d -t httpd_sys_content_t   ‘/testdir(/.*)?’

管理埠標簽

#查看埠標簽
semanage port -l

#添加埠
semanage port -a -t port_label -p tcp|udp PORT
semanage port -a -t http_port_t  -p tcp 9527

#刪除埠
semanage port -d -t port_label -p tcp|udp PORT
semanage port -d -t http_port_t  -p tcp 9527

#修改現有埠為新標簽
semanage port -m -t port_label -p tcp|udp PORT
semanage port -m -t http_port_t -p tcp 9527

管理SELinux布爾值

對指定服務的功能進行設置,服務能否正常啟用和服務是否正常啟動和selinux對應的bool值是否開啟共同決定。

#布爾型規則:
getsebool
setsebool
#臨時生效,重啟就不生效了  永久生效: 加上一個大寫的P

#查看指定的服務是否開啟了
getsebool -a | grep 服務名

#查看bool命令:
getsebool [-a] [boolean]
semanage boolean -l
semanage boolean -l -C 查看修改過的布爾值

#設置bool值命令:
setsebool [-P] boolean value(on,off)
setsebool [-P] Boolean=value(1,0)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 多線程下的數據安全 ​ 再以後的開發中,我們的項目都是運行在伺服器中,而伺服器已經將線程的定義,線程對象的創建,線程的啟動等,都已經實現完了。我們需要做的就是把編寫的程式放到一個多線程的環境下運行!確保這些數據在運行時都是安全的 一、線程存在安全的三個條件 多線程併發 有共用數據 共用數據有修改的行 ...
  • 在 Microsoft.Graphics.Canvas.Effects 命名空間 此命名空間提供了各種圖像效果處理。使用這些效果“大多數”都是簡單的配置下各個參數就可以實現效果,但是在 PixelShaderEffect 這個類使用情況就需要更複雜得多,今天我們就來介紹下 PixelShaderEf ...
  • 如何基於WPF實現一款資料庫文檔管理工具?SmartSQL正式基於WPF寫的這樣一款開源的資料庫文檔管理工具,包含的技術組件有HandyControl、SqlSugar、RazorEngine、iTextSharp、ZetaLongPaths等,用到的資料庫有SqlServer、MySql、Post... ...
  • 今天我們來瞭解一下ASP.NET MCV的基礎知識,ASP.NET是一種構建Web應用程式的框架,它將通常的MVC(Model-View-Controller)模式應用於ASP.NET框架。 ...
  • 有什麼大病。 粘包和半包問題是數據傳輸中比較常見的問題,所謂的粘包問題是指數據在傳輸時,在一條消息中讀取到了另一條消息的部分數據,這種現象就叫做粘包。 比如發送了兩條消息,分別為“ABC”和“DEF”,那麼正常情況下接收端也應該收到兩條消息“ABC”和“DEF”,但接收端卻收到的是“ABCD”,像這 ...
  • 好久沒寫文章了,有些同學問我公眾號是不是廢了?其實並沒有。其實想寫的東西很多很多,主要是最近公司比較忙,以及一些其他個人原因沒有時間來更新文章。這幾天抽空寫了一點點東西,證明公眾號還活著。 長久以來的認知,對於托管代碼 .NET / JAVA ,都是需要在伺服器上安裝 SDK 或者運行時的。比如 . ...
  • JetbrAIns Rider 2022 中文版是一個強大的跨平臺.Net開發IDE,可以與.NET Framework和.NET Core一起使用,也可以與Mono項目一起使用。因此,您可以使用rider 2022來創建類和庫,Web應用程式,獨立實用程式等。rider mac版是基於Intell ...
  • Linux系統基礎(二) 1、重定向 重定向 //將輸出的內容重定向到某個文件 //系統設定: 預設輸入設備 //標準輸入,STDIN,0 (鍵盤) 預設輸出設備 //標準輸出(顯示器) 標準正確輸出 //STDOUT,1 標準錯誤輸出 //STDERR,2 //I/O重定向: >:覆蓋輸出重定向 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...