EN JA
MAC(4)
MAC(4) FreeBSD Kernel Interfaces Manual MAC(4)

名称

mac強制的アクセス制御 (Mandatory Access Control)

書式

options MAC

解説

紹介

強制的アクセス制御 (Mandatory Access Control) または MAC、フレームワークはロード可能なセキュリティポリシアーキテクチャに備えることによって、管理者が細かくシステムセキュリティを制御できます。本来の性質のために、MAC セキュリティポリシがお互いとベースシステムポリシを比べてアクセスを制限するだけであるかもしれないことに注意することは重要です。それらはファイルパーミッションとスーパユーザのチェックのような、伝統的な UNIX セキュリティ条件を上書きすることができません。

現在、次の MAC ポリシが FreeBSD とともに出荷されています:

名前 説明 ラベル ロード時
mac_biba(4) Biba 整合性ポリシ yes boot only
mac_bsdextended(4) ファイルシステムファイア no any time
ウォール
mac_ifoff(4) インタフェース沈黙 no any time
mac_lomac(4) 低いウォータマーク MAC yes boot only
ポリシ
mac_mls(4) 機密性ポリシ yes boot only
mac_none(4) サンプル no-op ポリシ no any time
mac_partition(4) プロセスパーティション yes any time
ポリシ
mac_portacl(4) ポート bind(2) アクセス制御 no any time
mac_seeotheruids(4) See-other-UID ポリシ no any time
mac_test(4) MAC テストポリシ no any time

MAC ラベル

各システムサブジェクト (プロセス、ソケットなど) と各システムオブジェクト (ファイルシステムオブジェクト、ソケットなど) は MAC ラベルをサポートすることができます。 MAC ラベルはアクセスを与えられた操作のためのアクセス制御の決定を行う際に考慮に入れられた任意の形式でデータを含んでいます。システムサブジェクトとオブジェクト上のほとんどの MAC ラベルはシステム管理者によって直接的または間接的に変更することができます。与えられたポリシのラベルのための形式はラベルが付けられたオブジェクトまたはサブジェクトのタイプに応じて異なります。 MAC ラベルのための形式に関する詳しい情報は maclabel(7) マニュアルページで見つけることができます。

UFS2 ファイルシステムのための MAC サポート

デフォルトでは、ラベルが付けられた MAC ポリシのファイルシステム実施は、特定のファイルシステムですべてのファイルのためのアクセス制御の決定を行うために、単一のシステムラベル ( MAC ラベル を参照) に依存します。いくつかのポリシで、管理者はこの設定で機能を最大限に利用できないかもしれません。特定のファイルシステムのための個別的にラベルが付けられたファイルのサポートを有効にするために、“multilabel”フラグはファイルシステムで有効にされなければなりません。“multilabel”フラグを設定するためには、シングルユーザモードに落として、ファイルシステムを unmount して、それから、次のコマンドを実行します:

tunefs -l enable filesystem

ここで、 filesystem は ( fstab(5) 中の) マウントポイントまたはマルチラベルのサポートを有効にするファイルシステムに対応する ( /dev 中の) 特殊ファイルのいずれかです。

ポリシ強制

ポリシ実施はシステムの次の領域に分割されます:
ファイルシステム
ファイルシステムのマウント、ディレクトリの変更、ファイルの変更など
KLD
ロードされたカーネルモジュールにおける統計値のロード、アンロードと検索
ネットワーク
ネットワークインタフェース、 bpf(4), パケット配送と送信、インタフェースの設定 ( ioctl(2), ifconfig(8))
パイプ
pipe(2) オブジェクトにおける作成と操作
プロセス
デバッグ (例えば、 ktrace(2)), プロセスの可視性 ( ps(1)), プロセス実行 ( execve(2)), シグナル処理 ( kill(2))
ソケット
socket(2) オブジェクトにおける作成と操作
システム
カーネル環境 ( kenv(1)), システムアカウンティング ( acct(2)), reboot(2), settimeofday(2), swapon(2), sysctl(3), nfsd(8) 関連の操作
VM (仮想メモリ)
mmap(2) されたファイル

MAC ラベルの設定

コマンドラインから、それぞれのタイプのシステムオブジェクトには、 MAC ポリシラベルを設定して変更するためのそれ自体の手段があります。
サブジェクト/オブジェクト ユーティリティ
ファイルシステムオブジェクト setfmac(8), setfsmac(8)
ネットワークインタフェース ifconfig(8)
TTY (ログインクラスで) login.conf(5)
ユーザ (ログインクラスで) login.conf(5)

さらに、 su(1)setpmac(8) ユーティリティは、シェルの現在のラベルより異なったプロセスラベルでコマンドを実行するために使用することができます。

MAC でのプログラミング

MAC セキュリティ実施自体は、いくつかのプログラムが様々なシステムコールからの追加 errno(2) リターンを知ってさえいればよい例外で、アプリケーションプログラムに透過的 (から見えない) です。

ポリシラベルを検索する、取り扱う、設定するためのインタフェースは mac(3) マニュアルページに文書化されています。

歴史

mac 実装は、 FreeBSD 5.0 ではじめて登場し、 TrustedBSD プロジェクトによって開発されました。

作者

このソフトウェアは DARPA CHATS 研究プログラムの一環として、 DARPA/SPAWAR 契約 N66001-01-C-8035 (“CBOSS”) の下で Network Associates Labs, the Security Research Division of Network Associates Inc. によって FreeBSD プロジェクトに寄贈されました。

バグ

適切な製品の使用に関しては mac(9) を参照してください。 TrustedBSD MAC フレームワークは FreeBSD では実験的扱いとみなされます。

MAC フレームワークデザインはルートユーザの封じ込めをサポートすることを目的としていますが、現在すべての攻撃チャネルがエントリポイントチェックで保護されるわけではありません。悪意がある特権ユーザから防御するために、分離して MAC フレームポリシをそのようなものとして信頼するべきではありません。

October 30, 2007 FreeBSD