2009-06-17 54 views
3

有什麼最佳實踐可以用SELinux處理Java應用程序? 它能夠爲每個Java應用程序配置SELinux,還是隻能對虛擬機進行處理,因爲它會進行壓軸系統調用?SELinux和Java

+2

考慮編輯SELinux策略文件時務必小心。在一個理想的世界裏,我們希望一次寫下這個政策,然後讓這個政策適合一切。當然這是不可行的,但應該努力做到這一點。 – 2009-07-27 21:58:54

回答

3

您可以擁有任意數量的JVM以及任意數量的JVM版本。如果您願意,您可以獨立配置它們。

我會建議讓JVM的數量保持在你擁有的核心數量或更少。如果您開始擁有數百個JVM,則可能難以管理和配置。

4

如果您問Java和SELinux的工作方式,它取決於如何定義策略。您將主要關注java進程運行的領域,它到達該域的方式以及該域允許執行的操作。

一個域只是一個SELinux上下文來查看一個進程正在運行的上下文/域,因爲嘗試ps的-Z選項(即ps -Z)。同樣,如果要查看文件的上下文,請嘗試使用ls的-Z選項(即ls -Z)

您會有興趣查看SELinux策略源或使用sesearch或apol(來自setools)之類的分析工具來查看什麼樣的政策允許以及java如何進入特定的領域。

從那裏你會關心修改/寫入策略,這可能是一個涉及的過程,但工具已經被編寫,例如SLIDE(eclipse插件),seedit(儘管我沒有這方面的經驗)。

2

這不僅僅是您必須擔心的可執行文件,它涉及到的所有文件。這是SElinux背後的真正力量。我反對關閉這個有價值的工具。我從Redhat的Dan Walsh看到的是,unconfined_u將會消失。那麼,這意味着你必須重新調整數據文件,包括主目錄中的.eclipse數據文件。我已將主登錄信息減少到staff_u,我擁有sudo訪問權限,但已將fcontext更改爲/HOME_DIR/.eclipse(/.*)+ staff_java_t