Debian AppArmor チュートリアル
AppArmor は、非常に効果的でユーザーフレンドリーな Linux ソフトウェア セキュリティ メカニズムです。 AppArmor は、プログラムを特定のリソースに制限する中核的な改善です。アクセス制御プロパティをユーザーではなくプログラムに接続します。 AppArmor は、一般に AppArmor プロファイルと呼ばれるセキュリティ ポリシーを実装することにより、Linux オペレーティング システムとアプリを多数の攻撃から保護します。 AppArmor プロファイルは単純なテキスト ファイルで構成されます。ファイル アクセスを定義するときは、ファイル グロビングと絶対パスの両方を適用できます。
AppArmor には強制と文句の 2 つの機能モードがあります。 AppArmor の運用ステータスはデフォルトで強制モードですが、違反をログに記録し、実際の操作パターンに基づいてルール セットを定義するには、コンプレイン モードが有益です。対照的に、AppArmor はフレームワークのコンポーネントであるため、追加、変更、無効化、またはアンインストールできるアドオン機能です。このチュートリアルでは AppArmor の実装を検討して、詳細を確認します。
Debian への AppArmor のインストール
AppArmor はすでにセットアップされており、Debian オペレーティング システムにロードされています。プログラムがファイルと権限を決定するために必要なアプリケーションのプロファイルを利用します。一部のユーティリティはプロファイルをインストールしますが、AppArmor-profiles パッケージにはさらに多くのプロファイルが含まれています。 apt コマンドは、次の図に示すように、Debian オペレーティング システムに「audit」apparmor-utils をインストールするために使用されます。プロファイルの作成にツールが必要ない場合は、コマンドから「audit」ユーティリティを削除できます。このコマンドは root として実行することに注意してください。
Debian で AppArmor を有効にする
これで、プロファイルを生成する AppArmor ユーティリティがインストールされました。 Linux カーネル コマンド ラインから AppArmor Linux セキュリティ モジュールを有効にします。 Debian オペレーティング システムで AppArmor を有効にするには、次の手順に従います。
ステップ 1: ディレクトリを作成します。
ステップ 2: 「 /etc/default/grub.d/apparmor.cfg 」ファイルを生成し、以下でエコーする内容を保存します。
| sudo tee /etc/default/grub.d/apparmor.cfg
ステップ 3: sudo コマンドの権限で「grub」を更新します。
ステップ 4: Debian オペレーティング システムを再起動します。再起動が完了したら、次のコマンドを実行して AppArmor のステータスが有効かどうかを確認できます。 AppArmor が Debian システム内で有効になっているため、「Yes」を示す「Y」が返されます。
ステップ 5: コマンドを使用して、アプリケーションとプロセスにロードされている各 AppArmor プロファイルの現在のステータスを取得します。次の図で、ロードされた各プロファイルのモード準拠を確認できます。出力には、「43」プロファイルが AppArmor プロファイルとしてロードされ、AppArmor の「25」プロファイルがデフォルトで強制モードであることが表示されます。 AppArmor プロファイルには 2 つのモードが存在します。強制モードと文句モードの 2 つです。定義されているプロファイルごとに実行モードを変更できます。
Debian での AppArmor プロファイルの変更
前述したように、モードは AppArmor プロファイルの指定されたモードから切り替えることができます。これは、強制モードを不平モードで変更したり、その逆を行うことができることを意味します。 AppArmor プロファイルは「 dhclient 」としてあり、強制モードになっています。次のコマンドを実行すると、コンプレイン モードにアクセスできます。出力には、dhclient を愚痴モードに設定するというメッセージが表示されます。
強制モードで苦情モードを再度変更するには、これを実現するコマンドがあります。このコマンドは、dhclient プロファイルで「enforce」キーワードを使用します。
さらに、すべての AppArmor プロファイルの実行モード構成パスは /etc/apparmor.d/* です。ターミナルで次の sudo コマンドを適用することで、すべての AppArmor プロファイルの実行モードをコンプレイン モードに設定できます。
次のコマンドを使用して、AppArmor のすべてのプロファイルの実行モードのパスを強制モードに設定することもできます。
Debian での新しい AppArmor プロファイルの作成
新しいプロファイルを確立するには、セキュリティを必要とするが、他の AppArmor プロファイルに関連付けられていないアプリケーションを特定する必要があります。 AppArmor プロファイルを作成するには、いくつかのコマンドがあります。ただし、制限されていないプロファイルを一覧表示するには、「aa-confined」コマンドを使用します。出力は、1 つのプロセスがどのプロファイルにも制限されていないのに対し、他の 3 つのプロセスはデフォルトで強制モードの 3 つのプロファイルによって制限されていることを示しています。
ここで、制限のない「NetworkManager 」AppArmor プロファイルを作成します。このために、「aa-genprof」コマンドを利用し、制限のないプロファイルの名前を指定します。生成されたプロファイルは、デフォルトでは強制モードでは空です。 「F 」を押すとプロファイルの作成処理が終了します。
このプロファイルにはプログラムの制約を設定するような制限が定義されていないため、次のファイルを変更することでその内容を変更できます。 Debian ターミナルに示されているように、「NetworkManager 」プロファイルが更新されました。
Debian での AppArmor プロファイルのリロード
以前に作成および変更した AppArmor プロファイルを再ロードする必要があります。すべてのアクティブな AppArmor プロファイルを再ロードするには、次のコマンドを実行します。
次に、指定されたコマンドを使用して、ロードされた AppArmor のプロファイルを表示できます。作成された NetworkManager プロファイルが強制モードの出力に記載されていることがわかります。
Debian で AppArmor を無効にする
AppArmor アプリケーションはセキュリティ機能であるため、無効にすることはできません。システムから AppArmor を無効にするか削除する場合は、次のコマンドに従う必要があります。まず、systemctl を使用して AppArmor サービスを停止します。
その後、システムの起動時に AppArmor の実行を無効にする別のコマンドを使用します。
次に実行されるコマンドは、apt を使用して AppArmor パッケージと依存関係をシステムから削除します。
結論
この Debian AppArmor の記事では、AppArmor プロファイルを操作する方法を検討しました。 AppArmor プロファイルのインストール コマンドを学習しました。インストール後、Debian システム内で AppArmor を有効にしました。次に、AppArmor の既存のプロファイルのモードを変更しました。また、AppArmor プロファイルに限定されない新しいプロファイルも生成しました。このチュートリアルの最後の部分で実行される特定の無効化コマンドを使用して、AppArmor を無効にしたり、システムから削除したりすることもできます。