3.3. 使用 YaST GUI 建立 Novell AppArmor 設定檔

從主功能表依序啟動 YaST+Novell AppArmor,開啟 YaST GUI。Novell AppArmor 會開啟於 YaST 介面,如下所示:

[Note]

您也可以登入 root 身分來開啟終端機視窗,然後輸入 yast2 來存取 YaST GUI。

YaST 的 Novell AppArmor 主要控制項

右窗格會顯示數個 Novell AppArmor 選項圖示。如果 Novell AppArmor 並未顯示在 YaST 視窗的左窗格中,或者並未顯示 Novell AppArmor 圖示,您可能需要重新安裝 。您可以在 Novell AppArmor 中執行以下的動作。

按一下以下其中一個 Novell AppArmor 圖示,繼續進行下面對照到的區段:

新增設定檔精靈

如需詳細步驟,請參閱節 3.3.1, "使用精靈新增設定檔" (↑Novell AppArmor 2.0 管理指南)

手動新增設定檔

在系統上新增應用程式的 Novell AppArmor 設定檔,而不透過精靈協助。如需詳細步驟,請參閱節 3.3.2, "手動新增至設定檔" (↑Novell AppArmor 2.0 管理指南)

編輯設定檔

編輯系統上的現有 Novell AppArmor 設定檔。如需詳細步驟,請參閱節 3.3.3, "編輯設定檔" (↑Novell AppArmor 2.0 管理指南)

刪除設定檔

刪除系統上的現有 Novell AppArmor 設定檔。如需詳細步驟,請參閱節 3.3.4, "刪除設定檔" (↑Novell AppArmor 2.0 管理指南)

更新設定檔精靈

如需詳細步驟,請參閱節 3.3.5, "從 Syslog 項目更新設定檔" (↑Novell AppArmor 2.0 管理指南)

AppArmor 報告

如需詳細步驟,請參閱節 4.3, "報告" (↑Novell AppArmor 2.0 管理指南)

AppArmor 控制台

如需詳細步驟,請參閱節 3.3.6, "管理 Novell AppArmor 和安全性事件狀態" (↑Novell AppArmor 2.0 管理指南)

3.3.1. 使用精靈新增設定檔

