第7回 LIDSのACLをチューニングする

面 和毅
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2006/6/2

 ACL_DISCOVERYモード

 LIDSを導入した後に、システムが完全に動作するために必要なACLを記述するのには、非常にたくさんの手間がかかります。

 かつては、LIDSを無効にして、システムが動作するために必要と思われるACL(のひな型)を記述(lddなどで参照しているライブラリを確認したり、サービスで必要なシステムコールをstraceなどで追いかけて権限を追加したり)してから、LIDSを有効にして起動していました。

 しかし、このままではシステムに必要な権限が足りないため、うまく立ち上がりません。そこで起動しなかったログを(BOOT中に瞬間的に表示されるものもあるので、目を凝らして)チェックします。

 エラーが発生したログから必要な権限が判断できれば、LIDSを無効にして起動し、権限を追加します。このような手順を、気の遠くなるほど繰り返し、ACLを作成していました。

 しかし、これではあまりにもACL設定の効率が悪いため、ACL_DISCOVERYモードという機能が追加されました。これは一種のデバッグモードで、SELinuxでいうところのPermissiveモードと同じような位置付けのものです。

 ACL_DISCOVERYモードでシステムを起動した場合には、システムはACL/Linuxケーパビリティに違反があれば、ACL違反があった旨のログを出力しますが、動作自体はそのまま許可します。

 例えば、httpdがLIDSの設定でCAP_SETGIDを与えられていない場合には、次のようなエラーログが出力されます。

Apr 27 09:49:42 localhost kernel: LIDS_ACL_DISCOVERY:[state 1]447829:3145729:httpd:16:0:-1:6:CAP_SETGID:0-0
Apr 27 09:49:42 localhost kernel: LIDS_ACL_DISCOVERY:[state 1]447829:3145729:httpd:16:0:-1:6:CAP_SETGID:0-0
Apr 27 09:49:42 localhost kernel: LIDS_ACL_DISCOVERY:[state 1]447829:3145729:httpd:16:0:-1:7:CAP_SETUID:0-0
エラーログの例

 しかし、httpd自体は(あたかもLIDSのアクセス制御を受けていないように)、CAP_SETGIDを取得して動作します。ACL_DISCOVERYモードにより、システムに設定するべきACLを調べる手掛かりを、何度も再起動をしながら探す必要がなくなりました。

 システムをACL_DISCOVERYモードにするには、/etc/lids/lids.iniファイル中で「ACL_DISCOVERY=0」を「ACL_DISCOVERY=1」に変更してから、「lidsconf -C」コマンドを用いてACLをコンパイルしてください。再起動後に、システムACL_DISCOVERYモードになります。

 lidstools

 LIDSを設定するためのコマンド類は、すべてlidstoolsパッケージの中に収められています。LIDSを設定するコマンドは、

  • lidsadm
  • lidsconf

の2つだけになります。

 なお、LIDS-1系列ではlidstoolsはカーネルパッケージに同梱されていますが、LIDS-2系列(lids-2.2.2から)では別々に提供されています。LIDS-1系列用のlidstoolsは、TDEなど設定できる項目が異なるためにLIDS-2系列では使用できません。必ず各バージョンに対応したlidstoolsを使用してください。

 lidsadmコマンド

 lidsadmコマンドは、ステートを変更したり、LFSを開いたりするときに使用するコマンドで、LIDSが導入されたシステムの状態フラグを変更したり、パラメータを確認したりできます。表1にlidsadmのオプションを示しますが、この中で特によく使用するオプションを挙げていきます。

オプション 説明 書式
-v バージョン確認 lidsadm -v lidsadm -v
-V LIDSの情報(ケーパビリティバウンディングセットと状態フラグ)の確認 lidsadm -V lidsadm -V
-S LIDSの状態フラグを変更する(LFSを開くときにも利用する) lidsadm -S -- (+/-)状態フラグ lidsadm -S -- -LIDS
-I カーネルを封印する lidsadm -I lidsadm -I
-h ヘルプを表示する lidsadm -h lidsadm -h
表1 lidsadmオプション

2/4

Index
LIDSのACLをチューニングする
  Page1
LIDSを実際にインストールしてみよう
LIDS Free Session(LFS)
Page2
ACL_DISCOVERYモード
lidstools
lidsadmコマンド
  Page3
lidsadm -V
  Page4
lidsadm -I
lidsadm -S -- +/-"状態フラグ"


Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間