TOP情報セキュリティ> 学習と強制を体験
TOMOYO Linux
初体験 TOMOYO Linux!

第2回:TOMOYO Linuxの導入とアクセス制御を初体験

著者:NTTデータ  武田 健太郎   2007/6/26
前のページ  1  2  3   4  次のページ
学習と強制を体験

   それでは、TOMOYO Linuxのアクセス制御を体験してみましょう。まずはrootユーザでログインして、以下のコマンドを実行してください。
setprofile -r 1 '<kernel> /sbin/mingetty /bin/login /bin/bash'

   行頭が「1 <kernel>」ではじまるいくつかの行が出力されればOKです。このコマンドは、「ログインシェルであるbashにプロファイル1(学習)を割り当てる」という意味を持っています。このコマンドを実行することで、bashはポリシーが学習される状態になっています。ここでいくつかコマンドを実行してみましょう。

head /etc/passwd
bash
tail /etc/mtab
exit

   一見通常のLinuxとまったく同じように動作しますが、裏ではTOMOYO Linuxが自動的にポリシーを学習しています。ここで学習を終了して、以下のコマンドでプロファイルを切り替えましょう。

setprofile -r 3 '<kernel> /sbin/mingetty /bin/login /bin/bash'

   このコマンドが実行されると、bashにプロファイル3(強制)が割り当てられ、先ほど学習させた操作以外は拒否されるようになります。試しにいくつかコマンドを実行してみてください。

head /etc/passwd     → OK
head /etc/shadow     → NG
ls                   → NG
shutdown -h now      → NG

   先ほど学習させたhead /etc/passwd以外は拒否されることがわかります。また、学習させた操作の1つである下記のコマンドも、実はこの状態では拒否されます。

tail /etc/mtab       → NG

   これは、学習時のシェルの深さに理由があります。

   学習の際には、tailコマンドの実行の前にもう1段階bashを実行しました。ドメインという言葉の説明の際に「プロセスの実行履歴」という言葉を用いましたが、TOMOYO Linuxはどのようなプロセスから起動されたのかによって権限を分割しています。

   そのため、tailコマンドの実行は、ログインシェルのbashではなく、さらに起動されたbashに学習されていたのです。そのため、以下のように1段階bashを起動してからのtailコマンドは許可されます。

bash                 → OK
tail /etc/mtab       → OK

   このままでは何もできませんから、ログインシェルに戻って無効プロファイルに戻しておきましょう。

exit
setprofile -r 0 '<kernel> /sbin/mingetty /bin/login /bin/bash'

前のページ  1  2  3   4  次のページ


株式会社NTTデータ 武田 健太郎
著者プロフィール
株式会社NTTデータ  武田 健太郎
平成18年よりTOMOYO Linuxプロジェクトに参加。TOMOYO Linuxのプロモーション活動と、Linux標準セキュリティフレームワークであるLSMに対応したTOMOYO Linux 2.0系統の開発を主に行っている。


INDEX
第2回:TOMOYO Linuxの導入とアクセス制御を初体験
  TOMOYO Linuxをインストールしてみよう
  TOMOYO Linuxツールのインストール
学習と強制を体験
  学習されたポリシーの確認