第8回 設定ファイルを更新するlidsconfコマンド

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

 Apacheでの設定例

 それでは、lidsconfコマンドの使い方の例として、/root/scripts/services/lids.apache.shファイルにあるApacheを動かす設定を実際に見てみましょう。

 最初の行は、

/sbin/lidsconf -A -o /etc/apache -j DENY

となっています。これは、Subjectを省略していますので、「/etc/apache(Object)へのアクセスは、デフォルトでDENYにする」という意味になります。これにより、どのようなプログラムが/etc/apacheへアクセスしようとしても、アクセスできなくなります。

 例えば、rootユーザーで、

# ls /etc/apache

と入力しても、プログラムはすべて/var/wwwへデフォルトでアクセス不可能ですから、

LIDS: ls (dev 3:1 inode 289350) pid 845 ppid 759 uid/gid (0/0) on (vc/1) : attempt to open /etc/apache for reading
ls: /etc/apache: No such file or directory

となり、/etc/apache以下のファイルを参照できません。

 次の行では、

$ /sbin/lidsconf -A -s /usr/sbin/apache -o /etc/apache -j READONLY

となっています。これは、「/usr/sbin/apache(Subject)に対して、/etc/apache(Object)へのREADONLYのアクセス権限を与える」という意味になります。これにより、/usr/sbin/apacheが/etc/apacheへ読み取り(READONLY)を行える権限が、ACLに加えられます。

 また、

$ /sbin/lidsconf -A -s /usr/sbin/apache -o CAP_NET_BIND_SERVICE 80,443 -j GRANT

とあります。これは「/usr/sbin/apacheに『CAP_NET_BIND_SERVICE』というケーパビリティを与え、さらにポート番号80番と443番を指定して使用させる」という意味になります。これにより、Apacheのプロセスが1024番以下のポート番号を使用するケーパビリティを得ることになり、指定された80番と443番のみを使用することが可能になります。

 Sandbox用のオプション

 LIDS-1系列では、lidsconfコマンドでTDE用のオプションが用意されています。

 第6回でも説明しましたが、LIDSでアプリケーションをサンドボックス化して隔離する際には、

$ lidsconf -A -s [隔離するプログラム] -o LIDS_SANDBOX -j ENABLE

と設定します。これにより、[隔離するプログラム]はデフォルトでアクセスがすべて「不許可」になっていますので、ファイルやディレクトリへのアクセス権を明示的に与える必要があります。

 /root/scripts/services以下のlids.mybash.shを見てみましょう。1行目では、

$ /sbin/lidsconf -A -s /opt/mybash -o LIDS_SANDBOX -j ENABLE

となっており、/opt/mybashがサンドボックス化され隔離されています。その後、/opt/mybashが動作するために必要なライブラリをlddやstraceなどを利用して調べ、それらにアクセスする権限が追加されています。

2/3

Index
設定ファイルを更新するlidsconfコマンド
  Page1
lidsconfコマンドの役割
Page2
Apacheでの設定例
Sandbox用のオプション
  Page3
/etc/lids以下のLIDSを設定するファイル


Security&Trust記事一覧


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

注目のテーマ

Security & Trust 記事ランキング

本日 月間