AppArmorでは、コマンドやプログラムなどの動作を学習することでプロファイルを自動生成できます。例となるサンプルプログラムとして、ホームディレクトリー内に「test1.sh」というシェルスクリプトを次の内容で作成します。
1 2 3 |
#!/bin/bash echo "Hello!" >> test.txt |
作成したら、
1 |
$ chmod 755 test1.sh |
を実行して実行権限を与えます。
次のように引数にサンプルプログラムを絶対パスで指定して「aa-genprof」コマンドを実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
$ sudo aa-genprof /home/ユーザー名/test1.sh Writing updated profile for /home/ユーザー名/test1.sh. Setting /home/ユーザー名/test1.sh to complain mode. Before you begin, you may wish to check if a profile already exists for the application you wish to confine. See the following wiki page for more information: http://wiki.apparmor.net/index.php/Profiles Please start the application to be profiled in another window and exercise its functionality now. Once completed, select the "Scan" option below in order to scan the system logs for AppArmor events. For each AppArmor event, you will be given the opportunity to choose whether the access should be allowed or denied. Profiling: /home/ユーザー名/test1.sh [(S)can system log for AppArmor events] / (F)inish |
プロファイルを作成するためのプロファイリングを開始します。