YaST には AppArmor® のプロファイルを構築したり管理したりするための基本的な仕組みが 2 種類用意されています。一方はグラフィカルなもの、他方はテキストベースのものです。テキストベースの場合、メモリなどのリソースもネットワーク帯域も比較的少なくなるようになっていますので、リモートからの管理を行うような場合や、ローカルのグラフィック環境が貧弱な場合に最適です。グラフィカルなものとテキストベースのものは、外観が異なるものの、同じ機能を同じ手順で利用できるようになっています。また、 AppArmor のコマンドも用意されていて、このコマンドは端末ウインドウから AppArmor の制御を行ったりすることができます。なお、コマンドラインツールについては、 第33章 「コマンドラインからのプロファイル構築」 で詳しく説明しています。
メインメニューから YaST を起動して、必要であれば root
のパスワードを入力します。また、端末ウインドウを開いてその中で root
になれば、 yast2
と入力して実行することでグラフィカルモードで、 yast
と入力して実行することでテキストモードで YaST を起動することができます。
AppArmor モジュールを起動することができます。
のセクション内に というアイコンがありますので、これを押してください。すると YaST のAppArmor では、プロファイル内に項目を手作業で追加していくことによって、 AppArmor のプロファイルを作成する機能を提供します。まずはプロファイルを作成するアプリケーションを選択してから、項目を追加する流れを行います。
YaST を起動して
を選び、表示されたメインウインドウで を選択します。プロファイルを作成するアプリケーションを、システム内で選択します。
アプリケーションが見つかったら、それを選択して
を押します。 すると、 内に、最低限の設定のみが書かれたプロファイルが現れます。32.2.1項 「項目の追加」 , 32.2.2項 「項目の編集」 , 32.2.3項 「項目の削除」 をお読みください。
では、それぞれ対応するボタンを押すことによって、項目の追加や編集、削除を行うことができます。詳しくは完了したら
を押します。YaST には、 AppArmor プロファイルの作成や編集など、基本的な仕組みが用意されています。ですが、 vi
などのテキストエディタでプロファイルを編集するのが最も直感的で分かりやすい仕組みでもあります:
>
sudo
vi /etc/apparmor.d/usr.sbin.httpd2-prefork
vi
エディタには、文法ハイライト機能や文法エラーの表示機能などが用意されています。これにより、 AppArmor のプロファイルを編集しながら、その文法を同時にチェックすることができるようになっています。
AppArmor では、項目を追加/編集/削除することによって、プロファイルの編集を行うことができます。プロファイルを編集するには、下記の手順を実施します:
YaST を起動して
を選び、表示されたメインウインドウで を選択します。プロファイルの一覧から、編集したいプロファイルを選択します。
を押します。すると、 ウインドウが現れ、プロファイルの内容が表示されます。
32.2.1項 「項目の追加」 , 32.2.2項 「項目の編集」 , 32.2.3項 「項目の削除」 をお読みください。
では、それぞれ対応するボタンを押すことによって、項目の追加や編集、削除を行うことができます。詳しくは完了したら
を押します。ポップアップが表示されたら AppArmor のプロファイルを保存してプロファイルセットを再読み込みします。
を押し、AppArmor には文法チェック機能が用意されているため、 YaST の AppArmor ツールで処理を行う際、プロファイル内に文法エラーがあればその旨の表示が現れます。エラーが発生した場合は、 root
になって手作業でプロファイルを編集し、 systemctl reload apparmor
コマンドでプロファイルセットを再読み込みしてください。
AppArmor プロファイル内に様々な種類の項目を追加することができます。
内にある ボタンを押すことで、追加できる項目の種類は下記のとおりです:
ポップアップウインドウが表示されますので、そこでファイルの絶対パスと許可するアクセスの種類を指定します。完了したら
を押します。必要であればグロブ表記を使用することもできます。グロブに関する詳細は 30.6項 「プロファイル名/フラグ/パス/グロブ」 をお読みください。また、アクセス許可に関する詳細については、 30.7項 「ファイルアクセス許可のアクセスモード」 をお読みください。
ポップアップウインドウが表示されますので、そこでディレクトリの絶対パスと許可するアクセスの種類を指定します。必要であればグロブを使用することもできます。完了したら
を押します。グロブに関する詳細については 30.6項 「プロファイル名/フラグ/パス/グロブ」 をお読みください。また、アクセス許可に関する詳細については、 30.7項 「ファイルアクセス許可のアクセスモード」 をお読みください。
ポップアップウインドウが表示されますので、そこでネットワークファミリとソケットの種類を指定します。詳しくは 30.5項 「ネットワークアクセス制御」 をお読みください。
ポップアップウインドウが表示されますので、そこで有効化するケーパビリティを選択します。ケーパビリティは POSIX.1e で規定されたケーパビリティを意味しています。ケーパビリティに関する詳細については、 30.4項 「ケーパビリティ項目 (POSIX.1e)」 をお読みください。完了したら を押します。
ポップアップウインドウが表示されますので、そこで取り込むべきファイルを指定します。インクルードとは、プロファイルを単純化するために、他の AppArmor プロファイル内のコンポーネントを取り込むことを意味します。詳しくは 30.3項 「include ステートメント」 をお読みください。
ポップアップウインドウが表示されますので、そこで現在のプロファイルに追加すべきサブプロファイル ( ハット ) の名前を指定して、 を押します。詳しくは 第34章 「チェンジハット機能による Web アプリケーションのプロファイル作成」 をお読みください。
を押すと、ポップアップウインドウが表示されます。ここから項目の編集を行います。
ポップアップウインドウ内では、必要に応じて編集を行います。必要であれば、グロブを使用することもできます。完了したら
を押します。グロブに関する詳細については、 30.6項 「プロファイル名/フラグ/パス/グロブ」 をお読みください。また、アクセス許可に関する詳細については、 30.7項 「ファイルアクセス許可のアクセスモード」 をお読みください。
プロファイル内の項目を削除するには、項目を選択してから AppArmor は選択した項目を削除することができます。
を押します。これでAppArmor では、プロファイルを手作業で削除する機能も用意されています。単純に一覧からプロファイルを選んで削除するだけですが、下記のようにして行います:
YaST を起動して
を選び、表示されたメインウインドウで を選択します。削除するプロファイルを選びます。
を押します。
ポップアップが表示されたら AppArmor のプロファイルを削除してプロファイルセットを再読み込みします。
を押し、AppArmor の状態を有効もしくは無効にすることができます。 AppArmor を有効化すれば、お使いのシステムを潜在的な脅威から保護することができます。 AppArmor を無効化すると、プロファイルの設定にかかわらず、システムを保護しなくなります。 AppArmor の状態を変更するには、 を選んで、表示されたメインメニューから を選びます。
AppArmor 全体の状態を変更する場合は、 32.4.1項 「AppArmor の状態変更」 の手順に従って進めます。プロファイルごとにモードを切り替えたい場合は、 32.4.2項 「個別のプロファイルに対するモード変更」 の手順に従って進めます。
AppArmor の状態は、有効と無効のいずれかを設定することができます。 AppArmor を有効化すると、 AppArmor のセキュリティプロファイルをインストールして動作させ、強制することができるようになります。
YaST を起動して
を選び、表示されたメインウインドウで を選択します。AppArmor を有効化するには にチェックを入れます。無効化する場合は、チェックを外します。
あとは
ウインドウで を押すだけです。プロファイルを適用するには、動作中のプログラムを再起動する必要があります。
AppArmor では、プロファイルごとに 2 種類のモードのうちのいずれかを設定することができます。 不平 (complain) モードでは、プロファイル側で許可されていないファイルへのアクセスなど、 AppArmor プロファイルへの違反は検出されるものの、禁止されることはなく記録だけが行われます。このモードはプロファイルの作成時や編集時に有用な仕組みで、 AppArmor のツールでもプロファイルの生成時にこれを使用しています。もう一方の 強制 (enforce) モードでは、プロファイル内に書かれたポリシーを強制し、ポリシーへの違反を rsyslogd
(もしくは auditd
や journalctl
など、システムの設定によって異なります) に記録します。
33.7.2項 「一括プロファイル作成」 をお読みください) の場合は、このツールを使用することで、学習対象としているプロファイルの範囲を調整したり監視したりすることができます。
ダイアログでは、現在読み込まれているプロファイルのモードを表示したり、変更したりすることができます。この機能はプロファイルの作成時や編集時に、状態を確認したい場合に便利です。一括プロファイル作成 (詳しくはアプリケーションのプロファイルモードを編集するには、下記の手順を実施します:
YaST を起動して
を選び、表示されたメインウインドウで を選択します。の横にある を押します。
モードを変更したいプロファイルを選択します。
不平 (complain) モードと 強制 (enforce) モードを切り替えたい場合は、 ボタンを押します。
設定を適用して終了するには、
を押します。全てのプロファイルのモードを変更したい場合は、
か のいずれかを押します。既定では、有効なプロファイル (対応するアプリケーションがシステム内にインストールされているプロファイル) のみが表示されます。対応するアプリケーションをインストールする前にプロファイルを設定しておきたい場合は、
を押して、表じれたプロファイルの中から必要な設定を行ってください。