Selinux管理工具semanage

2021-09-25 15:27:40 字數 2729 閱讀 4205

selinux極大的增強了linux系統的安全性,能將使用者許可權關在籠子裡,如httpd服務,apache預設只能訪問/var/www目錄,並只能監聽80和443埠,因此能有效的防範0-day類的攻擊。舉例來說,系統上的 apache 被發現存在乙個漏洞,使得某遠端使用者可以訪問系統上的敏感檔案(比如 /etc/passwd 來獲得系統已存在使用者),而修復該安全漏洞的 apache 更新補丁尚未發布。此時 selinux 可以起到彌補該漏洞的緩和方案。因為 /etc/passwd 不具有 apache 的訪問標籤,所以 apache 對於 /etc/passwd 的訪問會被 selinux 阻止。

centos系統自帶的chcon工具只能修改檔案、目錄等的檔案型別和策略,無法對埠、訊息介面和網路介面等進行管理,semanage能有效勝任selinux的相關配置工作。

安裝:

# yum -y install policycoreutils-python

基本使用:

管理登入linux的使用者和selinux侷限的使用者之間的對映。

semanage login [-s store] - [-sr] login_name | %groupname

管理策略模組:

semanage module [-s store] - [-m [--enable | --disable] ] module_name

管理網路埠型別定義

semanage port [-s store] - [-tr] [-p proto] port | port_range

例:如apache採用非標準埠,需執行如下命令:

檢視當前允許的httpd埠:

注意:8888是我剛才新增的

管理網路介面型別定義

semanage inte***ce [-s store] - [-tr] inte***ce_spec

管理網路節點型別定義

semanage node [-s store] - [-tr] [ -p protocol ] [-m netmask] address

管理檔案中對映定義

semanage fcontext [-s store] - [-frst] file_spec

semanage fcontext [-s store] - -e replacement target

首先,用 semanage fcontext -l | grep '/var/www' 獲知預設 /var/www 目錄的 selinux 上下文:

從中可以看到 apache 只能訪問包含 httpd_sys_content_t 標籤的檔案。

假設希望 apache 使用 /srv/www 作為**檔案目錄,那麼就需要給這個目錄下的檔案增加 httpd_sys_content_t 標籤,分兩步實現。

首先為 /srv/www 這個目錄下的檔案新增預設標籤型別:semanage fcontext -a -t httpd_sys_content_t '/srv/www(/.*)?' 然後用新的標籤型別標註已有檔案:restorecon -rv /srv/www 之後 apache 就可以使用該目錄下的檔案構建**了。

其中 restorecon 在 selinux 管理中很常見,起到恢復檔案預設標籤的作用。比如當從使用者主目錄下將某個檔案複製到 apache **目錄下時,apache 預設是無法訪問,因為使用者主目錄的下的檔案標籤是 user_home_t。此時就需要 restorecon 將其恢復為可被 apache 訪問的 httpd_sys_content_t 型別:

semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?" //新建一條規則,指定/web目錄及其下的所有檔案的擴充套件屬性為httpd_sys_content_t

IT專案管理工具

一 完善的專案管理工具,需要具有如下的管理模組 1.需求管理 專案的需求變更,跟蹤,控制 2.資源管理 專案的可利用的資源 人力,物力,財力 3.計畫管理 包括成員管理和許可權分配,日程排定,工作時間管理,里程碑設定 4.進度管理 日曆,工作流,專案路線圖和gantt圖 5.測試管理 專案軟體缺陷b...

SQLCE管理工具

如果你是做dotnet開發,同時在找sqlce桌面 嵌入式資料庫的管理工具,那麼database.net。另外,既然你是做dotnet開發,又選擇了sqlce資料庫,那麼你肯定對比過sqlite資料庫,他們的對比,我在其他文章寫過 個人經驗,不是很全面,僅供參考 如果要在sqlite和sqlce中間...

mysql管理工具

innochecksum 輸出innodb檔案的校驗碼,這個工具讀取innodb表空間檔案,計算每個頁的校驗值,跟儲存的進行比較,報告損壞的頁的資訊,主要是加快驗證掉電後貨是拷貝後表空間檔案的一致性,這個工具在5.6.16版本之前只支援2gb的檔案。該工具不能用在服務已經開啟的表空間檔案上,這種情況...