#author("2022-11-28T01:49:07+09:00","","") #author("2022-11-28T03:20:50+09:00","","") [[Linux]] * AppArmor [#ocf8129c] ** Install [#b54e24a7] apt install apparmor # <-- 最近のディストリビューションでは、デフォルトで入ってる模様 apt install apparmor-utils # <-- aa-* コマンド系のユーティリティ ** プロファイル作成 [#k93280ca] *** 基本設定生成 [#q6232cb1] 次のコマンド実行により、/etc/apparmor.d 配下に指定プログラムに対応するプロファイルが生成される。 aa-autodep <プログラム> *** 不平モード [#j5ff61fc] 次のコマンド実行により、対象プログラムの許可されていない操作に対してログ (syslog) が出力されるようになる。 ※操作自体は実施される。 aa-complain <プログラム> *** ログ分析 [#k076ad99] aa-logprof *** 強制モード [#db1268b1] 次のコマンド実行により、対象プログラムの許可されていない操作を実行できないようにする。 aa-enforce <プログラム> ※不平モード→ログ分析にて許可を繰り返し、最後に強制モードにする。 d ---- *種別 [#a8c3995a] -通常ファイル -ディレクトリ -デバイスファイル(READ可) : mknod <name> c 1 8 (random) -デバイスファイル(WRITE可) : mknod <name> c 1 3 (null) -シンボリックリンク -パイプ : mknod <name> p *操作 [#b1c75a7e] -read -write --append --create --delete --rename -link -lock -exec *許可設定 [#tdc86d50] -read -write --append --create --delete --rename -link -lock -exec *確認事項 [#n8e7c22d] -aa-autodep によるプロファイル生成 -aa-complain による学習実施 --syslog ログ出力確認 -aa-logprof による分析 -aa-enforce による適用動作 --実行結果確認 *設定ファイル例 [#e37298ef] #include <tunables/global> /usr/local/bin/xxx { #include <abstractions/base> # ※ <abstractions/lxc/conatinaer-base> 等は除く /tmp/apparmor-test/data-r.* r, /tmp/apparmor-test/data-w.* w, }