Kensuke Nezu
nez****@samba*****
2007年 8月 1日 (水) 06:18:34 JST
根津です。 Tetsuo Handa wrote: >> #コマンドが沢山あるのはSELinuxと比較して弱点だと思う。 > 多くはポリシーの作成を支援するために使われるコマンドですね。 どこまでが「必須」でどれが「必須」でないのか、一覧を作って 置く場所とセットできちんと分類する必要があります。 >> おっと。haltに手が入っているんですか? >> haltの中からユーザランドのヘルパーアプリを呼んでる?? > デフォルトでは手を入れる必要はありません。ただ、 /sbin/init 開始時から > /sbin/poweroff による電源断の直前までアクセス制御を適用するのであれば > savepolicy を /etc/rc.d/init.d/halt の中から呼びだすために手を加える必要が発生します。 これは必要性とリスクをきちんと考慮して、デフォルトをどちらかに 倒すべき部分ですね。どっちでもいいよ・・・というのはセキュアOS としての正しい判断ではない気がします。 > また、 /etc/rc.d/init.d/halt の中の /sbin/poweroff が呼ばれる直前の時点では > 既に / 以外のパーティションはアンマウントされてしまっています。 poweroffですからね。 >> これ、ハードリンクでいいの?セキュリティ的に。 > どういう問題があるとお考えですか? > busybox のように argv[1] を参照しないようになってますから、 > argv[0] を改ざんされない限り大丈夫です。 > MAC_FOR_FILE=3 かつ MAC_FOR_ARGV0=3 ( SELinux でいう enforcing モード)が > 指定されていない場合にはバイナリの改ざんや argv[0] の改ざんを > 防止することはできないですが、それは SELinux と同じ事情でしょう。 どの機能がハードリンクなのか書き出せますか? 改ざんされなければ大丈夫・・・という問題じゃあなくて、busyboxの 弱点は「異なるセキュリティレベルのデータへのアクセスが混在していること」 なのですが、 ・busyboxと同じような混在したアクセス ・(セキュリティ的に)異なる挙動を指示するコマンドの混在 などということがあったら、それは弱点です。 それはなぜかというと、「それぞれの機能や挙動」がきちっと分離されている ということが基本的に証明できないからです。 #プログラムのバグはいうに及ばず・・・。 もし、組み込みをターゲットにしたというのであれば、ヘルパアプリは 通常開発中システムにあるだけで本当のターゲットからは抜けると思う ので、サイズをハードリンクの理由にするのはヘンです。 busyboxは、起動時のシェルプログラムなどを動かすのに必要なヘルパ アプリケーションを一緒のバイナリにごった煮にしただけのものです。 なので、正直、たとえば"busybox passwd"機能などは組み込みの本番では 基本的に不要なものだと言えます。 (”おまけ”ですね) >> 起動/シャットダウンに直接的に不要なものを/sbin/に置くのは反対です。 >> / fsはできるだけコンパクトにするべきです。 > init_policy.sh などは / パーティションでなくても構いませんが、 > ファイルサイズ的には微々たるものです。 ファイルサイズが微々たるものだとすると、逆に無駄なディスク領域を 消費し、ムダにinodeエントリを消費するということになります。 / fsは特に拡張不可能なfsですから、「永続的に」消費するのはよくない ことだと思います。 -- ------ 根津 研介 日本Sambaユーザ会/NTTデータ先端技術(株) Microsoft MVP for Windows Security(Apr 2005 - Mar 2008) 802.11セキュリティサイト:http://www.famm.jp/wireless ※「SELinuxシステム管理―セキュアOSの基礎と運用」 http://www.oreilly.co.jp/books/4873112257/ ※「実用SSH第2版−セキュアシェル徹底活用ガイド」 http://www.oreilly.co.jp/books/4873112877/