Difference between revisions of "TOMOYO Linux (日本語)"

From ArchWiki
Jump to: navigation, search
m
m
Line 3: Line 3:
 
[[en:TOMOYO Linux]]
 
[[en:TOMOYO Linux]]
 
[[ru:TOMOYO Linux]]
 
[[ru:TOMOYO Linux]]
[http://tomoyo.sourceforge.jp/ TOMOYO Linux]はLinux用の強制アクセス制御(MAC)の実装です。2003年3月にローンチされ、[http://www.nttdata.co.jp/en/ NTTデータ]によって提供されています。TOMOYO Linuxはシステムの振る舞いに着目し、目的を達成するのに必要な振る舞いやリソースについて報告させることができます。アクセス制限ツールとしてだけでなくシステム解析ツールとしても利用価値があります。
+
[http://tomoyo.sourceforge.jp/ TOMOYO Linux] は Linux 用の強制アクセス制御(MAC)の実装です。2003年3月にローンチされ、[http://www.nttdata.co.jp/en/ NTT データ]によって提供されています。TOMOYO Linux はシステムの振る舞いに着目し、目的を達成するのに必要な振る舞いやリソースについて報告させることができます。アクセス制限ツールとしてだけでなくシステム解析ツールとしても利用価値があります。
  
TOMOYO Linuxにおけるセキュリティのゴールは"多くのユーザーにとって現実的な要件を満たし、管理者が使いやすさを維持できる強制アクセス制御"を提供することです。TOMOYO Linuxはセキュリティ専門家のためだけでなく、標準的なユーザーや管理者のために開発されています。
+
TOMOYO Linux におけるセキュリティのゴールは"多くのユーザーにとって現実的な要件を満たし、管理者が使いやすさを維持できる強制アクセス制御"を提供することです。TOMOYO Linux はセキュリティ専門家のためだけでなく、標準的なユーザーや管理者のために開発されています。
 
{{Note|この記事では網羅的な解説はしないので、充実した[http://tomoyo.sourceforge.jp/documentation.html プロジェクトのユーザードキュメント]の補助としてお使いください。}}
 
{{Note|この記事では網羅的な解説はしないので、充実した[http://tomoyo.sourceforge.jp/documentation.html プロジェクトのユーザードキュメント]の補助としてお使いください。}}
{{Tip|[[#TOMOYO Linux 2.x|TOMOYO Linux 2.x]]ブランチがArch Linuxの[community]レポジトリに入っています。今のところこのブランチでは1.xブランチと同等の機能は完備されていませんが、手軽に始めたい人には2.xブランチの方が簡単にインストールできます。[[#TOMOYO Linux 1.x|TOMOYO Linux 1.x]]ブランチはより良いセキュリティを求める人向けで、[[#AKARI|AKARI]]はその中間に位置します。}}
+
{{Tip|[[#TOMOYO Linux 2.x|TOMOYO Linux 2.x]]ブランチが Arch Linux の [community] レポジトリに入っています。今のところこのブランチでは 1.x ブランチと同等の機能は完備されていませんが、手軽に始めたい人には 2.x ブランチの方が簡単にインストールできます。[[#TOMOYO Linux 1.x|TOMOYO Linux 1.x]] ブランチはより良いセキュリティを求める人向けで、[[#AKARI|AKARI]] はその中間に位置します。}}
  
 
==イントロダクション==
 
==イントロダクション==
TOMOYO Linuxは簡単な方法でシステムを制御します:
+
TOMOYO Linux は簡単な方法でシステムを制御します:
* カーネルのライフタイムに一度は必ず起こるアクセスリクエストの全てを記録します
+
* カーネルのライフタイムに発生したアクセスリクエストの全てを記録します
 
* 管理者は予想される・望ましいアクセスリクエストだけを許可するポリシーを作ります
 
* 管理者は予想される・望ましいアクセスリクエストだけを許可するポリシーを作ります
AppArmorとは違って、TOMOYO Linuxはアプリケーションのexploitをつこうとする攻撃者からシステム全体を守るように設計されています。脅威に対処するために、TOMOYO Linuxはテスト環境で全てのアプリケーションの挙動を記録し、記録された挙動内でアプリケーションの行動を本番環境で制限します。
+
AppArmor とは違って、TOMOYO Linux は、アプリケーションの exploit をつこうとする攻撃者からシステム全体を守るように設計されています。脅威に対処するために、TOMOYO Linux はテスト環境で全てのアプリケーションの挙動を記録し、記録された挙動内でアプリケーションの行動を本番環境で制限します。
  
TOMOYO Linuxは他人に書かれた既製のポリシーファイルをユーザーが使うことを意図していません。自動的にポリシーファイルを生成する"learning mode"を必要に応じて使いながら、スクラッチからポリシーを作る必要があります。TOMOYO Linuxはシステム内で起こっていることを逐一観測するのでシステムの解析ツールとしても有用です。straceと同じようにプログラムによって実行されている命令やアクセス中のファイル/ネットワークを報告します。
+
TOMOYO Linux は他人に書かれた既製のポリシーファイルをユーザーが使うことを意図していません。自動的にポリシーファイルを生成する "learning mode" を必要に応じて使いながら、スクラッチからポリシーを作る必要があります。TOMOYO Linux はシステム内で起こっていることを逐一観測するのでシステムの解析ツールとしても有用です。strace と同じようにプログラムによって実行されている命令やアクセス中のファイル/ネットワークを報告します。
  
[http://tomoyo.sourceforge.jp/wiki-e/?WhatIs#comparison この表]ではTOMOYO Linuxと[[AppArmor]]、[[SELinux]]、[http://schaufler-ca.com/ SMACK]を比較しています。
+
[http://tomoyo.sourceforge.jp/wiki-e/?WhatIs#comparison この表]では TOMOYO Linux と [[AppArmor]]、[[SELinux]]、[http://schaufler-ca.com/ SMACK] を比較しています。
  
 
==開発ブランチ==
 
==開発ブランチ==
[http://tomoyo.sourceforge.jp/1.8/index.html.en TOMOYO Linux 1.x]はオリジナルの実装です。TOMOYO Linuxは2005年11月11日に初めてリリースされました。当時Linuxカーネルへのパッチとして作られ、現在も活発に開発されています。SELinuxやSMACK、AppArmorなど他のセキュリティモジュールと共存できます。
+
[http://tomoyo.sourceforge.jp/1.8/index.html.en TOMOYO Linux 1.x] はオリジナルの実装です。TOMOYO Linux は2005年11月11日に初めてリリースされました。当時 Linux カーネルへのパッチとして作られ、現在も活発に開発されています。SELinux や SMACK、AppArmor など他のセキュリティモジュールと共存できます。
  
[http://tomoyo.sourceforge.jp/2.3/index.html.en TOMOYO Linux 2.x]は標準のLinuxカーネルに統合されている実装です。2009年の6月に、Linux Security Module(LSM)インターフェースを利用する形でTOMOYOはLinuxカーネル2.6.30にマージされました。しかしながら、LSMはTOMOYO Linuxの完全な強制アクセス制御をLinuxカーネルで機能させるには不十分です。そのため1.xブランチよりも少ない機能しか提供されていません。[http://tomoyo.sourceforge.jp/comparison.html この表]にそれぞれのブランチの違いが比較されています。
+
[http://tomoyo.sourceforge.jp/2.3/index.html.en TOMOYO Linux 2.x] は標準の Linux カーネルに統合されている実装です。2009年の6月に、Linux Security Module (LSM) インターフェースを利用する形で TOMOYO は Linux カーネル 2.6.30 にマージされました。しかしながら、LSM は TOMOYO Linux の完全な強制アクセス制御を Linux カーネルで機能させるには不十分です。そのため 1.x ブランチよりも少ない機能しか提供されていません。[http://tomoyo.sourceforge.jp/comparison.html この表]にそれぞれのブランチの違いが比較されています。
  
[http://akari.sourceforge.jp/ AKARI]はTOMOYO Linux 1.xをベースにローダブル・カーネル・モジュール(LKM)として機能します。そのためユーザーはカーネルにパッチをあてリコンパイルする必要がないという利点があります。[http://akari.sourceforge.jp/comparison.html このテーブル]でAKARIとTOMOYO Linux 1.x・2.xブランチの比較を一覧することができます。
+
[http://akari.sourceforge.jp/ AKARI] は TOMOYO Linux 1.x をベースにローダブル・カーネル・モジュール (LKM) として機能します。そのためユーザーはカーネルにパッチをあてリコンパイルする必要がないという利点があります。[http://akari.sourceforge.jp/comparison.html このテーブル]で AKARI と TOMOYO Linux 1.x・2.x ブランチの比較を一覧することができます。
  
 
==TOMOYO Linux 1.x==
 
==TOMOYO Linux 1.x==
TOMOYO Linux 1.xを使うことでTOMOYO Linuxプロジェクトで開発された全ての機能を利用することができます。しかしながら、このブランチを使うには超えなくてはいけない多くのハードルがあります。カーネルに[http://sourceforge.jp/projects/tomoyo/ ccs-patch]をパッチしてその後リコンパイルしなくてはなりません。
+
TOMOYO Linux 1.x を使うことで TOMOYO Linux プロジェクトで開発された全ての機能を利用することができます。しかしながら、このブランチを使うには多くのハードルがあります。カーネルに [http://sourceforge.jp/projects/tomoyo/ ccs-patch] をパッチしてその後リコンパイルしなくてはなりません。
  
''linux-ccs''とユーザースペースツールをインストールする必要があります。AURにそれぞれ[https://aur.archlinux.org/packages.php?ID=51669 linux-ccs]と[https://aur.archlinux.org/packages.php?ID=42606 ccs-tools]のパッケージが存在します。
+
''linux-ccs'' とユーザースペースツールをインストールする必要があります。AUR にそれぞれ [https://aur.archlinux.org/packages.php?ID=51669 linux-ccs] と [https://aur.archlinux.org/packages.php?ID=42606 ccs-tools] のパッケージが存在します。
  
 
===初期設定===
 
===初期設定===
 
ポリシーを初期化してください:
 
ポリシーを初期化してください:
 
  # /usr/lib/ccs/init_policy
 
  # /usr/lib/ccs/init_policy
ポリシーファイルは{{ic|/etc/css/}}ディレクトリに保存されています。編集するには:
+
ポリシーファイルは {{ic|/etc/css/}} ディレクトリに保存されています。編集するには:
 
  # ccs-editpolicy
 
  # ccs-editpolicy
  
 
==AKARI==
 
==AKARI==
===AKARIの制限===
+
===AKARI の制限===
AKARIにはカーネルリコンパイルが必要ないという利点があります。TOMOYO Linuxを単純にシステムアナリシスに使うつもりなら、AKARIは一番簡単な方法になります。TOMOYO Linuxをシステム制限に使うのなら、TOMOYO Linux 1.xブランチの機能を得るためには最低限の労力が必要です。ただ、少しの機能制限を考慮しなくてはなりません:
+
AKARI にはカーネルリコンパイルが必要ないという利点があります。TOMOYO Linux を単純にシステム解析に使うつもりなら、AKARI は一番簡単な方法になります。TOMOYO Linux をシステム制限に使うのなら、TOMOYO Linux 1.x ブランチの機能を得るために最低限の労力が必要です。ただ、少しの機能制限を考慮しなくてはなりません:
 
* どの機能が制限されるかはカーネルのバージョンと、ディストリビューションによる設定によります:
 
* どの機能が制限されるかはカーネルのバージョンと、ディストリビューションによる設定によります:
 
<pre>
 
<pre>
Line 49: Line 49:
 
CONFIG_SECURITY_NETWORK=y [optional: for providing network restriction]
 
CONFIG_SECURITY_NETWORK=y [optional: for providing network restriction]
 
</pre>
 
</pre>
* LSMフックを使えないため、高度なネットワークオペレーションのいくつかの制限が使えません
+
* LSM フックを使えないため、高度なネットワークオペレーションのいくつかの制限が使えません
 
* [http://en.wikipedia.org/wiki/Capability-based_security ケイパビリティ]を使った制限は行えません
 
* [http://en.wikipedia.org/wiki/Capability-based_security ケイパビリティ]を使った制限は行えません
 
* Looking up per-task variables is slower as they are managed outside "struct task_struct" in order to keep KABI unchanged. However, this should not be noticeable for the typical end-user as performance decrease by pathname based permission checking is dominant
 
* Looking up per-task variables is slower as they are managed outside "struct task_struct" in order to keep KABI unchanged. However, this should not be noticeable for the typical end-user as performance decrease by pathname based permission checking is dominant
[http://akari.sourceforge.jp/comparison.html このテーブル]でAKARIとTOMOYO Linux 1.x、2.xブランチとの比較を一覧できます。
+
[http://akari.sourceforge.jp/comparison.html このテーブル]で AKARI と TOMOYO Linux 1.x、2.x ブランチとの比較を一覧できます。
  
{{Note|2.6.36以後のArch Linuxカーネルでは全ての機能を有効にするのに必要なコンフィグレーションオプションの全てが提供されています。}}
+
{{Note|2.6.36 以後の Arch Linux カーネルでは全ての機能を有効にするのに必要なコンフィグレーションオプションの全てが提供されています。}}
  
 
===インストール===
 
===インストール===
ユーザースペースツールとあわせてAKARIをインストールする必要があります。[https://aur.archlinux.org/packages.php?ID=42608 AKARI]と[https://aur.archlinux.org/packages.php?ID=42606 ccs-tools]のパッケージがAURで手に入ります。
+
ユーザースペースツールとあわせて AKARI をインストールする必要があります。[https://aur.archlinux.org/packages.php?ID=42608 AKARI]と[https://aur.archlinux.org/packages.php?ID=42606 ccs-tools] のパッケージが AUR で手に入ります。
  
AKARIを有効にするためにブートローダの設定を変える必要があります:
+
AKARI を有効にするためにブートローダの設定を変える必要があります:
 
  title  Arch Linux
 
  title  Arch Linux
 
  root  (hd0,0)
 
  root  (hd0,0)
Line 68: Line 68:
 
ポリシーを初期化してください:
 
ポリシーを初期化してください:
 
  # /usr/lib/ccs/init_policy --module_name=akari
 
  # /usr/lib/ccs/init_policy --module_name=akari
ポリシーファイルは{{ic|/etc/css/}}ディレクトリに保存されています。編集するには:
+
ポリシーファイルは {{ic|/etc/css/}} ディレクトリに保存されています。編集するには:
 
  # ccs-editpolicy
 
  # ccs-editpolicy
  
 
==TOMOYO Linux 2.x==
 
==TOMOYO Linux 2.x==
===TOMOYO Linux 2.xの制限===
+
===TOMOYO Linux 2.x の制限===
Linuxカーネルのメインラインに取り込まれているTOMOYO Linux 2.xの機能は完全ではありませんが、ファイルのMACには十分効果的です。1.xブランチと比べると実装されていない機能が少数あります。[http://tomoyo.sourceforge.jp/comparison.html.en この表]を見てそれぞれの開発ブランチの差を比較できます。
+
Linux カーネルのメインラインに取り込まれている TOMOYO Linux 2.x の機能は完全ではありませんが、ファイルの MAC には十分効果的です。1.x ブランチと比べると実装されていない機能が少数あります。[http://tomoyo.sourceforge.jp/comparison.html.en この表]でそれぞれの開発ブランチの差を比較できます。
  
 
===インストール===
 
===インストール===
TOMOYO Linux 2.xはLinuxのメインラインのカーネルの一部です。次のカーネルコンフィグレーションが必要です:
+
TOMOYO Linux 2.x は Linux のメインラインのカーネルの一部です。次のカーネルコンフィグレーションが必要です:
 
  CONFIG_SECURITY_TOMOYO=y
 
  CONFIG_SECURITY_TOMOYO=y
 
{{note|2.6.36以後のArch Linuxカーネルでは全ての機能を有効にするのに必要なコンフィグレーションオプションの全てが提供されています。}}
 
{{note|2.6.36以後のArch Linuxカーネルでは全ての機能を有効にするのに必要なコンフィグレーションオプションの全てが提供されています。}}
  
カーネルがTOMOYO Linux 2.xをサポートしていれば、あとはユーザースペースのツールをインストールすれば十分です:
+
カーネルが TOMOYO Linux 2.x をサポートしていれば、あとはユーザースペースのツールをインストールすれば十分です:
  
 
<pre>
 
<pre>
Line 86: Line 86:
 
</pre>
 
</pre>
  
カーネルバージョンが2.6.30から2.6.35の場合、tomoyo-tools 2.2.xをインストールしてください。パッケージは[https://aur.archlinux.org/packages.php?ID=42272 AUR]で手に入ります。
+
カーネルバージョンが 2.6.30 から 2.6.35 の場合、tomoyo-tools 2.2.x をインストールしてください。パッケージは [https://aur.archlinux.org/packages.php?ID=42272 AUR] で手に入ります。
  
 
===初期設定===
 
===初期設定===
 
ポリシーを初期化してください:
 
ポリシーを初期化してください:
 
  # /usr/lib/tomoyo/init_policy
 
  # /usr/lib/tomoyo/init_policy
{{ic|/usr/lib/tomoyo/init_policy}}が終わったらコンピュータを再起動させます。
+
{{ic|/usr/lib/tomoyo/init_policy}} が終わったらコンピュータを再起動させます。
  
ポリシーファイルは{{ic|/etc/tomoyo/}}ディレクトリに保存されています。編集するには:
+
ポリシーファイルは {{ic|/etc/tomoyo/}} ディレクトリに保存されています。編集するには:
 
  # tomoyo-editpolicy
 
  # tomoyo-editpolicy
  
 
==使用方法==
 
==使用方法==
TOMOYO LinuxやAKARIを効果的に使うためにもドキュメントをよく読みましょう:
+
TOMOYO Linux や AKARI を効果的に使うためにもドキュメントをよく読みましょう:
 
* [http://tomoyo.sourceforge.jp/documentation.html.en TOMOYO Linux documentation]
 
* [http://tomoyo.sourceforge.jp/documentation.html.en TOMOYO Linux documentation]
 
* [http://akari.sourceforge.jp/index.html.en AKARI documentation]
 
* [http://akari.sourceforge.jp/index.html.en AKARI documentation]
編集をはじめるためにポリシーエディタを起動します。TOMOYO Linux 1.xもしくはAKARIを使っている場合は''ccs-tools''を使います:
+
編集をはじめるためにポリシーエディタを起動します。TOMOYO Linux 1.x もしくは AKARI を使っている場合は ''ccs-tools'' を使います:
 
  # /usr/sbin/ccs-editpolicy
 
  # /usr/sbin/ccs-editpolicy
TOMOYO Linux 2.xを使っている場合は''tomoyo-tools''を使います:
+
TOMOYO Linux 2.x を使っている場合は ''tomoyo-tools'' を使います:
 
  # /usr/sbin/tomoyo-editpolicy
 
  # /usr/sbin/tomoyo-editpolicy
システムが動いている間、TOMOYO Linuxはドメインを作りツリーに加えます。TOMOYO Linuxのアクセス解析・制限はドメインを通して適用されます。全てのプロセスはシングルドメインに属し、プロセスはプログラムを起動するたびに新しいドメインに遷移します。ドメインの名前は実行した順番に連結されて表現されます。例えば、カーネルが属しているドメインの名前は"<kernel>"で、カーネルによって起動した{{ic|/sbin/init}}のドメインの名前は"<kernel> /sbin/init"。もし{{ic|/sbin/init}}が{{ic|/etc/rc.d/rc}}を起動すると、そのドメインは"<kernel> /sbin/init /etc/rc.d/rc"になります。必要に応じてドメイン遷移を抑制したり初期化することができます。
+
システムが動いている間、TOMOYO Linux はドメインを作りツリーに加えます。TOMOYO Linux のアクセス解析・制限はドメインを通して適用されます。全てのプロセスはシングルドメインに属し、プロセスはプログラムを起動するたびに新しいドメインに遷移します。ドメインの名前は実行した順番に連結されて表現されます。例えば、カーネルが属しているドメインの名前は "<kernel>" で、カーネルによって起動した {{ic|/sbin/init}} のドメインの名前は "<kernel> /sbin/init"。もし {{ic|/sbin/init}} が {{ic|/etc/rc.d/rc}} を起動すると、そのドメインは "<kernel> /sbin/init /etc/rc.d/rc" になります。必要に応じてドメイン遷移を抑制したり初期化することができます。
  
 
それぞれのドメインにはプロファイルが割り当てられます。デフォルトでは異なる4つのプロファイルが定義されています:
 
それぞれのドメインにはプロファイルが割り当てられます。デフォルトでは異なる4つのプロファイルが定義されています:

Revision as of 15:15, 21 November 2012

TOMOYO Linux は Linux 用の強制アクセス制御(MAC)の実装です。2003年3月にローンチされ、NTT データによって提供されています。TOMOYO Linux はシステムの振る舞いに着目し、目的を達成するのに必要な振る舞いやリソースについて報告させることができます。アクセス制限ツールとしてだけでなくシステム解析ツールとしても利用価値があります。

TOMOYO Linux におけるセキュリティのゴールは"多くのユーザーにとって現実的な要件を満たし、管理者が使いやすさを維持できる強制アクセス制御"を提供することです。TOMOYO Linux はセキュリティ専門家のためだけでなく、標準的なユーザーや管理者のために開発されています。

Note: この記事では網羅的な解説はしないので、充実したプロジェクトのユーザードキュメントの補助としてお使いください。
Tip: TOMOYO Linux 2.xブランチが Arch Linux の [community] レポジトリに入っています。今のところこのブランチでは 1.x ブランチと同等の機能は完備されていませんが、手軽に始めたい人には 2.x ブランチの方が簡単にインストールできます。TOMOYO Linux 1.x ブランチはより良いセキュリティを求める人向けで、AKARI はその中間に位置します。

イントロダクション

TOMOYO Linux は簡単な方法でシステムを制御します:

  • カーネルのライフタイムに発生したアクセスリクエストの全てを記録します
  • 管理者は予想される・望ましいアクセスリクエストだけを許可するポリシーを作ります

AppArmor とは違って、TOMOYO Linux は、アプリケーションの exploit をつこうとする攻撃者からシステム全体を守るように設計されています。脅威に対処するために、TOMOYO Linux はテスト環境で全てのアプリケーションの挙動を記録し、記録された挙動内でアプリケーションの行動を本番環境で制限します。

TOMOYO Linux は他人に書かれた既製のポリシーファイルをユーザーが使うことを意図していません。自動的にポリシーファイルを生成する "learning mode" を必要に応じて使いながら、スクラッチからポリシーを作る必要があります。TOMOYO Linux はシステム内で起こっていることを逐一観測するのでシステムの解析ツールとしても有用です。strace と同じようにプログラムによって実行されている命令やアクセス中のファイル/ネットワークを報告します。

この表では TOMOYO Linux と AppArmorSELinuxSMACK を比較しています。

開発ブランチ

TOMOYO Linux 1.x はオリジナルの実装です。TOMOYO Linux は2005年11月11日に初めてリリースされました。当時 Linux カーネルへのパッチとして作られ、現在も活発に開発されています。SELinux や SMACK、AppArmor など他のセキュリティモジュールと共存できます。

TOMOYO Linux 2.x は標準の Linux カーネルに統合されている実装です。2009年の6月に、Linux Security Module (LSM) インターフェースを利用する形で TOMOYO は Linux カーネル 2.6.30 にマージされました。しかしながら、LSM は TOMOYO Linux の完全な強制アクセス制御を Linux カーネルで機能させるには不十分です。そのため 1.x ブランチよりも少ない機能しか提供されていません。この表にそれぞれのブランチの違いが比較されています。

AKARI は TOMOYO Linux 1.x をベースにローダブル・カーネル・モジュール (LKM) として機能します。そのためユーザーはカーネルにパッチをあてリコンパイルする必要がないという利点があります。このテーブルで AKARI と TOMOYO Linux 1.x・2.x ブランチの比較を一覧することができます。

TOMOYO Linux 1.x

TOMOYO Linux 1.x を使うことで TOMOYO Linux プロジェクトで開発された全ての機能を利用することができます。しかしながら、このブランチを使うには多くのハードルがあります。カーネルに ccs-patch をパッチしてその後リコンパイルしなくてはなりません。

linux-ccs とユーザースペースツールをインストールする必要があります。AUR にそれぞれ linux-ccsccs-tools のパッケージが存在します。

初期設定

ポリシーを初期化してください:

# /usr/lib/ccs/init_policy

ポリシーファイルは /etc/css/ ディレクトリに保存されています。編集するには:

# ccs-editpolicy

AKARI

AKARI の制限

AKARI にはカーネルリコンパイルが必要ないという利点があります。TOMOYO Linux を単純にシステム解析に使うつもりなら、AKARI は一番簡単な方法になります。TOMOYO Linux をシステム制限に使うのなら、TOMOYO Linux 1.x ブランチの機能を得るために最低限の労力が必要です。ただ、少しの機能制限を考慮しなくてはなりません:

  • どの機能が制限されるかはカーネルのバージョンと、ディストリビューションによる設定によります:
CONFIG_SECURITY=y [required]
CONFIG_KALLSYMS=y [required]
CONFIG_PROC_FS=y [required]
CONFIG_MODULES=y [required]
CONFIG_SECURITY_PATH=y [optional: for using absolute pathnames]
CONFIG_SECURITY_NETWORK=y [optional: for providing network restriction]
  • LSM フックを使えないため、高度なネットワークオペレーションのいくつかの制限が使えません
  • ケイパビリティを使った制限は行えません
  • Looking up per-task variables is slower as they are managed outside "struct task_struct" in order to keep KABI unchanged. However, this should not be noticeable for the typical end-user as performance decrease by pathname based permission checking is dominant

このテーブルで AKARI と TOMOYO Linux 1.x、2.x ブランチとの比較を一覧できます。

Note: 2.6.36 以後の Arch Linux カーネルでは全ての機能を有効にするのに必要なコンフィグレーションオプションの全てが提供されています。

インストール

ユーザースペースツールとあわせて AKARI をインストールする必要があります。AKARIccs-tools のパッケージが AUR で手に入ります。

AKARI を有効にするためにブートローダの設定を変える必要があります:

title  Arch Linux
root   (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/sda1 ro init=/sbin/ccs-init
initrd /boot/initramfs-linux.img

初期設定

ポリシーを初期化してください:

# /usr/lib/ccs/init_policy --module_name=akari

ポリシーファイルは /etc/css/ ディレクトリに保存されています。編集するには:

# ccs-editpolicy

TOMOYO Linux 2.x

TOMOYO Linux 2.x の制限

Linux カーネルのメインラインに取り込まれている TOMOYO Linux 2.x の機能は完全ではありませんが、ファイルの MAC には十分効果的です。1.x ブランチと比べると実装されていない機能が少数あります。この表でそれぞれの開発ブランチの差を比較できます。

インストール

TOMOYO Linux 2.x は Linux のメインラインのカーネルの一部です。次のカーネルコンフィグレーションが必要です:

CONFIG_SECURITY_TOMOYO=y
Note: 2.6.36以後のArch Linuxカーネルでは全ての機能を有効にするのに必要なコンフィグレーションオプションの全てが提供されています。

カーネルが TOMOYO Linux 2.x をサポートしていれば、あとはユーザースペースのツールをインストールすれば十分です:

pacman -S tomoyo-tools

カーネルバージョンが 2.6.30 から 2.6.35 の場合、tomoyo-tools 2.2.x をインストールしてください。パッケージは AUR で手に入ります。

初期設定

ポリシーを初期化してください:

# /usr/lib/tomoyo/init_policy

/usr/lib/tomoyo/init_policy が終わったらコンピュータを再起動させます。

ポリシーファイルは /etc/tomoyo/ ディレクトリに保存されています。編集するには:

# tomoyo-editpolicy

使用方法

TOMOYO Linux や AKARI を効果的に使うためにもドキュメントをよく読みましょう:

編集をはじめるためにポリシーエディタを起動します。TOMOYO Linux 1.x もしくは AKARI を使っている場合は ccs-tools を使います:

# /usr/sbin/ccs-editpolicy

TOMOYO Linux 2.x を使っている場合は tomoyo-tools を使います:

# /usr/sbin/tomoyo-editpolicy

システムが動いている間、TOMOYO Linux はドメインを作りツリーに加えます。TOMOYO Linux のアクセス解析・制限はドメインを通して適用されます。全てのプロセスはシングルドメインに属し、プロセスはプログラムを起動するたびに新しいドメインに遷移します。ドメインの名前は実行した順番に連結されて表現されます。例えば、カーネルが属しているドメインの名前は "<kernel>" で、カーネルによって起動した /sbin/init のドメインの名前は "<kernel> /sbin/init"。もし /sbin/init/etc/rc.d/rc を起動すると、そのドメインは "<kernel> /sbin/init /etc/rc.d/rc" になります。必要に応じてドメイン遷移を抑制したり初期化することができます。

それぞれのドメインにはプロファイルが割り当てられます。デフォルトでは異なる4つのプロファイルが定義されています:

Disabled 通常のカーネルのように動作します。
Learning アクセス要求がポリシーで許可されていなくても拒否しません。また、同じアクセス要求を次回以降は許可するためにポリシーに追加します。
Permissive アクセス要求がポリシーで許可されていなくても拒否しません。ただし、ポリシーへの追加も行いません。
Enforcing アクセス要求がポリシーで許可されていない場合には拒否します。また、ポリシーへの追加も行いません。

学習用プロファイルはシステムや特定のアプリケーションを解析するために使うことができます。 Once all of the desired access requests of a domain have been identified, the policy for that domain can be edited as required before selecting the enforcing profile. This can be done for any and all domains from the start of system boot.

参照

関連項目