[轉帖] 銀河麒麟系統安全機制-KYSEC

https://zhuanlan.zhihu.com/p/349663329

 

麒麟系統爲什麼稱爲國內最安全的Linux系統?祕密就在於KYSEC,麒麟系統安全機制。一般情況下Linux下默認的接入控制是DAC,其特點是資源的擁有者可以對他進行任何操作(讀、寫、執行)。當一個進程準備操作資源時,Linux內核會比較進程和資源的UID和GID,如果權限允許,就可以進行相應的操作。這種方式在實際使用中往往會帶來一些問題,如果一個進程是以root的身份運行的,也就是他能對系統的任何資源進行操作,而且不被限制。假如我們的軟件存在漏洞呢?這往往是一個災難性的問題。因此,就引出了另外一種安全接入控制機制MAC。默認情況下,MAC不允許任何訪問,組織可以開發任意數量的策略規則指定允許什麼,從而避免很多攻擊。MAC強制訪問控制有三種實現方式:Apparmor、SELinux、kysec。

一、Apparmor

Apparmor是內核模塊的一個安全框架,使用文件名作爲安全標籤。系統管理員通過將每個程序與一個安全配置文件關聯,從而限制程序的功能。通過配置文件,你可以指定程序可以讀、寫或者運行哪些文件,是否可以打開網絡端口等。

Apparmor是Ubuntu的默認選擇。

二、SELinux

SELinux是美國國家安全局(NSA)對於強制訪問控制的實現,是Linux歷史上最傑出的系統安全子系統。通過給系統所有用戶、進程、文件分別賦予一個安全標記,通過安全策略規則來實施安全控制;只有安全策略允許的操作才能執行成功,安全策略禁止或者沒有定製安全策略的操作則執行失敗。

三、KYSEC

KYSEC是基於kysec安全標記對執行程序、腳本文件、共享庫、內核模塊進行保護的一種安全機制。除了系統默認集成的執行程序、腳本文件、共享庫、內核模塊,任何外來的該4種文件,如拷貝、移動、下載、重新編譯生成等,都必須添加到麒麟安全管理工具的相應白名單列表中,才能執行調用。會對白名單列表中的文件進行保護,保護文件不被修改、移動、刪除。

1、安全模式

KYSEC有三種安全模式:

  • 強制模式(Normal):出現違規操作時,不止會審計記錄該操作,還會阻止該操作的運行;
  • 警告模式(Warning):出現違規操作時,會彈出麒麟安全授權認證框進行授權;
  • 軟模式(Softmode):出現違規操作時,只會審計記錄該操作,而不會阻止該操作的運行。

2、使用介紹

1、查看當前kysec的相關安全狀態

getstatus

顯示結果如下:

  • 第一行Kysec status表示當前Kysec狀態爲normal;
  • 第二行exec control表示當前執行控制功能狀態爲警告;
  • 第三行net control表示當前網絡控制功能狀態爲警告;
  • 第四行file protect表示當前文件保護功能爲開;
  • 第五行kmod protect表示當前內核模塊保護狀態爲開;
  • 第六行three protect表示當前三權分立狀態爲關;
  • 第七行process protect表示當前進程保護功能爲開。

只有當相應功能的狀態爲開(on)時,其所控制的功能配置才能生效。

2、修改當前Kysec的相關安全狀態

# 設置Kysec安全狀態爲軟/強制模式;
sudo setstatus softmode/normal 
 
# 關閉執行控制功能狀態:
sudo setstatus -f exectl off

# 開啓執行控制功能狀態:
sudo setstatus -f exectl on

# 關閉內核模塊保護功能
sudo setstatus -f kmod off

# 關閉文件保護功能
sudo setstatus -f fpro off

3、查看Kysec安全標記

kysec_get /usr/sbin/kysec_get

顯示結果如下:

標記說明如下:

4、配置Kysec安全標記

kysec_set [-r] -n exectl/protect/userid -v 標記符號 file

設置文件或目錄的kysec安全標記;exectl對應執行控制標記,protect對應文件保護標記,userid對應文件身份標記;(strict安全模式時,只有secadm可以執行)

例子:

sudo kysec_set -n exectl -v original /tmp/ls
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章