新增設定檔精靈是設計用來使用 Novell AppArmor 建立設定檔工具、genprof (產生設定檔) 和 logprof (從學習模式記錄檔更新設定檔) 來設定 Novell AppArmor 設定檔。若需有關這些工具的詳細資訊,請參閱節 3.5.3, "設定工具摘要" (↑Novell AppArmor 2.0 管理指南)

  1. 在進行設定之前先停止應用程式,以確保應用程式啟動已包含 (Include) 到設定檔。若要這樣做,請確定應用程式和精靈在建立設定檔之前並未在執行。

    例如,以 root 身份登入並在終端機視窗中輸入 /etc/init.d/PROGRAM stop,然後以要建立設定檔的程式名稱來取代 PROGRAM

  2. 若您還未完成以上動作,請在 YaST GUI 中按一下 Novell AppArmor+新增設定檔精靈

    選擇要建立設定檔的應用程式
  3. 輸入應用程式名稱,或是瀏覽程式的位置。

  4. 按一下建立。這將會執行一種稱為 autodep 的 Novell AppArmor 工具,該工具可執行程式的靜態分析以進行設定,並將近似的設定檔載入 Novell AppArmor 模組。如需有關 autodep 的詳細資訊,請參閱節 3.5.3.1, "autodep" (↑Novell AppArmor 2.0 管理指南)

    這時會開啟 AppArmor 建立設定檔精靈視窗。

    Novell AppArmor genprof 建立設定檔精靈

    在背景中,Novell AppArmor 也會將設定檔設定成學習模式。如需有關學習模式的詳細資訊,請參閱節 3.5.3.2, "complain 或學習模式" (↑Novell AppArmor 2.0 管理指南)

  5. 執行正在建立設定檔的應用程式。

  6. 請盡量執行應用程式功能,使學習模式能記錄程式正常執行功能所需要存取的檔案和目錄。

  7. 按一下掃瞄項目系統記錄來新增至設定檔,剖析學習模式記錄檔。這將會產生一系列的問題,您必須回答這些問題以引導精靈產生安全性設定檔。

    這些問題可分為兩種類別:

    在每個情況中,您都必須回答一系列的問題才能將資源新增至設定檔,或將程式新增至設定檔中。以下兩張圖片顯示各種情況的範例。後續步驟將說明回答這些問題的選項。

    這時會開啟 AppArmor 建立設定檔精靈視窗。

    圖形 3.1. 學習模式例外:控制特定資源的存取

    學習模式例外:控制特定資源的存取

    圖形 3.2. 學習模式例外:定義項目的執行許可權。

    學習模式例外:定義項目的執行許可權。
  8. 新增設定檔精靈會開始建議您設定之應用程式所存取的目錄路徑項目 (如 圖形 3.1, "學習模式例外:控制特定資源的存取" (↑Novell AppArmor 2.0 管理指南) 所示),或要求您定義項目的執行許可權 (如 圖形 3.2, "學習模式例外:定義項目的執行許可權。" (↑Novell AppArmor 2.0 管理指南) 所示)。

    1. (↑Novell AppArmor 2.0 管理指南) 中:在以下的選項中選擇一種可滿足存取要求選項,這有可能是建議的 Include、特定萬用字元版的路徑或實際路徑名稱。請注意,這些選項並非隨時都能使用。

      #include

      參照到 Include 檔案的 Novell AppArmor 設定檔區段。Include 檔案可取得程式的存取許可權。使用 Include,您就可以讓程式存取其他程式也需要的目錄路徑或檔案。使用 Include 可減少設定檔的大小。請在系統建議時選擇 Include。

      萬用字元版本

      請按一下 Glob 進行存取,詳細資訊請參閱下一個步驟說明。如需更多關於 globbing 語法的資訊,請參閱節 3.6, "路徑名稱和 globbing" (↑Novell AppArmor 2.0 管理指南)

      實際路徑名稱

      程式必須存取、才能正常執行的文字路徑。

    2. (↑Novell AppArmor 2.0 管理指南) 中:在下面選項中選擇可符合存取要求的選項。

      Inherit

      維持相同的安全性設定檔 (上層設定檔)。

      設定檔

      要求已執行程式必須有個別的設定檔。

      Unconfined

      執行不含安全性設定檔的程式。

      [Warning]警告

      除非確實需要,否則請勿執行 unconfined。選擇 Unconfined 選項,可執行不含任何 AppArmor 保護的新程式。

  9. 在選擇目錄路徑之後,您必須按一下允許拒絕,才能將其當作 Novell AppArmor 設定檔的項目來處理。如果您不滿意顯示的目錄路徑項目,您也可以為其進行 Glob編輯

    您可以使用以下選項來處理學習模式項目,並建立設定檔:

    允許

    授與程式指定之目錄路徑項目的存取權。新增設定檔精靈會建議檔案存取許可權。如需更多相關資訊,請參閱節 3.7, "檔案許可權存取模式" (↑Novell AppArmor 2.0 管理指南)

    拒絕

    按一下拒絕,避免程式存取指定的路徑目錄項目。

    Glob

    按一下該選項以修改目錄路徑 (使用萬用字元),將所有檔案包含在建議的項目路徑中。按兩下滑鼠,授與所有檔案和其下方子目錄的存取權。

    如需更多關於 globbing 語法的資訊,請參閱節 3.6, "路徑名稱和 globbing" (↑Novell AppArmor 2.0 管理指南)

    Glob 含副檔名

    修改原始目錄路徑,並保留檔案名稱副檔名。按一下滑鼠將 /etc/apache2/file.ext 變成 /etc/apache2/*.ext,並在檔案名稱中加入萬用字元 (星號)。這可讓程式在建議目錄中存取副檔名為 .ext 的所有檔案。按兩下以授與所有檔案 (含特定副檔名) 和其下方子目錄的存取權。

    編輯

    在反白的行上進行編輯。新的 (已編輯) 行會出現在清單底部。

    中止

    中止 logprof、刪除目前為止所輸入的所有規則變更,並保留所有的設定檔而不要改變。

    完成

    關閉 logprof、儲存目前為止所輸入的所有規則變更,並修改所有的設定檔。

    在每個學習模式項目中,按一下允許拒絕。這將能協助您建立 Novell AppArmor 設定檔。

    [Note]

    學習模式項目的數量會影響應用程式的複雜度。

    如果您需要更多的應用程式功能,請重複上一個步驟。

    當您完成時,按一下完成。在隨後出現的快顯視窗中按一下,結束設定檔建立精靈。這樣便可儲存這個設定檔,並將其載入到 Novell AppArmor 模組。

3.3.2. 手動新增至設定檔

Novell AppArmor 可讓您手動將項目新增設定檔,建立 Novell AppArmor 設定檔。您僅需選擇要建立設定檔的應用程式,然後新增項目。

  1. 若要新增設定檔,請開啟 YaST+Novell AppArmor。開啟 Novell AppArmor 介面。

  2. Novell AppArmor 中,按一下手動新增設定檔 (請參考 圖形 3.3, "手動新增至設定檔:選擇應用程式" (↑Novell AppArmor 2.0 管理指南))。

    圖形 3.3. 手動新增至設定檔:選擇應用程式

    選擇應用程式來建立設定檔
  3. 瀏覽系統,尋找要建立設定檔的應用程式。

  4. 選擇您找到的設定檔,並按一下開啟。這時 Novell AppArmor Profile Dialog 視窗中會顯示一個基本的空白設定檔。

    手動建立設定檔
  5. AppArmor 設定檔對話方塊視窗中,您可以按一下對應的按鈕並參考以下小節來新增、編輯或刪除 Novell AppArmor 設定檔:節 3.3.2.1, "新增項目" (↑Novell AppArmor 2.0 管理指南)節 3.3.2.2, "編輯項目" (↑Novell AppArmor 2.0 管理指南)節 3.3.2.2, "編輯項目" (↑Novell AppArmor 2.0 管理指南)

  6. 當您完成時,按一下完成

3.3.2.1. 新增項目

本節說明可在 節 3.3.2, "手動新增至設定檔" (↑Novell AppArmor 2.0 管理指南)節 3.3.3, "編輯設定檔" (↑Novell AppArmor 2.0 管理指南) 中找到的新增項目選項。當您選擇新增項目時,下拉式清單將會顯示可新增至 Novell AppArmor 設定檔的項目類型。

3.3.2.2. 編輯項目

本節說明可在節 3.3.2, "手動新增至設定檔" (↑Novell AppArmor 2.0 管理指南)節 3.3.3, "編輯設定檔" (↑Novell AppArmor 2.0 管理指南)中找到的編輯項目選項。當您選擇編輯項目時,畫面上會開啟檔案瀏覽器快顯視窗。您可以在此編輯選擇的項目。

在快顯示視窗中,指定檔案的絕對路徑,包括允許的存取類型。您可以視需要使用 globbing。當完成時,按一下確定

如需關於 globbing 的資訊,請參閱節 3.6, "路徑名稱和 globbing" (↑Novell AppArmor 2.0 管理指南)。如需關於檔案存取許可權的資訊,請參閱節 3.7, "檔案許可權存取模式" (↑Novell AppArmor 2.0 管理指南)

編輯項目

3.3.2.3. 刪除項目

本節說明可在節 3.3.2, "手動新增至設定檔" (↑Novell AppArmor 2.0 管理指南)節 3.3.3, "編輯設定檔" (↑Novell AppArmor 2.0 管理指南)中找到的刪除項目選項。在選擇項目後選擇刪除項目,Novell AppArmor 會移除您選擇的設定檔項目。

3.3.3. 編輯設定檔

Novell AppArmor 可讓您新增、編輯或刪除項目以手動編輯 Novell AppArmor 設定檔,您僅需選擇設定檔,然後新增、編輯或刪除項目。若要編輯設定檔,請遵循下列步驟:

  1. 開啟 YaST+Novell AppArmor

  2. Novell AppArmor 中按一下 編輯設定檔。接著會開啟編輯設定檔 -- 選擇要編輯的設定檔視窗。

    選擇要編輯的設定檔
  3. 在已設定程式的清單中,選擇要編輯的設定檔。

  4. 按一下下一步AppArmor 設定檔對話方塊視窗會顯示該設定檔。

    AppArmor 設定檔對話方塊
  5. AppArmor 設定檔對話方塊視窗中,您可以按一下對應的按鈕並參考以下小節來新增、編輯或刪除 Novell AppArmor 設定檔:節 3.3.2.1, "新增項目" (↑Novell AppArmor 2.0 管理指南)節 3.3.2.2, "編輯項目" (↑Novell AppArmor 2.0 管理指南)節 3.3.2.3, "刪除項目" (↑Novell AppArmor 2.0 管理指南)

  6. 當您完成時,按一下完成

  7. 在出現的快顯視窗中,按一下,確認設定檔的變更。

3.3.4. 刪除設定檔

Novell AppArmor 可讓您用來手動刪除 Novell AppArmor 設定檔。您僅需選擇要刪除設定檔的應用程式,然後將其刪除,如下所示:

  1. 開啟 YaST+Novell AppArmor。這時會開啟 Novell AppArmor 介面。

  2. Novell AppArmor 中按一下 刪除設定檔圖示。接著會開啟刪除設定檔 -- 選擇要編輯的設定檔視窗。

    刪除設定檔,選擇要刪除的設定檔
  3. 選擇要刪除的設定檔。

  4. 按一下下一步

  5. 在開啟的快顯視窗中,按一下以刪除設定檔。

3.3.5. 從 Syslog 項目更新設定檔

Novell AppArmor 設定檔精靈會使用 logprof 工具來掃描記錄檔,並可讓您更新設定檔。logprof 會追蹤 模組的訊息,其代表在系統上執行之所有設定檔的例外。這些例外代表程式設定檔定義之外的已設定應用程式行為。您可以選擇建議的設定檔項目以將新行為新增至相關的設定檔。

  1. 開啟 YaST+Novell AppArmor。這時會開啟 Novell AppArmor 介面。

  2. Novell AppArmor 中按一下 更新設定檔精靈。這時會顯示 AppArmor 設定檔精靈視窗。

    AppArmor 設定檔精靈

    執行更新設定檔精靈 (logprof) 以分析學習模式檔案。這將會產生一系列的問題,您必須回答這些問題以引導 logprof 產生安全性設定檔。

    這些問題可分為兩種類別:

    在每個情況中,您都必須回答問題以將資源或程式新增至設定檔。以下兩張圖片顯示各種情況的範例。後續步驟將說明回答這些問題的選項。

    圖形 3.4. 學習模式例外:控制特定資源的存取

    學習模式例外:控制特定資源的存取

    圖形 3.5. 學習模式例外:定義項目的執行許可權。

    學習模式例外:定義項目的執行許可權。
  3. logprof 會開始建議您設定之應用程式所存取的目錄路徑項目 (如 圖形 3.4, "學習模式例外:控制特定資源的存取" (↑Novell AppArmor 2.0 管理指南) 所示),或要求您定義項目的執行許可權 (如 圖形 3.5, "學習模式例外:定義項目的執行許可權。" (↑Novell AppArmor 2.0 管理指南) 所示)。

    1. 圖形 3.4, "學習模式例外:控制特定資源的存取" (↑Novell AppArmor 2.0 管理指南) 中:在以下的選項中選擇一種可滿足存取要求選項,這有可能是建議的 Include、特定萬用字元版的路徑或實際路徑名稱。請注意,這些選項並非隨時都能使用。

      #include

      參照到 Include 檔案的 Novell AppArmor 設定檔區段。Include 檔案可取得程式的存取權限。使用 Include,您就可以讓程式存取其他程式也需要的目錄路徑或檔案。使用 Include 可減少設定檔的大小。請在系統建議時選擇 Include。

      萬用字元版本

      請按一下 Glob 進行存取,詳細資訊請參閱下一個步驟說明。如需更多關於 globbing 語法的資訊,請參閱節 3.6, "路徑名稱和 globbing" (↑Novell AppArmor 2.0 管理指南)

      實際路徑名稱

      這是程式所必須存取的文字路徑,使其能夠正常執行。

    2. 圖形 3.5, "學習模式例外:定義項目的執行許可權。" (↑Novell AppArmor 2.0 管理指南) 中:在下方選擇可滿足存取要求的選項:

      Inherit

      維持相同的安全性設定檔 (上層設定檔)

      設定檔

      需要已執行程式的個別設定檔

      Unconfined

      執行不含安全性設定檔的程式

      [Warning]警告

      除非確實需要,否則請勿執行 unconfined。選擇 Unconfined 選項,可執行不含任何 AppArmor 保護的新程式。

  4. 在選擇目錄路徑之後,您必須按一下允許拒絕,才能將其當作 Novell AppArmor 設定檔的項目來處理。如果您不滿意顯示的目錄路徑項目,您也可以為其進行 Glob編輯

    您可以使用以下選項來處理學習模式項目,並建立設定檔:

    允許

    授與程式指定之目錄路徑項目的存取權。設定檔建立精靈會建議檔案存取許可權。如需更多相關資訊,請參閱節 3.7, "檔案許可權存取模式" (↑Novell AppArmor 2.0 管理指南)

    拒絕

    按一下拒絕,避免程式存取指定的路徑目錄項目。

    Glob

    按一下該選項以修改目錄路徑 (使用萬用字元),將所有檔案包含在建議的項目路徑中。按兩下滑鼠,授與所有檔案和其下方子目錄的存取權。

    如需更多關於 globbing 語法的資訊,請參閱節 3.6, "路徑名稱和 globbing" (↑Novell AppArmor 2.0 管理指南)

    Glob 含副檔名

    修改原始目錄路徑並保留檔案名稱副檔名。按一下將 /etc/apache2/file.ext 變成 /etc/apache2/*.ext,並在檔案名稱中加入萬用字元 (星號)。這可讓程式在建議之目錄中存取副檔名為 .ext 的所有檔案。按兩下以授與所有檔案 (含特定副檔名) 和其下方子目錄的存取權。

    編輯

    在反白的行上進行編輯。新的 (已編輯) 行會出現在清單底部。

    中止

    中止 logprof、刪除目前為止所輸入的所有規則變更,並保留所有的設定檔而不要改變。

    完成

    關閉 logprof、儲存目前為止所輸入的所有規則變更,並修改所有的設定檔。

    在每個學習模式項目中,按一下允許拒絕。這將能協助您建立 Novell AppArmor 設定檔。

    [Note]

    學習模式項目的數量會影響應用程式的複雜度。

    如果您需要更多的應用程式功能,請重複上一個步驟。

    當您完成時,按一下完成。在隨後出現的快顯視窗中按一下,結束設定檔建立精靈。這樣便可儲存這個設定檔,並將其載入到 Novell AppArmor 模組。

3.3.6. 管理 Novell AppArmor 和安全性事件狀態

Novell AppArmor 可讓您變更 Novell AppArmor 的狀態,並設定事件通知。

變更 Novell AppArmor 狀態

您可以進行啟用或停用以變更 Novell AppArmor 的狀態。啟用 Novell AppArmor 可保護系統不會受到潛在的程式利用。即使您已設定設定檔,停用 Novell AppArmor 將會移除系統保護。

設定事件通知

您可以決定發生系統安全性事件時,系統通知您的方式及時間。

[Note]

您可以設定 SUSE Linux 伺服器上的郵件伺服器,以使用簡易郵件傳送協定 (smtp) 來傳送外寄郵件。例如,設定 postfix 或 exim 以使用事件通知。

若要設定事件通知或變更 Novell AppArmor 的狀態,請執行以下步驟:

  1. 當您按一下 Novell AppArmor 控制台時會出線Novell AppArmor 組態視窗,如下方所示:

    AppArmor 控制台
  2. Novell AppArmor 組態畫面中,決定安全性事件通知是否要以尋找已啟用狀態訊息的方式執行。

3.3.6.1. 變更 Novell AppArmor 狀態

當您變更 Novell AppArmor 的狀態時,您可以將其設定為啟用或停用。若您在進行安裝時啟用 Novell AppArmor,則會執行並強制執行 Novell AppArmor 安全性原則。

  1. 若要啟用 Novell AppArmor,請開啟 YaST+Novell AppArmor。這時會開啟 Novell AppArmor 主功能表。

  2. Novell AppArmor 主功能表中,按一下 AppArmor 控制台。這時會出現 AppArmor 組態視窗。

    AppArmor 組態視窗
  3. 在視窗的啟用 Novell AppArmor 區段中,按一下設定。這時會開啟啟用 Novell AppArmor 對話方塊。

    啟用 AppArmor
  4. 選擇啟用來啟用 Novell AppArmor,或選擇停用來停用 Novell AppArmor。然後按一下確定

  5. AppArmor 組態視窗中按一下完成

  6. 在 YaST 控制台中按一下檔案+結束