UbuntuでプログラムをロックダウンするためのAppArmorプロファイルを作成する方法
AppArmorはあなたのUbuntuシステム上のプログラムをロックして、通常の使用で必要なパーミッションだけを許可します - 特に危うくなる可能性のあるサーバーソフトウェアに便利です。 AppArmorには、他のアプリケーションをロックするために使用できるシンプルなツールが含まれています.
AppArmorはデフォルトでUbuntuや他のLinuxディストリビューションに含まれています。 UbuntuにはAppArmorに複数のプロファイルが付属していますが、独自のAppArmorプロファイルを作成することもできます。 AppArmorのユーティリティはプログラムの実行を監視し、あなたがプロファイルを作成するのを助けます。.
アプリケーション用の独自のプロファイルを作成する前に、Ubuntuのリポジトリにあるapparmor-profilesパッケージをチェックして、閉じ込もうとしているアプリケーション用のプロファイルがすでに存在するかどうかを確認することをお勧めします。.
テスト計画を作成して実行する
AppArmorがそれを見ている間にプログラムを実行し、そのすべての通常の機能を調べる必要があります。基本的には、通常の使用と同じようにプログラムを使用する必要があります。プログラムを起動し、停止し、再ロードして、すべての機能を使用します。プログラムが実行する必要がある機能を通過するテスト計画を設計する必要があります。.
テスト計画を実行する前に、端末を起動し、次のコマンドを実行してaa-genprofをインストールして実行します。
sudo apt-get install apparmor-utils
sudo aa-genprof /パス/ to /バイナリ
aa-genprofを端末で実行したままにしてプログラムを起動し、上で設計したテスト計画を実行します。テスト計画をより包括的にするほど、後で発生する問題も少なくなります。.
テスト計画の実行が終わったら、ターミナルに戻って S AppArmorイベントについてシステムログをスキャンするためのキー.
イベントごとに、アクションを選択するように求められます。たとえば、以下では、プロファイリングした/ usr / bin / manが/ usr / bin / tblを実行したことがわかります。 / usr / bin / tblを/ usr / bin / manのセキュリティ設定を継承するかどうか、独自のAppArmorプロファイルで実行するかどうか、または非制限モードで実行するかどうかを選択できます。.
他のいくつかのアクションでは、異なるプロンプトが表示されます。ここでは、端末を表すデバイスである/ dev / ttyへのアクセスを許可しています。
プロセスの最後に、新しいAppArmorプロファイルを保存するように指示されます。.
クレームモードを有効にしてプロファイルを微調整する
プロファイルを作成したら、プロファイルを「コンプレインモード」にします。ここで、AppArmorは実行できるアクションを制限しませんが、それ以外の場合に発生する制限をログに記録します。
sudo aa-complain / path / to / binary
しばらくの間、通常どおりにプログラムを使用してください。それを通常の苦情モードで使用した後、次のコマンドを実行してシステムログのエラーをスキャンし、プロファイルを更新します。
sudo aa-logprof
強制モードを使用したアプリケーションのロックダウン
AppArmorプロファイルの微調整が終わったら、「強制モード」を有効にしてアプリケーションをロックします。
sudo aa-enforce / path / to / binary
あなたは実行することができます sudo aa-logprof 将来あなたのプロフィールを微調整するように命じる.
AppArmorプロファイルはプレーンテキストファイルなので、テキストエディタで開いて手動で調整することができます。しかし、上記のユーティリティはプロセスを通してあなたを導きます.