Fedora 安裝後需要做的第一件事

這裏寫圖片描述

一直以來,Red Hat 系的許多教程,都會建議你關閉 SELinux。確實,啓用 SELinux 可能會造成許多莫名其妙的錯誤。但在實際生產環境,甚至是用戶工作站,Red Hat 都建議將 SELinux 設爲 enforcing 模式,因爲它在關鍵時候可以成爲你係統安全的最後一道防線。


程序是不可信的

技術的發展日新月異,我們的系統安全卻不容樂觀。wooyun.org 時不時爆出的各種漏洞,都在提醒我們 程序總是存在缺陷的。

傳統的操作系統採用 DAC 機制,它針對用戶進行訪問控制,系統會信任用戶執行的所有程序,但往往用戶無法判斷程序是否存在安全問題。

後來,出現了 MAC 機制,它以進程爲訪問控制的首要目標,通過規則嚴格限制程序運行時可以執行的系統調用。

另外,在保密級別較高的地方,根據資源的機密程度結合 MAC 又衍生出了 MLS 多級安全策略。

我們的主角 SELinux 是 MAC+MLS 的實現方案之一,它最初由 NSA 基於 flask 框架開發,目前主要由 Tresys 和 Red Hat 進行維護。


用戶與隱私

自 1987 年 9 月 20 日,CANET 向世界發出第一封 E-mail 爲標誌,互聯網正式進入中國大陸。截至 2015 年 6 月,我國網民已達到 6.68 億人。隨着網絡的發展,隱私與安全一直是大受關注的話題。現在,隨便什麼應用/網站都需要註冊,各種客戶端都提供網絡連接功能。在不知不覺中,你的聯繫人,朋友圈都展示在了網上。可以負責任的說,在互聯網面前,我們每個人都沒有隱私。

保護個人隱私是一個系統工程。它需要可信的硬件/固件,可信的操作系統,可信的應用程序,可信的網絡環境,可信的用戶。

  • 硬件方面:X86、Arm 體系就是事實的工業標準,但目前沒有可信的第三方機構進行評估。
  • 系統方面:儘量使用開源操作系統,Open Source 可以確保系統沒有惡意行爲。
    • 早在 1985 年,美國國防部公佈了 可信計算機系統評估標準,該標準將計算機系統分爲 A(A1), B(B3 B2 B1), C(C2 C1), D(D1) 四個等級,共7個級別。沒有 SELinux 的 Linux 和 Windows 一樣都處於 C2 級別。
  • 應用程序:儘量使用開源軟件,閉源軟件或多或少都會侵犯用戶隱私。
  • 網絡方面:儘量不訪問/註冊來歷不明的網站,儘量不使用公共 Wifi。事實上,個人無法控制運營商的行爲。
  • 用戶方面:用戶對於隱私保護有最重要的作用。俗話說得好,“機器是死的,人是活的“。只有用戶養成了良好的習慣,才能保護好隱私。切勿抱有”我的信息並沒有什麼卵用“的僥倖心理。

SELinux 與隱私保護

SELinux 爲系統提供了額外的一層保護,能夠在一定程度上防止隱私泄露。這裏提一下基本概念, SELinux 是基於標籤的強制訪問控制系統。所有系統資源都包含標籤上下文,只有進程標籤符合訪問對象(文件/socket/dbus…)的標籤,才允許進程訪問該資源。而標籤又關聯了一系列角色(role),角色又關聯了一系列 SELinux user。通過將 SELinux user 與 Linux user 關聯,該用戶就具有了這些標籤。此時,用戶執行的程序就都處於這些標籤規則的限制範圍了。

在 Fedora 中,默認用戶關聯 unconfined_t 標籤,該標籤是無限制的,相當於未啓用 SELinux。這主要爲了兼容性考慮,targeted 規則僅限制網絡相關應用。Red Hat 建議用戶關聯非 unconfined_t 標籤來提高安全性。

1.配置賬戶映射 SELinux user

$ sudo semanage login -a -s staff_u -r s0:c0.c1023 Jone

2.配置 sudo,指定需要轉換的 ROLE/TYPE

$ sudo echo "Jone ALL=(ALL) TYPE=unconfined_t ROLE=unconfined_r ALL" >> /etc/sudoers.d/Jone

3.對 home 目錄重新進行標記,並重啓

$ restorecon -R -v /home/Jone

4.現在你的登陸 shell 就是以 staff_u 用戶運行

$ id -Z
staff_u:staff_r:staff_t:s0-s0:c0.c1023

5.如果你需要執行系統管理操作,可使用 sudo 進行提權,這和原來一模一樣

$ sudo id -Z
staff_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

廣告

最後,插播廣告。Fedora 社區源正在使用 SELinux 加固軟件,目前已完成了 sogoupinyin。

安裝 sogoupinyin SELinux 模塊,禁止 sogou 訪問網絡:

$ sudo dnf install sogoupinyin sogoupinyin-selinux
$ sudo setsebool -P sogou_access_network=0

參考

1.TCSEC, Trusted Computer System Evaluation Criteria
2.SELinux Project
3.原文: Fedora 安裝後需要做的第一件事

– EOF –

發佈了43 篇原創文章 · 獲贊 42 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章