close
譯者:Nica  < nicaliu at gmail dot com>



Russell Coker 並沒有讓他的電腦沉睡,他將兩台伺服器,一台用來當作他的伺服器,另一台則為他的 Security Enhanced Linux "Play Machine"。



這台 Play Machine 開放給所有人登入,讓他們試試看能不能破壞該電腦的安全。這台機器的 root 的密碼是公開的 - 這是 Russell 活躍在 FOSS 社群的眾多方式之一,也是他另一個為力促其成為專案而得以不斷改善的方法。







專案 Security Enhanced Linux 是從美國 National Security Agency 開始的,它結合 kernel patch 增加 security 的功能,以及加入 patch 至應用程式,讓它們決定哪些 security domain 能夠執行程序。



用 Russell 自已的說法 「例如 /bin/login 會根據組態檔與安全性政策 (Security Policy) 資料庫,選擇使用者程序所使用的 domain。」



他對 SE Linux 的狂熱乃是開始於參加 2001 Linux symposium in Ottawa ,聽了 NSA Peter Loscocco 的演說之後。作為 Debian 開發人員,他覺得那應該成為分支套件的一部份,也認為那會花上他好幾個月的時間來進行整合。



事實上他花了更多的時間,而且也一直持續對此事件保持關切。他不再只是對 SE Linux 專案提出純貢獻 - 從積極正面來看,他擴充並改良範例 policy 的組態、強化 run_init 與 spasswd 工具程式、開發 devfsd 模組以利管理 devfs 檔案脈絡 (file context)、完成 setfile 程式的改進,還有擴展 strace,以便追蹤 SELinux 的 system call。(為了 SE Linux 與 Linux 的發展,他的日常工作的一些部份 - 像是 devfsd 模組與 spasswd 現在是停滯中的)



在線上提供一台 play machine,可以讓 SE Linux 變得更好 - 諸多早已發現的組態錯誤,在 policy 設計時的當下,就不會被用在公開 root 存取的機器上。



「當然還是會發現一些常見的 Unix Code 議題,例如當 UID == 0,locate 程式不會檢查權限,而當無法開啟 /etc/shadow 時,pam_unix.so 函式庫亦不會啟動 unix_chkpwd 程式。 雖然這些罕見的小問題,影響的是未使用 SE Linux 的系統,」 Russel 接著說:「但 locate 的問題,是我的 play machine 上的使用者發現的。」



Russell 的 play machine 有助於開發更健全的 security policy;若任何人取得未被認可的 root 權限,進入 SE Linux 的機器存取,是無法作出任何傷害行為的,而且,它們試圖破壞機器的所有行為,都會被一一紀錄下來。



「這也促成了 SE Linux 社群的發起,#selinux IRC channel 最初亦是起源於我的 play machine」他如是說道。



在下周的 Australian national Linux conference ,Russell 將發表 SE Linux 發展現況的演說,將著重於下一版 Debian - Lenny 上,簡略說明此開發的進程。



「SE Linux 將不會是 Lenny 的預設或標準安裝部份,但它將擁有更好的整合、更多的功能。此次的討論將從未來版本的 Debian 安裝程式支援層級開始。」



只要某人決定要用,就能使用 script 執行設定,不必自已手動弄半天。這些 script 本身是一連串簡單指令,所以 Russell 不擔心有人會困在這裡頭。



Russell 認為 SE Linux 能在 RedHat 社群的 Linux 分支套件 - Fedora,還有 Debian 裡運作無誤,且無論是 GNOME 或是舊版 KDE 亦沒有問題。若是 KDE 4 則仍有些問題待釐清。



除了這些以外,他亦將探討兩個類似的主題,由他的朋友 - 日本的開發人員 KaiGai Kohei 發表,KaiGai Kohei 被 Japan's IT Promotion Agency 認可為 「優異的程式人員 」,他將於最後幾分鐘退場。



演說有一部份會涉及安全性強化的 PostgreSQL ,將展現當下 SE Linux 對 PostgreSQL 資料庫的掌控。因此這是指對系統有一致性的存取模組,SE Linux 亦提供相同種類的安全性,予網頁服務的堆疊。



Russell 亦將切入 KaiGai 的演說,接手 LAPP/SELinux 的部份。LAPP 乃 Linux, Apache, Perl/Python 與 PostgreSQL 的縮寫,與大家較為熟知的 LAMP (Linux, Apache, Perl/Python and MySQL)【譯註】 - 已用於成千上萬的網站架構有些微的不同。



【譯註:LAMP 應為 Linux + Apache + MySQL + PHP,參考網站 http://lamphowto.com/



LAPP/SE Linux 著重於:在 SE Linux 完整堆疊裡,皆使用相同強制存取控制的方式。kernel 控制檔案存取、Apache 執行於相符於使用者的脈絡 (contexts) 下,而 PostgreSQL 則使用 SE Linux 所支援建置於 Apache 執行緒脈絡下的存取。



Russell 是 LCA 的常客,幾乎參與了每一場研討會 - 除了 2003 年在 Perth 舉辦的之外。他認為從一些演說中可以學到很多的東西、交換不同的意見,並透過他自已的演說提供資訊給社群。



他預計在不久的未來,啟動 Xen 伺服器的 SE Linux 訓練。「或許我能讓它及時趕上 LCA 的時程」



原文出處:

LCA 2009: Making Linux more secure



如有版權問題,煩請來信告知 nicaliu at gmail dot com  ,謝謝。

arrow
arrow
    全站熱搜

    nicaliu 發表在 痞客邦 留言(4) 人氣()