1. タイトル Security-Enhanced Linuxの動向とxSPへの適用に向けて 2. 発表者 渡瀬順平 [NTT情報流通プラットフォーム研究所] 3. ロガー 法林浩之 [インターネット総合研究所] 4. 時間 2004年1月29日(木) 13:30-14:15 発表: 13:30-14:00、質疑応答: 14:00-14:15 5. 発表の焦点、論点、議題 Linuxのセキュリティ強化モジュールであるSecurity-Enhanced Linux (SELinux)についての発表であった。特に以下の2点を意識して発表が行われた。 ・SELinuxの概要、メリット、限界、および最新動向を報告し、JANOG参加者と 情報を共有すること ・サービスプロバイダにおいてSELinuxをどのように使うのが効果的かを、 JANOG参加者と一緒に議論すること 6. 発表の流れ ◎はじめに ・自己紹介 - NTTの武蔵野でセキュリティの研究をしている - 現場では、研究の場ではわからないことが起こっているはずなので、特に ホストのセキュリティについて参加者と意見交換したい ・今日の内容 - セキュリティに関する現状認識 - SELinuxの概要と、SELinuxにできること/できないことの紹介 ◎セキュリティに関する現状認識 ・現状認識 - 一般的な情報システムのセキュリティはコストとの兼ね合いで決まる - いろいろなものがIPネットワークに乗り、生活において重要な位置を占め ている一方で、不正行為もしやすくなっている * 不正行為ツールは、英語が読めれば小学生でも使えてしまう ・従来型セキュリティモデルの限界 - 内部は信頼できる、外部は信頼できない、が従来型の基本モデル - 技術の発達により、モデルが崩れてきた * TCPの80番を使ってファイヤウォールを通り抜ける仕組みが発達 * モバイル化により、内側と外側の境界があいまいに - パッチ管理にも限界あり * PCでないデバイスとかどうするの? ・完璧なセキュリティはない - 自動車は、事故が起きる前提で社会システムが組まれている * 安全防具も同様なものをいくつも重ねて用意している - 情報システムも同様であるべきではないか ・OSのセキュリティはどう? - ひとつひとつのノード単位での防御が必要 - 今のインターネットは、ネットワークの部分はIPsecやSSLなどを使って継 続的に保護できるが、ホストは1回認証に成功すると使い放題に近い - ホスト内部での権限をもう少し分離した方がよいのではないか ◎SELinuxの概要 ・SELinuxとは - Linuxカーネルのモジュールのひとつ - 粒度の細かい、強制的なアクセス制御ができる - 既存のプログラムのバイナリがすべて動く - 1998年に原型作成、2000年にLinuxへ移植、2003年にLinuxカーネルへ統合 ・アクセス制御の粒度 - クラス: 31種類、思いつくようなものはたいてい存在する - クラス内でさらに属性による制御ができる * 例えばfileクラスの場合は、ファイルごとに19種類の属性で制御できる ・強制アクセス制御 - 通常のUNIXやWindowsは任意アクセス制御(DAC) * ユーザが任意にパーミッションを設定できる * つまりrootはなんでもできてしまう - SELinuxでは強制アクセス制御(MAC) * rootでも制限をかけたり、権限を分割できたりする - 実装 * プロセスごとにラベルを持っていて、それを使って判定 * 任意→強制の順でチェックし、両方ともOKならアクセス許可 ◎SELinuxの機能と構造 ・SELinuxの構成 - カーネルモジュールはLinux 2.6に取り込まれた - それ以外の部分は、ディストリビューションに入る(かも) ・SELinuxのセキュリティ - ファイルの永続的なラベルはディスクのinode拡張属性に格納 * ext2/3以外のファイルシステムではラベルマッピングDBを使用する ので、少し遅くなる - SELinuxは、default denyの方針で運用される - それぞれのドメインごとに使える道具が決められている → 権限分割 - RABC * ユーザごとに権限を分割する仕組み * sysadm_r: ファイルシステムのマウントなどの管理タスクを行う * user_r: 自分のホームディレクトリしかさわれない ◎SELinuxの位置づけ ・SELinuxの位置づけ - SELinuxは、情報が漏れない、情報が改竄されない、を実現する技術 - システムが止まらない、については別の対策が必要 ・効能 - 情報セキュリティマネジメント上、今まで表現が難しかったセキュリティ ポリシーを実現できる - 権限分割しているので、もし不正侵入されても権限昇格を防げる(rootの 乗っ取りとか) ・SELinuxにできること - クラッキングが難しくなる - 万一、乗っ取っても、何もできない - システム管理は外にやらせても内部データは読ませない、とかできる ・SELinuxにできないこと - カーネルのバグには対処できない - バッファオーバーフロー自体は防げない - DoSとかDDoSには対処できない(リソース制限機能はない) ・性能はどう? - PC 8台でサーバ1台に負荷をかける実験を行った - 実験結果 * 通常のLinuxと比べると若干少ない負荷でパケット廃棄が発生した * 応答時間は通常のLinuxと大差なかった * webの収容効率は2.5%減程度 ◎xSPでの使い方 ・皆さん教えてください:-) ◎まとめ ・SELinuxを使うことにより侵入できにくくなるが、これだけで完璧になるわ けではない ・サンプルポリシーが充実すれば、導入コストも減るはず ・リアルタイム系のサービスに使うとどうなるかは、ぜひ測ってみたい ◎質疑応答 ・内藤さん(NEC) どういう導入実績があるのか? (渡瀬さん) そもそも実運用システムではOSを公表してくれないので実績を測りにくい。 豪州では商用データセンターでの利用例あり。 私のホームルータ/サーバで9か月ぐらい問題なく動いている。 私の研究グループのグループウェアサーバでも使っている。 全然安定しなくて使えないという話は聞いていない。 ・加藤さん(アンリツ) ポリシー監査ツールはあるか? (渡瀬さん) 現状では決定的な方法はない。何を守りたいのかをしっかり定義して、それ に誰がアクセスできるのか、誰が実行できるのか、をしっかり追っていくの が一般的手法になる。また、SE toolsに、ドメイン遷移のツリー表示ができ るツールがある。 (加藤さん) 今は、ごりごり見るしかない? (渡瀬さん) そうです。 ・三ツ木さん(メディアエクスチェンジ) SELinuxでもバグが出るはずだが、どれぐらい速く対応されるのか? また、意見として、ベンダーが作るアプリケーションはrootでの使用を前提 とするものが多いので、それに頑張って対応して欲しい。 (渡瀬さん) カーネルモジュールは、Linuxカーネルにマージされているので、それの対 応速度と同じになる。それ以外の部分については、開発元の開発者による。 ただし、SELinux自体の脆弱性というのはまだ検出されていない。 ・司会者より会場に問いかけ「会場の人で、いじってみたい人いますか?」 手を挙げたのは1割ぐらい ・川島さん(司会者) 運用コストとのバランスが難しいと思うが、そのあたりどうか? (渡瀬さん) ポリシー設定は難しくないが、手間がかかる。利用者コミュニティが形成さ れ、そこで皆が使えば皆で楽になると思うので、皆で使いましょう。 ・石田さん(司会者) SELinuxを使うことにより、やられても被害が少なくなることはわかったが、 やられなくなるための努力をしているSELinuxのコミュニティはあるか? も しあるなら、どんな活動をしているのか? (渡瀬さん) SELinuxコミュニティの活動としては、アクセスモジュールをカーネルに組み 込んだだけ。Linuxカーネル自体のソースコードレビューは、Linuxカーネル 全体のプロジェクトの中で活動している様子。 ・石田さん 現場でのWebサーバは、Webサーバ単独で動いているだけでなく、後ろにモ ジュールがあって、さらにバックエンドでデータベースなども動いている。 SELinuxを使うとそれらすべてのプロセスにチェックが入るので、より性能 が落ちるかも知れない。 さらにそれぞれのモジュールのセキュリティポリ シーの設定まで入ると、かなり大変だと思う。ここが楽になると普及するか もしれない。 (渡瀬さん) セキュリティポリシーの事例を増やすために、コミュニティで情報交換して いきたい。 ・兼松さん(Cisco) OSDLでのプロジェクトでキャリアグレードLinuxとかあるが、その開発との 協調などはしているのか? (渡瀬さん) 今のところ関係ない。 まとめ OSを中心とするセキュリティの現状認識について解説があった後、Linuxの セキュリティ拡張モジュールであるSELinuxについて紹介があり、概要や利点、 課題などの説明があった。質疑応答においては、xSPにおける利用可能性につ いて、参加者から数多くの質問や意見が投げかけられた。 7. 所感 個人的にUNIX関連の話題には関心が深いこともあり、発表については興味深 く聞くことができた。会場からも多くの質問/意見が寄せられてよかったと思 うのだが、その割には「会場の人で、いじってみたい人いますか?」に対して 手を挙げたのが1割程度というのが気になった。もしかしたら、JANOG参加者の 間ではLinuxの利用率が思ったほど高くないのかもしれない。