DebianでTOMOYO Linuxを使う
DebianでのTOMOYOパッケージ作成の苦労と現状
TOMOYOのDebianパッケージ化の作業を進めていく上で問題だったのは、
・ライセンス文章が同梱(どうこん)されていなかったり、ライセンスがGPLとだけ書いてあってバージョン指定がない
・著作者名が明示されていない
・ファイルの配置がFHSなどの標準に沿っていない、コマンドがあるのにmanがない
・スクリプトがbash固有の機能を使っている
といった、「お作法にのっとっていない」点です。私の役割はパッケージ作成者の視点からこれらを指摘して、修正してもらうことでした。
tomoyo-devメーリングリストのアーカイブ(http://sourceforge.jp/projects/tomoyo/lists/archive/dev/)を見てもらうとわかりますが、私のメールはひたすら細かな点の指摘とその修正についての依頼ばかりです。しかし、リリースされている安定版でも、2万を優に越えるほど大量のDebianパッケージとの共存には、これらの修正が必要な作業であったことは理解いただきたいと思います。いろいろと対応していただいた結果、公式リポジトリに取り込むめどが立ちました。
ちなみに、TOMOYOやSELinuxについてDebianではどのような対応を取っているかという、ディストリビューションとしてのスタンスについてですが、いわゆる「セキュアOS」の機能を積極的に取り込んでいくという動きは残念ながらありません。
また、SELinux、AppArmor、LIDSなどさまざまな種類の実装がありますが、どれかを強く推すということもありません。SELinuxを強力に推すFedoraや、ちょっと前までAppArmorを推していたSUSEなどとは異なるスタンスです。
これは単純に「(特にSELinuxのポリシーへの対応から)仕事でもない限り大変すぎて作業できない」ことと、「興味がある人が基本的に少ない」という、あまりポジティブといえない理由からです。なぜかというと、Debianはほかのディストリビューションと違って完全にボランティアで動いているため、良くも悪くも強制的に従事させられている人がいない点が強く影響しているのです。
FedoraはRed Hatの実験ディストリビューションという性格が強いですし、OpensuseもNovellという会社がバックにいます。UbuntuもCanonicalの社員が業務として携わっていますが、Debianではそのようなことがありません。DebianでのSELinuxについてはRussel Cockerさんや、Manoj Srivastavaさんという方たちが精力的に作業していらっしゃいますが、筆者の知る限りではそのぐらいです。
とはいうものの、SELinuxの基本的な部分は既に安定版のリリースには含まれていて、パッケージの優先度が標準(standard)にされました(ただしデフォルトでは無効になっています)。
そして、われらがTOMOYOでは、Debianの公式リポジトリにカーネルパッチとユーザランドツールの両方を押し込む、つまり簡単にapt/aptitudeでパッケージを取ってこられることに成功したのが2007年12月。パッケージを作り始めてから3か月後のことでした。
現状では正直なところ、知名度の点から今までTOMOYOを試してくれる人が少なかったため、ここまでの1年半の間に反響(バグ報告や質問)がまったくありませんでした。2.6.30でメインラインに入ったことから「試してみるか」という人たちがようやく出始めたという段階です。
DebianでTOMOYOを使うための4つの手順
さて、それでは実際にDebianにTOMOYOを導入するにはどうしたら良いかについて説明したいと思います。実際の導入については、以下の4段階の手順を踏むことになります。
1)TOMOYO対応カーネルパッケージの導入
2)ユーザランドパッケージの導入
3)ポリシーの学習
4)ポリシーの適用
このうち、ディストリビューション特有の作業は1と2の部分となります。
stable(Lenny)のユーザーについては、最新のパッケージをLenny向けに調整(backport)したものを、sourceforge.jpのTOMOYOのページ(http://sourceforge.jp/projects/tomoyo/)から逐次ダウンロードできるようにしてあるので、そちらを利用していただければ幸いです(作業が間に合っていないときはご勘弁を)。それからtesting、unstableのユーザーはおおよそ最新のパッケージが公式のリポジトリから取得できるようになっているので、そちらを利用してください。