[Tomoyo-dev 1016] Re: TOMOYO Linux の開発状況

Back to archive index

Tetsuo Handa from-****@I-lov*****
2009年 3月 25日 (水) 22:41:21 JST


 熊猫です。

 1.6.7 に向けての開発状況( revision 2315 )です。
http://lists.sourceforge.jp/mailman/archives/tomoyo-users/2009-February/000575.html での
状況報告以降、以下の変更が行われています。



カーネルに関して

(5) アクセスログ機能を有効にするかどうかを指定するための CONFIG_TOMOYO_AUDIT
  オプションが追加されます。

  宍道さんが RAM 4MB という環境へ TOMOYO を導入されました。
  http://d.hatena.ne.jp/hshinji/20090302#p2

  RAM が 4MB しかない環境でカーネル内にアクセスログを貯めこんでおく余裕は
  ありません。ですから、 /proc/ccs/grant_log および /proc/ccs/reject_log の
  出番も無いことでしょう。なので、カーネルコンフィグで切り替えできるように
  しました。

(6) /proc/ccs/profile には設定した項目だけが表示されるようになります。

  従来は、全ての「機能=モード」組み合わせが表示されていました。しかし、
  MAC_FOR_FILE しか設定していないのに MAC_FOR_CAPABILITY なども表示されるのは
  鬱陶しいので、設定した項目だけを表示するように変更しました。

(7) ioctl() に対するアクセス制御( MAC_FOR_IOCTL )が追加されます。

  某案件で、「 IP アドレスの変更操作を禁止する」という要件がありました。
  /sbin/ifconfig コマンド等の実行を禁止することで対処しようと考えて
  いましたが、 ioctl() の制御を追加するほうがより確実であるということで
  ioctl() に渡されるコマンド番号を検査するようにしました。

  構文は

   allow_ioctl 対象となるパス名 コマンド番号

  です。

(8) ソケットのパス名表記が変更されます。

  従来はソケットのパス名を socket:[\$] と表記していました。ソケットは
  open() で開いたり truncate() で切り詰めたりすることが不可能なので、
  今まで /proc/ccs/domain_policy 内に登場したことはありませんでした。

  しかし、ソケットに対して ioctl() を適用することは可能です。
  今回 ioctl() の制御を追加するのにあたり、ソケットの種別を指定できる方が
  より厳密な制御を行えるので、ソケットのパス名を

   socket:[family=\$:type=\$:protocol=\$]

  という形式で表現するように変更しました。

(9) コンパイル時に「ドメイン遷移を初期化するプログラム」を指定するための
  CONFIG_TOMOYO_BUILTIN_INITIALIZERS オプションが追加されます。

  PCやサーバ向けのシステムでは /sbin/init というプログラムがあり
  TOMOYO Linux は /sbin/init が実行される際にポリシーをロードします。

  しかし、組み込みシステムでは /sbin/init が存在しない場合があります。
  /init しかないようなシステムでは、全てのプログラムが <kernel> ドメインで
  動作することになってしまい、 TOMOYO によるドメイン分割のメリットを享受
  できません。
  そこで、 /init しかないようなシステムでは /init を実行することで
  <kernel> /init ドメインへと遷移することができるように、カーネルコンフィグで
  「ドメイン遷移を初期化するプログラム」を指定できるようにしました。

(10) TOMOYO 1.6.6 以前の ccs-patch-\*.diff が使えなくなります。

  2007年9月20日に TOMOYO 1.5.0 がリリースされてから1年半が経過
  しました。 TOMOYO 1.5.x から TOMOYO 1.6.x への移行はカーネルとツールの
  アップデートだけで行えますし、カーネル 2.6.30 にマージされるであろう
  TOMOYO 2.2.0 は TOMOYO 1.6.x をベースに作成されていますので、
  http://lists.sourceforge.jp/mailman/archives/tomoyo-users/2008-September/000487.html で
  予告したとおり、今月末を以って TOMOYO 1.5.x に対するバイナリパッケージと
  ccs-patch-\*.diff のアップデートの提供を終了させていただきます。

  なお、 (7) を実現するために ccs-patch-\*.diff の修正が発生したため、
  TOMOYO 1.6.7 では TOMOYO 1.6.6 以前の ccs-patch-\*.diff が使えなくなりますので
  ご了承ください。

ツールに関して

(5) 組み込み環境向けのポリシー編集エージェントが追加されます。

  通常は ssh や telnet などでログインして ccs-editpolicy を実行することで
  ポリシーを編集することが可能です。しかし、 RAM が 4MB しかない環境で
  ccs-editpolicy を実行させるというのは負担が大きすぎます。

  そこで、組み込み環境(あるいはエミュレータ環境)内で ccs-editpolicy-agent
  というエージェントプログラムを常駐させ、PC環境(あるいはホスト環境)から
  ccs-editpolicy ccs-loadpolicy ccs-savepolicy を実行できるようにしました。

  組み込み環境向けに ncurses ライブラリを用意しなくて済むというメリットも
  あります。(いや、 ncurses ライブラリのクロスコンパイルに挫折したからと
  いうのが本当の理由です。(自爆))

(6) ccs-editpolicy で任意のディレクトリに保存されているポリシーファイルを
  編集できるようになります。

  従来、 ccs-editpolicy_offline は /etc/ccs/ ディレクトリまたは /etc/tomoyo/
  ディレクトリにあるポリシーファイルを編集するようになっていました。しかし、
  他の環境で作成したポリシーファイルを閲覧/編集したい場合、ディレクトリ名が
  固定されているとそのディレクトリに(他の環境で作成した)ポリシーファイルを
  コピーしてやらなければならす、不便です。そのため、任意のディレクトリを
  指定できるようにしました。

  ccs-editpolicy_offline というプログラム名は消滅します。 TOMOYO 1.6.7 では、
  ccs-editpolicy /etc/ccs/ で /etc/ccs/ に保存されているポリシーを、
  ccs-editpolicy /etc/tomoyo/ で /etc/tomoyo/ に保存されているポリシーを、
  ccs-editpolicy /home/kumaneko/192.168.1.1/ で /home/kumaneko/192.168.1.1/
  に保存されているポリシーを、 ccs-editpolicy 192.168.1.2:1000 で
  ( 192.168.1.2:1000 で待機中の ccs-editpoilicy-agent 経由で)
  192.168.1.2 の /proc/ccs/ あるいは /sys/kernel/security/tomoyo/ を
  編集できるようになります。



 TOMOYO Linux 1.6.7 のリリースは4/1を予定しています。
http://svn.sourceforge.jp/view/trunk/1.6.x/?root=tomoyo からダウンロードが
可能です。




tomoyo-dev メーリングリストの案内
Back to archive index