メインメニューで +を起動して、YaST GUIを開きます。以下に示すように、Novell AppArmorがYaSTインタフェースの中で開きます。
![]() | 注意 |
|---|---|
また、ターミナルウィンドウを開き、rootとしてログインし、「yast2」と入力してYaST GUIにアクセスすることもできます。 | |
![]() |
右のフレームにNovell AppArmorオプションアイコンが表示されます。YaSTウィンドウの左フレームでNovell AppArmor が表示されない場合、またはNovell AppArmorアイコンが表示されない場合、Novell AppArmorを再インストールする必要があるかもしれません。以下のアクションはNovell AppArmorから行うことができます。
以下のNovell AppArmorアイコンから1つをクリックし、以下に示すセクションに進みます。
手順の詳細については、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アドミニストレーションガイド)を参照してください。
手順の詳細については、4.3項 「レポート」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
手順の詳細については、3.3.6項 「Novell AppArmorおよびセキュリティイベントの状態の管理」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
は、Novell AppArmorプロファイルツール、genprof (プロファイルの生成)およびlogprof(ラーニングモードログファイルからプロファイルを更新)を使用して、Novell AppArmorプロファイルを設定するよう設計されています。これらのツールについての詳細は、3.5.3項 「ツールのプロファイルの概要」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
アプリケーションの起動がプロファイルに含まれるようにするには、アプリケーションをプロファイルする前に停止します。これを行うには、アプリケーションまたはデーモンがプロファイルする前に実行されていないことを確認します。
たとえば、rootとしてログインしている間に、ターミナルウィンドウで/etc/init.d/PROGRAM stopと入力します。PROGRAMは、プロファイルするプログラム名に置き換えます。
まだ行っていない場合、YaST GUIで+をクリックします。
![]() |
アプリケーション名を入力するか、プログラムがある場所を検索します。
をクリックします。autodepという名前のNovell AppArmorツールが実行されます。このツールではプログラムの静的な分析を行い、およそのプロファイルをNovell AppArmorモジュールにロードします。iautodepについての詳細は、3.5.3.1項 「autodep」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
ウィンドウが開きます。
![]() |
バックグラウンドでは、Novell AppArmorはプロファイルをラーニングモードに設定します。ラーニングモードについての詳細は、3.5.3.2項 「コンプレインモードまたはラーニングモード」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
プロファイルされているアプリケーションを実行します。
できるだけ多くのアプリケーション機能を実行し、ラーニングモードが、プログラムが正しく機能するためにアクセスを必要とするファイルおよびディレクトリを記録できるようにします。
をクリックして、ラーニングモードログファイルを解析します。セキュリティプロファイルを生成する際に、ウィザードを誘導するため答える必要がある一連の質問が生成されます。
![]() | 注意 |
|---|---|
hut追加のリクエストが表示される場合、第5章 ChangeHat Apacheを使用したWebアプリケーションのプロファイル (↑Novell AppArmor 2.0アドミニストレーションガイド)へ進みます。 | |
質問は2つのカテゴリに分かれます。
プロファイル内に存在しない、プロファイルされたプログラムによりリソースが要求されます(図 3.1. 「ラーニングモードの例外:特定のリソースへのアクセス制御」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照)。ラーニングモードの例外では、特定のリソースへのアクセスを許可または拒否することを要求します。
プログラムはプロファイルされたプログラムにより実行され、セキュリティドメインの移行は拒否されていません(図 3.2. 「ラーニングモードの例外:エントリへの実行権限を定義する」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照)。ラーニングモードの例外では、エントリへの実行権限を定義することが要求されます。
これらのケースはそれぞれ、リソースをプロファイルに追加するとき、またはプログラムをプロファイルに追加するときに回答する必要がある一連の質問となって現れます。以下の2つの図は、各ケースの例を示します。後のステップでは、これらの質問に回答する際のオプションについて記載します。
ウィンドウが開きます。
は、プロファイルしているアプリケーションがアクセスしているディレクトリパスエントリを示唆します(図 3.1. 「ラーニングモードの例外:特定のリソースへのアクセス制御」 (↑Novell AppArmor 2.0アドミニストレーションガイド)が示すとおり)。またはエントリへの実行権限を定義するよう要求します(図 3.2. 「ラーニングモードの例外:エントリへの実行権限を定義する」 (↑Novell AppArmor 2.0アドミニストレーションガイド)が示すとおり)。
(↑Novell AppArmor 2.0アドミニストレーションガイド)に向けて以下のオプションから、アクセスの要求を満たすものを選択します。選択するのは、推奨されるinclude、特定のグロッビングされたパスのバージョン、または実際のパス名などです。これらのオプションは必ずしも利用できるわけではないことに注意してください。
#includeincludeファイルを参照するNovell AppArmorプロファイルのセクションです。プログラムへのアクセス権を取得するファイルを含めます。includeを使用すると、その他のプログラムもまた必要とするディレクトリパスまたはファイルへのアクセス権を、プログラムに備えることができます。 includeを使用すると、プロファイルのサイズを縮小できます。提案されたときにincludeを選択するのは、良い習慣です。
以下のステップで説明するように、をクリックすることによりアクセスします。詳細については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
正しく実行されるよう、プログラムがアクセスを必要とする完全なパスです。
(↑Novell AppArmor 2.0アドミニストレーションガイド)に向けて以下のオプションから、アクセスの要求を満たすものを選択します。
同じセキュリティプロファイルを維持します(親のプロファイル)。
実行されたプログラムに対し別のプロファイルが存在することが必要です。
セキュリティプロファイルを持たずにプログラムを実行します。
![]() | 警告 |
|---|---|
どうしても必要な場合以外は、制限なしで実行しないでください。オプションを選択すると、AppArmorからの保護なしに新しいプログラムが実行されます。 | |
ディレクトリパスを選択したら、またはをクリックして、ディレクトリパスをNovell AppArmorプロファイルへのエントリとして処理する必要があります。表示されるディレクトリパスに満足しない場合は、またはできます。
ラーニングモードエントリの処理およびプロファイルの構築では、以下のオプションを使用できます。
特定のディレクトリパスエントリへのアクセスをプログラムに許可します。ではファイルのアクセス権を示唆します。詳細については、3.7項 「ファイルアクセス権限モード」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
プログラムが特定のディレクトリパスエントリへアクセスするのを防ぐには、をクリックします。
これをクリックすると、(ワイルドカードを使用して)ディレクトリが変更され、提示されたエントリディレクトリ内のすべてのファイルが含まれます。ダブルクリックすると、表示されたファイル以下のすべてのファイルおよびサブディレクトリへのアクセスが許可されます。
構文のグロッビングに関する情報の詳細については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
もとのディレクトリパスを変更する一方、ファイル名の拡張子は保持します。シングルクリックをすると、/etc/apache2/file.extは/etc/apache2/*.extとなります。ファイル名の替わりにワイルドカード(アスタリスク)を追加しています。これによりプログラムは、提案されたディレクトリ内にある、.ext拡張子で終わるすべてのファイルにアクセスできます。ダブルクリックすると、表示されたファイル以下の、(特定の拡張子を持つ)すべてのファイルおよびサブディレクトリへのアクセスが許可されます。
強調表示された行を編集できるようにします。新しい(編集した)行はリストの最後に表示されます。
これまでに入力した変更を排除し、すべてのプロファイルを制限なしのままにして、logprofを停止します。
これまでに入力した変更を保存し、すべてのプロファイルを変更して、logprofを閉じます。
各ラーニングモードエントリで、またはをクリックします。これらの処理はNovell AppArmorプロファイルの構築を支援します。
![]() | 注意 |
|---|---|
ラーニングモードエントリの数は、アプリケーションの複雑性と一致します。 | |
アプリケーションの機能性をさらに実行するには、前のステップを繰り返します。
終了したら、をクリックします。続くポップアップ画面でをクリックして、を終了します。プロファイルは保存され、Novell AppArmorモジュールにロードされます。
Novell AppArmorを使用すると、手動でエントリをプロファイルに追加してNovell AppArmorプロファイルを作成できます。単純にプロファイルを作成するアプリケーションを選択し、エントリを追加するだけです。
プロファイルを追加するには、+を開きます。Novell AppArmorインタフェースが開きます。
で、を選択します(図 3.3. 「手動によるプロファイルの追加アプリケーションの選択」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照)。
システムをブラウズしてプロファイルを作成するアプリケーションを検索します。
プロファイルを検索したら、選択してをクリックします。ウィンドウ内に、基本的な空のプロファイルが表示されます。
![]() |
ウィンドウでは、対応するボタンをクリックして以下のセクションを参照し、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アドミニストレーションガイド)です。
終了したら、をクリックします。
このセクションでは、3.3.2項 「手動によるプロファイルの追加」 (↑Novell AppArmor 2.0アドミニストレーションガイド)または3.3.3項 「プロファイルの編集」 (↑Novell AppArmor 2.0アドミニストレーションガイド)にある、オプションについて説明します。を選択すると、ドロップダウンリスト上に、Novell AppArmorプロファイルに追加できるエントリの種類が表示されます。
リストから、以下のうち1つを選択します。
ポップアップウィンドウで、ファイルの絶対パスおよび与えられているアクセス権を指定します。終了したら、をクリックします。
必要な場合、グロッビングを使用できます。グロッビングの情報については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。ファイルアクセス権情報に関しては、3.7項 「ファイルアクセス権限モード」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
![]() |
ポップアップウィンドウで、ディレクトリの絶対パスおよび与えられているアクセス権を指定します。必要な場合、グロッビングを使用できます。終了したら、をクリックします。
グロッビングの情報については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。ファイルアクセス権情報に関しては、3.7項 「ファイルアクセス権限モード」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
![]() |
ポップアップウィンドウで、適切な機能を選択します。これらは32 POSIX.1eの各機能を有効にする文です。機能に関する情報については、3.1.1項 「Novell AppArmorプロファイルの各部への分割」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。選択が終了したら、をクリックします。
![]() |
ポップアップウィンドウで、includeとして使用するファイルを検索します。includeは、他のNovell AppArmorプロファイルのコンポーネントを取得してプロファイルを簡素化するディレクティブです。詳細については、3.1.2項 「#include」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
![]() |
このセクションでは、3.3.2項 「手動によるプロファイルの追加」 (↑Novell AppArmor 2.0アドミニストレーションガイド)または3.3.3項 「プロファイルの編集」 (↑Novell AppArmor 2.0アドミニストレーションガイド)にある、オプションについて説明します。を選択すると、ファイルブラウザポップアップウィンドウが開きます。ここから選択したエントリを編集できます。
ポップアップウィンドウで、ファイルの絶対パスおよび与えられているアクセス権を指定します。必要な場合、グロッビングを使用できます。終了したら、をクリックします。
グロッビングの情報については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。ファイルアクセス権情報に関しては、3.7項 「ファイルアクセス権限モード」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
![]() |
このセクションでは、3.3.2項 「手動によるプロファイルの追加」 (↑Novell AppArmor 2.0アドミニストレーションガイド)または3.3.3項 「プロファイルの編集」 (↑Novell AppArmor 2.0アドミニストレーションガイド)にある、オプションについて説明します。エントリを選択し、をクリックすると、Novell AppArmorは選択したプロファイルエントリを削除します。
Novell AppArmorを使用すると、エントリを追加、編集、削除してNovell 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アドミニストレーションガイド)です。
終了したら、をクリックします。
表示されるポップアップ画面で、をクリックしてプロファイルへの変更を確定します。
Novell AppArmorを使用すると、Novell AppArmorプロファイルを手動で削除できます。単純にプロファイルを削除するアプリケーションを選択し、以下のように削除するだけです。
Novell AppArmorプロファイルウィザードではlogprofを使用します。このツールでログファイルをスキャンしてプロファイルを更新できます。logprofは、使用するシステム上で実行されているすべてのプロファイルへの例外を示す、Novell AppArmorモジュールからのメッセージを追跡します。これらの例外は、プログラムへのプロファイル定義外である、プロファイルされたアプリケーションの動作を表します。提案されたプロファイルエントリを選択して、新規の動作を関連するプロファイルに追加できます。
+を開きます。Novell AppArmorインタフェースが表示されます。
で、をクリックします。ウィンドウが表示されます。
![]() |
(logprof)を実行すると、ラーニングモードログファイルが解析されます。セキュリティプロファイルを生成する際に、logprofを誘導するため答える必要がある一連の質問が生成されます。
質問は2つのカテゴリに分かれます。
プロファイル内に存在しない、プロファイルされたプログラムによりリソースが要求されます(図 3.4. 「ラーニングモードの例外:特定のリソースへのアクセス制御」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照)。
プログラムはプロファイルされたプログラムにより実行され、セキュリティドメインの移行は拒否されていません(図 3.5. 「ラーニングモードの例外:エントリへの実行権限を定義する」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照)。
これらの場合の結果はいずれも、リソースまたはプログラムをプロファイルに追加するために答える必要がある質問となります。以下の2つの図は、各ケースの例を示します。後のステップでは、これらの質問に回答する際のオプションについて記載します。
logprofは、プロファイルしているアプリケーションがアクセスしているディレクトリパスエントリを示唆します(図 3.4. 「ラーニングモードの例外:特定のリソースへのアクセス制御」 (↑Novell AppArmor 2.0アドミニストレーションガイド)が示すとおり)。またはエントリへの実行権限を定義するよう要求します(図 3.5. 「ラーニングモードの例外:エントリへの実行権限を定義する」 (↑Novell AppArmor 2.0アドミニストレーションガイド)が示すとおり)。
図 3.4. 「ラーニングモードの例外:特定のリソースへのアクセス制御」 (↑Novell AppArmor 2.0アドミニストレーションガイド)に向けて以下のオプションから、アクセスの要求を満たすものを選択します。選択するのは、推奨されるinclude、特定のグロッビングされたパスのバージョン、または実際のパス名などです。これらのオプションは必ずしも利用できるわけではないことに注意してください。
#includeincludeファイルを参照するNovell AppArmorプロファイルのセクションです。プログラムへのアクセス権を取得するファイルを含めます。includeを使用すると、その他のプログラムもまた必要とするディレクトリパスまたはファイルへのアクセス権を、プログラムに備えることができます。 includeを使用すると、プロファイルのサイズを縮小できます。提案されたときにincludeを選択するのは、良い習慣です。
以下のステップで説明するように、をクリックすることによりアクセスします。詳細については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
正しく実行されるよう、プログラムがアクセスを必要とする完全なパスです。
図 3.5. 「ラーニングモードの例外:エントリへの実行権限を定義する」 (↑Novell AppArmor 2.0アドミニストレーションガイド)に向けて以下から、アクセスへの要求を満たすものを一つ選択します。
同じセキュリティプロファイルを維持します(親のプロファイル)。
実行されたプログラムに対し別のプロファイルが存在することが必要です。
セキュリティプロファイルを持たずにプログラムが実行されます。
![]() | 警告 |
|---|---|
どうしても必要な場合以外は、制限なしで実行しないでください。オプションを選択すると、AppArmorからの保護なしに新しいプログラムが実行されます。 | |
ディレクトリパスを選択したら、またはをクリックして、ディレクトリパスをNovell AppArmorプロファイルへのエントリとして処理する必要があります。表示されるディレクトリパスに満足しない場合は、またはできます。
ラーニングモードエントリの処理およびプロファイルの構築では、以下のオプションを使用できます。
特定のディレクトリパスエントリへのアクセスをプログラムに許可します。ではファイルのアクセス権を示唆します。詳細については、3.7項 「ファイルアクセス権限モード」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
プログラムが特定のディレクトリパスエントリへアクセスするのを防ぐには、をクリックします。
これをクリックすると、(ワイルドカードを使用して)ディレクトリが変更され、提示されたエントリディレクトリ内のすべてのファイルが含まれます。ダブルクリックすると、表示されたファイル以下のすべてのファイルおよびサブディレクトリへのアクセスが許可されます。
構文のグロッビングに関する情報の詳細については、3.6項 「パス名およびグロッビング」 (↑Novell AppArmor 2.0アドミニストレーションガイド)を参照してください。
もとのディレクトリパスを変更する一方、ファイル名の拡張子は保持します。シングルクリックをすると、/etc/apache2/file.extは/etc/apache2/*.extとなります。ファイル名の替わりにワイルドカード(アスタリスク)を追加しています。これによりプログラムは、提案されたディレクトリ内にある、.ext拡張子で終わるすべてのファイルにアクセスできます。ダブルクリックすると、表示されたファイル以下の、(特定の拡張子を持つ)すべてのファイルおよびサブディレクトリへのアクセスが許可されます。
強調表示された行を編集できるようにします。新しい(編集した)行はリストの最後に表示されます。
これまでに入力した変更を排除し、すべてのプロファイルを制限なしのままにして、logprofを停止します。
これまでに入力した変更を保存し、すべてのプロファイルを変更して、logprofを閉じます。
各ラーニングモードエントリで、またはをクリックします。これらの処理はNovell AppArmorプロファイルの構築を支援します。
![]() | 注意 |
|---|---|
ラーニングモードエントリの数は、アプリケーションの複雑性と一致します。 | |
アプリケーションの機能性をさらに実行するには、前のステップを繰り返します。
終了したら、をクリックします。続くポップアップ画面でをクリックして、を終了します。プロファイルは保存され、Novell AppArmorモジュールにロードされます。
Novell AppArmorを使用すると、Novell AppArmorの状態を変更し、イベントの通知を設定できます。
有効または無効にすることで、Novell AppArmorの状態を変更することができます。Novell AppArmorを有効にすると、システムでプログラムが悪用される可能性を防ぎます。Novell AppArmorを無効にすると、プロファイルが設定されていたとしても、システムから保護を削除します。
システムセキュリティイベントが発生したときに通知する方法と時間を決定します。
![]() | 注意 |
|---|---|
SUSE Linuxサーバ上に、単独メール配信プロトコル(smtp)を使用してメールを送信できるメールサーバを設定する必要があります。たとえば、イベント通知を動作させるには、postfixまたはeximを設定します。 | |
イベントの通知を設定する、またはNovell AppArmorの状態を変更するには、以下のステップを行います。
をクリックすると、ウィンドウが以下のように表示されます。
![]() |
画面から、を読み取るステータスメッセージを検索し、Novell AppArmorおよびセキュリティイベントの通知が実行されているか確認します。
Novell AppArmorの状態を変更するには、3.3.6.1項 「Novell AppArmorの状態の変更」 (↑Novell AppArmor 2.0アドミニストレーションガイド)で示されているように続けます。
セキュリティイベントの通知を設定するには、4.2.2項 「セキュリティイベントを設定する」 (↑Novell AppArmor 2.0アドミニストレーションガイド)で示されているように続けます。
Novell AppArmorの状態を変更するときは、有効または無効に設定します。Novell AppArmorが有効のとき、インストールは行われていて、Novell AppArmorセキュリティポリシーを実行し強制しています。