SELinux/ja

From Gentoo Wiki
Jump to: navigation, search


SELinuxは、セキュリティ管理者がユーザがなにができてなにができないかを決定できるようにする、より細かいアクセス制御強制アクセス制御システムです。Linuxにおける標準の任意アクセス制御(すなわちエンドユーザが共有するべきでないファイルを共有したり、他のユーザがその人の所有するファイルに書きこめるようにできるなど)と違い、強制アクセス制御は完全にセキュリティポリシーによって制御されます。

SELinuxは標準の任意アクセスコントロール(DAC)と一緒に動作します。つまり、DACによる制御がまず行なわれ、DACが動作を許可すればSELinuxが同様に動作を確認します。SELinuxではプロセスは「ドメイン」というものの中で動作します。それぞれのドメインにどのリソース(プロセス、他のドメイン、ファイル、権限、ファイルコンテキスト、セマフォ、メッセージなど)にどんなことができるかの権限が設定されています。

Gentoo サポート

Gentooプロジェクトでは、SELinuxはGentoo Hardenedプロジェクトによってもサポートされています。しかし、SELinuxを使うのにhardenedプロファイルを使う必要はありません。(hardenedのツールチェインを使わずにSELinuxを有効にすることができます。)

Gentoo Hardened SELinux リソース

SELinuxと戦う助けとなるドキュメントをリストアップします。これらのドキュメントはGentooのSELinuxサブプロジェクトでメンテナンスされています。

この他にも開発に関連したドキュメントもあります。Gentoo HardenedのSELinuxサポートの開発に興味がある方はこのドキュメトを参考にしてください。

SELinux ポリシーモジュール

SELinuxは、ポリシー設定にモジュール的なアプローチを採用しています。コア部分の権限設定は "base" ポリシーの中に含まれ、追加の権限設定をSELinuxのモジュールで定義します。現在ロードされているSELinuxのモジュールリストを表示するには、semodule -lを実行しましょう。ポリシーモジュールには、それぞれの定義(どのドメインがモジュールによって提供され、どのリソースがどのようにラベルづけされているか)、権限(どんな動作が許可されているか)、追加の権限(SELinuxでの真偽値によって発動される)、その他もろもろが記載されています。ときには、そのモジュール特有の、より手の混んだ記載の保有も請けあっています。

以下に、文書の用意されているモジュールのリストを示します。

  • apache は、apache や lighttpd のようなウェブサーバに対応する SELinux モジュールです。
  • bind は、bind DNSサーバに対応する SELinux モジュールです。
  • chromium は、 chromium ウェブブラウザに対応する SELinux モジュールです。
  • cron は、(vixie-cron のような) さまざまな cron ドメイン に対応する SELinux モジュールです。
  • ldap は、 OpenLDAP に対応する SELinux モジュールです。
  • portage は、Gentoo の portage システムと、portage に関連するツール (gcc-config や eselect などなど) に対応する SELinux モジュールです。