- Merge the following from the English version:

r21127 -> r22195	head/ja_JP.eucJP/books/handbook/security/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2017-02-22 15:56:24 +00:00
parent 9dc2623427
commit dee8d95b16
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=50003

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r21127
Original revision: r22195
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security">
@ -76,12 +76,6 @@
<para>&os; で使われている <acronym>SSH</acronym> である
<application>OpenSSH</application> の設定および使用方法</para>
</listitem>
<!--
<listitem>
<para>How to configure and load access control extension
modules using the TrustedBSD <acronym>MAC</acronym> Framework.</para>
</listitem>
-->
<listitem>
<para>ファイルシステムの <acronym>ACL</acronym> (アクセス制御リスト)
@ -279,7 +273,7 @@
</listitem>
<listitem>
<para><systemitem class="username">root</systemitem> の安全性を高める &mdash;
<para><systemitem class="username">root</systemitem> の安全性を高める &ndash;
<systemitem class="username">root</systemitem> 権限で動作するサーバと
suid/sgid バイナリ。</para>
</listitem>
@ -320,10 +314,13 @@
<note>
<title>コマンド対プロトコル</title>
<para>この文書を通して、コマンドまたはアプリケーションを指すのには
<application>太字</application> を使います。
たとえばプロトコルであると同時にコマンドでもある
ssh などに対して使います。</para>
<para>この文書を通して、アプリケーションを指すのには
<application>太字</application> を使い、
コマンドを指す場合には、<command>等幅</command> フォントを使います。
プロトコルは通常のフォントで表します。
このような書体による区別は、
プロトコルであると同時にコマンドでもある
ssh などに対して有効です。</para>
</note>
<indexterm>
@ -1615,7 +1612,7 @@ permit port ttyd0</programlisting>
</sect1>
<sect1 xml:id="kerberosIV">
<info><title>KerberosIV</title>
<info><title><application>KerberosIV</application></title>
<authorgroup>
<author><personname><firstname>Mark</firstname><surname>Murray</surname></personname><contrib>寄稿: </contrib></author>
</authorgroup>
@ -1644,7 +1641,7 @@ permit port ttyd0</programlisting>
でしょう。</para>
<sect2>
<title>KerberosIV のインストール</title>
<title><application>KerberosIV</application> のインストール</title>
<indexterm><primary>MIT</primary></indexterm>
<indexterm>
@ -2694,10 +2691,10 @@ jdoe@example.org</screen>
</listitem>
<listitem>
<para>システムの時刻は同期していますか? 本当ですか?
時刻が同期していないと
(通常は 5 分以内で同期されていないと)
認証に失敗してしまいます</para>
<para>レルムにあるすべてのコンピュータの間で時刻が同期していますか?
時刻が同期していないと認証に失敗してしまいます。
<acronym>NTP</acronym> を用いた、時刻の同期方法については、
<xref linkend="network-ntp"/> をご覧ください</para>
</listitem>
<listitem>
@ -2796,14 +2793,6 @@ jdoe@example.org</screen>
の真偽の検証を可能にしている部分です。</para></note>
</listitem>
<listitem>
<para>レルムにあるすべてのコンピュータの間で時刻が同期している必要があります。
この目的に完璧に適しているのが、
<acronym>NTP</acronym> です。
<acronym>NTP</acronym> の詳細については、
<xref linkend="network-ntp"/> をご覧ください。</para>
</listitem>
<listitem>
<para>(たとえば一週間といった)
長い有効期限のチケットを使いたい場合で、
@ -3001,7 +2990,7 @@ jdoe@example.org</screen>
<listitem>
<para><link
xlink:href="http://web.mit.edu/Kerberos/www/dialogue.html">Designing
an Authentication System: a Dialogue in Four Scenes</link></para>
an Authentication System: a Dialog in Four Scenes</link></para>
</listitem>
<listitem>
@ -3263,7 +3252,7 @@ jdoe@example.org</screen>
<para>現在、IPFW
に関係するカーネルコンフィグレーションオプションは
4 つあります。</para>
5 つあります。</para>
<variablelist>
<varlistentry><term><literal>options IPFIREWALL</literal></term>
@ -3328,6 +3317,19 @@ jdoe@example.org</screen>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>options PFIL_HOOKS</literal></term>
<listitem>
<para>&os; 5.3-RELEASE 以降のバージョンでは、
パケットフィルタのためにコールアウトのフックを追加するため、
このオプションが必要となります。
これらのバージョンの &os; では、
このオプションが指定されていないと、
IPFW は動作しないでしょう。</para>
</listitem>
</varlistentry>
</variablelist>
<note><para>以前のバージョンの FreeBSD は
@ -4038,46 +4040,226 @@ jdoe@example.org</screen>
</sect1>
<sect1 xml:id="openssl">
<title>OpenSSL</title>
<info><title>OpenSSL</title>
<authorgroup>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>執筆: </contrib>
</author>
</authorgroup>
</info>
<indexterm>
<primary>セキュリティ</primary>
<secondary>OpenSSL</secondary>
</indexterm>
<indexterm><primary>OpenSSL</primary></indexterm>
<para>FreeBSD&nbsp;4.0 では、OpenSSL ツールキットが基本構成の一部に
含まれています。<link xlink:href="http://www.openssl.org/">OpenSSL</link> は、
Secure Sockets Layer v2/v3 (SSLv2/SSLv3) や Transport Layer
Security v1 (TLSv1) ネットワークセキュリティプロトコルと同様の
多目的な暗号化ライブラリを提供します。</para>
<para>多くのユーザが見落としがちな機能の一つが、
&os; に含まれている <application>OpenSSL</application>
ツールキットです。
<application>OpenSSL</application> は、
通常の通信層の上位にあるトランスポート層を暗号化し、
多くのネットワークアプリケーションおよびサービスと組み合わせて使用できます。</para>
<para>しかしながら、OpenSSL に含まれるアルゴリズムのひとつ
(特に IDEA) は、合衆国内、その他の地域において、
特許により保護されています。そのため、
無制約な利用は許されません。IDEA は
FreeBSD の OpenSSL 配布に含まれていますが、デフォルトではコンパ
イルされません。もし IDEA を使いたいなら、そしてあなたがそのライ
センス条項に合致するなら、<filename>/etc/make.conf</filename>
の中の MAKE_IDEA スイッチを有効にして、
<command>make world</command> でソースをリビルドしてください。</para>
<para><application>OpenSSL</application> は、
メールクライアントの暗号化された認証、
クレジットカードでの支払いといったウェブベースの取引などで使われます。
<filename role="package">www/apache13-ssl</filename> および
<filename role="package">mail/sylpheed-claws</filename>
といった多くの port では、
<application>OpenSSL</application>
とともに構築するコンパイルに対応しています。</para>
<para>現在は RSA アルゴリズムはアメリカとその他の国で自由に利用で
きます。以前は特許により保護されていました。</para>
<note>
<para>多くの場合、Ports Collection は、
make の WITH_OPENSSL_BASE 変数が明示的に
<quote>yes</quote> に設定されていないと、
<filename role="package">security/openssl</filename>
の構築を試みます。</para>
</note>
<indexterm>
<primary>OpenSSL</primary>
<secondary>インストール</secondary>
</indexterm>
<para>&os; に含まれている <application>OpenSSL</application>
 のバージョンは、Secure Sockets Layer v2/v3 (SSLv2/SSLv3) や
Transport Layer Security v1 (TLSv1)
ネットワークセキュリティプロトコルに対応しており、
アプリケーションで利用するための多目的な暗号化ライブラリとして使うことができます。</para>
<note>
<para><application>OpenSSL</application> は、
<acronym>IDEA</acronym> アルゴリズムに対応していますが、
合衆国の特許により、デフォルトでは無効になっています。
もし使用したいのであれば、ライセンス条項を必ず確認し、
ライセンス条項に合致するのであれば、
MAKE_IDEA 変数を設定してください。</para>
</note>
<para>おそらく最も一般的な <application>OpenSSL</application>
の利用方法のひとつは、
ソフトウェアアプリケーションが使えるように証明書を提供することです。
これらの証明書により、
会社または個人の公開鍵が、
改ざんやなりすましが行われていないことを確認できます。
もし問題となっている証明書が、認証局
または <acronym>CA</acronym> により検証されなければ、
通常警告が表示されます。
認証局は、VeriSign のような会社で、
個人または会社の公開鍵の検証を行えるように、
証明書に署名を行います。
証明書を作成するには費用がかかり、
証明書の使用は必ずしも必要条件ではありません。
しかしながら、証明書を使うことで、
疑り深いユーザを安心させることができます。</para>
<sect2>
<title>ソースコードのインストール</title>
<title>証明書の作成</title>
<para>OpenSSL は <literal>src-crypto</literal>
<literal>src-secure</literal>
<application>CVSup</application> コレクションの一部です。
FreeBSD のソースコードの取得と更新の詳細は、
<link linkend="mirrors">FreeBSD
の入手</link>の項を参照して下さい。</para>
<indexterm>
<primary>OpenSSL</primary>
<secondary>証明書の作成</secondary>
</indexterm>
<para>以下のコマンドにより、証明書を作成できます。</para>
<screen>&prompt.root; <userinput>openssl req -new -nodes -out req.pem -keyout cert.pem</userinput>
Generating a 1024 bit RSA private key
................++++++
.......................................++++++
writing new private key to 'cert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<userinput><replaceable>US</replaceable></userinput>
State or Province Name (full name) [Some-State]:<userinput><replaceable>PA</replaceable></userinput>
Locality Name (eg, city) []:<userinput><replaceable>Pittsburgh</replaceable></userinput>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput><replaceable>My Company</replaceable></userinput>
Organizational Unit Name (eg, section) []:<userinput><replaceable>Systems Administrator</replaceable></userinput>
Common Name (eg, YOUR name) []:<userinput><replaceable>localhost.example.org</replaceable></userinput>
Email Address []:<userinput><replaceable>trhodes@FreeBSD.org</replaceable></userinput>
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<userinput><replaceable>SOME PASSWORD</replaceable></userinput>
An optional company name []:<userinput><replaceable>Another Name</replaceable></userinput></screen>
<para><quote>Common Name</quote> プロンプト直後に表示されているのは、
ドメイン名です。
このプロンプトでは、検証するサーバ名の入力が必要となります。
ドメイン名以外を入力すると、役に立たない証明書が作成されます。
他には、有効期限を指定したり、
別の暗号化アルゴリズムを選択することができます。
&man.openssl.1; マニュアルページには、
オプションの完全なリストを。</para>
<para>前述のコマンドを実行したディレクトリに、
<filename>req.pem</filename> ファイルが作成されます。
このファイルは、
署名のために <acronym>CA</acronym> に送ることのできる証明書署名要求
(certificate request) です。</para>
<para><acronym>CA</acronym> の署名が必要ない場合には、
自己署名証明書を作成できます。
最初に <acronym>CA</acronym> の鍵を生成してください。</para>
<screen>&prompt.root; <userinput>openssl gendsa -des3 -out \
<filename>myca.key</filename> 1024</userinput></screen>
<para>この鍵を使って証明書を作成してください。</para>
<screen>&prompt.root; <userinput>openssl req -new -x509 -days 365 -key \
<filename>myca.key</filename> -out <filename>new.crt</filename></userinput></screen>
<para>新しく 2 つのファイルがこのディレクトリに作成されます。
プライベート鍵 <filename>myca.key</filename> および
証明書 <filename>new.crt</filename> です。
これらのファイルを、(好ましくは
<filename role="directory">/etc</filename> 以下で)
root のみが読むことのできるディレクトリに置く必要があります。
<command>chmod</command>
ユーティリティを使って許可属性を 0600 に設定してください。</para>
</sect2>
<sect2>
<title>証明書の使用例</title>
<para>これらのファイルで何ができるでしょうか?
効果的な利用方法は、
<application>Sendmail</application>
<acronym>MTA</acronym> への接続を暗号化することでしょう。
これにより、
ローカルの <acronym>MTA</acronym> 経由でメールを送信するユーザが、
テキスト認証を使用しなくてもすむようになります。</para>
<note>
<para>いくつかの <acronym>MUA</acronym> は、
証明書がローカルにインストールされていない場合に、
ユーザに対して、エラーを出力するので、
完全に最善の利用方法というわけではありません。
証明書のインストールに関する詳細な情報については、
ソフトウェアに付随の文書を参照してください。</para>
</note>
<para>以下の行をローカルの
<filename>.mc</filename> ファイルに入れてください。</para>
<programlisting>dnl SSL Options
define(`confCACERT_PATH',`/etc/certs')dnl
define(`confCACERT',`/etc/certs/new.crt')dnl
define(`confSERVER_CERT',`/etc/certs/new.crt')dnl
define(`confSERVER_KEY',`/etc/certs/myca.key')dnl
define(`confTLS_SRV_OPTIONS', `V')dnl</programlisting>
<para>ここで <filename role="directory">/etc/certs/</filename>
は、証明書および鍵ファイルが保存されているローカルのディレクトリです。
最後に、ローカルの <filename>.cf</filename>
ファイルを再構築する必要があります。
<filename role="directory">/etc/mail</filename> ディレクトリで、
<command>make</command> <parameter>install</parameter>
と入力すると再構築できます。
その後、<command>make</command>
<parameter>restart</parameter> と入力して、
<application>Sendmail</application>
デーモンを再起動してください。</para>
<para>すべてがうまくいっていれば、
<filename>/var/log/maillog</filename>
ファイルにはエラーメッセージは出力されず、
<application>Sendmail</application>
がプロセスの一覧に表示されます。</para>
<para>以下は簡単な試験の例で、&man.telnet.1; ユーティリティを使って、
メールサーバに接続しています。</para>
<screen>&prompt.root; <userinput>telnet <replaceable>example.com</replaceable> 25</userinput>
Trying 192.0.34.166...
Connected to <systemitem class="ipaddress">example.com</systemitem>
Escape character is '^]'.
220 <systemitem class="ipaddress">example.com</systemitem> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
<userinput>ehlo <replaceable>example.com</replaceable></userinput>
250-pittgoth.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
<userinput>quit</userinput>
221 2.0.0 <systemitem class="ipaddress">example.com</systemitem> closing connection
Connection closed by foreign host.</screen>
<para>すべてが適切に動いていれば、出力に <quote>STARTTLS</quote>
行が表示されます。</para>
</sect2>
</sect1>
@ -4437,6 +4619,11 @@ Network #2 [ Internal Hosts ]
その後、プライベート IP アドレスを
&man.ifconfig.8; を使って設定します。</para>
<note>
<para>&os;&nbsp;5.X では、
&man.gifconfig.8; ユーティリティが提供していた機能は、
&man.ifconfig.8; にマージされました。</para></note>
<para>ネットワーク #1 にあるゲートウェイコンピュータで以下の
2 つのコマンドを実行してトンネルを作成します。</para>
@ -4916,7 +5103,7 @@ spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/req
の) 他のゲートウェイホストにも同じルールが必要です。</para>
<programlisting>spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;</programlisting>
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;</programlisting>
<para>最後に、ファイアウォールに ESP および IPENCAP
パケットが行き来することを許可するルールを追加する必要があります。
@ -5435,270 +5622,6 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput><
<para>&man.sshd.8; &man.sftp-server.8;</para>
</sect2>
</sect1>
<!--
<sect1 id="mac">
<sect1info>
<authorgroup>
<author>
<firstname>Robert</firstname>
<surname>Watson</surname>
<contrib>Sponsored by DARPA and Network Associates Laboratories.
Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<indexterm>
<primary>MAC</primary>
</indexterm>
<title>Mandatory Access Control (MAC)</title>
<para>FreeBSD 5.0 includes a new kernel security framework, the
TrustedBSD MAC Framework. The MAC Framework permits compile-time,
boot-time, and run-time extension of the kernel access control
policy, and can be used to load support for Mandatory Access
Control (<acronym>MAC</acronym>), and custom security modules
such as hardening modules. The MAC Framework is currently
considered to be an experimental feature, and should not yet
be used in production environments without careful consideration.
It is anticipated that the MAC Framework will be appropriate for
more widespread production use by FreeBSD 5.2.</para>
<para>When configured into a kernel, the MAC Framework permits
security modules to augment the existing kernel access control
model, restricting access to system services and objects. For
example, the &man.mac.bsdextended.4; module augments file system
access control, permitting administrators to provide a
firewall-like ruleset constraining access to file system objects
based on user ids and group membership. Some modules require
little or no configuration, such as &man.mac.seeotheruids.4,
whereas others perform ubiquitous object labeling, such as
&man.mac.biba.4; and &man.mac.mls.4;, and require extensive
configuration.</para>
<para>To enable the MAC Framework in your system kernel, you must
add the following entry to your kernel configuration:</para>
<programlisting>options MAC</programlisting>
<para>Security policy modules shipped with the base system may
be loaded using &man.kldload.8; or in the boot &man.loader.8;
They may also be compiled directly into the kernel using the
following options, if the use of modules is not desired.</para>
<para>Different MAC policies may be configured in different ways;
frequently, MAC policy modules export configuration parameters
using the &man.sysctl.8; <acronym>MIB</acronym> using the
<varname>security.mac</varname> namespace. Policies relying on
file system or other labels may require a configuration step
that involes assigning initial labels to system objects or
creating a policy configuration file. For information on how to
configure and use each policy module, see its man page.</para>
<para>A variety of tools are available to configure the MAC Framework
and labels maintained by various policies. Extensions have been
made to the login and credential management mechanisms
(&man.setusercontext.3;) to support initial user labeling using
&man.login.conf.5;. In addition, modifications have been made
to &man.su.1;, &man.ps.1;, &man.ls.1;, and &man.ifconfig.8; to
inspect and set labels on processes, files, and interfaces. In
addition, several new tools have been added to manage labels
on objects, including &man.getfmac.8;, &man.setfmac.8;, and
&man.setfsmac.8; to manage labels on files, and &man.getpmac.8; and
&man.setpmac.8;.</para>
<para>What follows is a list of policy modules shipped with FreeBSD
5.0.</para>
<sect2 id="mac-policy-biba">
<title>Biba Integrity Policy (mac_biba)</title>
<indexterm>
<primary>Biba Integrity Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_biba.ko</para>
<para>Kernel option: <literal>MAC_BIBA</literal></para>
<indexterm>
<primary>TCB</primary>
</indexterm>
<para>The Biba Integrity Policy (&man.mac.biba.4;) provides
for hierarchical and non-hierarchical labeling of all system
objects with integrity data, and the strict enforcement of
an information flow policy to prevent corruption of high
integrity subjects and data by low-integrity subjects.
Integrity is enforced by preventing high integrity
subjects (generally processes) from reading low integrity
objects (often files), and preventing low integrity
subjects from writing to high integrity objects.
This security policy is frequently used in commercial
trusted systems to provide strong protection for the
Trusted Code Base (<acronym>TCB</acronym>). Because it
provides ubiquitous labeling, the Biba integrity policy
must be compiled into the kernel or loaded at boot.</para>
</sect2>
<sect2 id="mac-policy-bsdextended">
<title>File System Firewall Policy (mac_bsdextended)</title>
<indexterm>
<primary>File System Firewall Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_bsdextended.ko</para>
<para>Kernel option: <literal>MAC_BSDEXTENDED</literal></para>
<para> The File System Firewall Policy (&man.mac.bsdextended.4;)
provides an extension to the BSD file system permission model,
permitting the administrator to define a set of firewall-like
rules for limiting access to file system objects owned by
other users and groups. Managed using &man.ugidfw.8;, rules
may limit access to files and directories based on the uid
and gids of the process attempting the access, and the owner
and group of the target of the access attempt. All rules
are restrictive, so they may be placed in any order. This policy
requires no prior configuration or labeling, and may be
appropriate in multi-user environments where mandatory limits
on inter-user data exchange are required. Caution should be
exercised in limiting access to files owned by the super-user or
other system user ids, as many useful programs and directories
are owned by these users. As with a network firewall,
improper application of file system firewall rules may render
the system unusable. New tools to manage the rule set may be
easily written using the &man.libugidfw.3; library.</para>
</sect2>
<sect2 id="mac-policy-ifoff">
<title>Interface Silencing Policy (mac_ifoff)</title>
<indexterm>
<primary>Interface Silencing Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_ifoff.ko</para>
<para>Kernel option: <literal>MAC_IFOFF</literal></para>
<para>The interface silencing policy (&man.mac.ifoff.4;)
prohibits the use of network interfaces during the boot
until explicitly enabled, preventing spurious stack output
stack response to incoming packets. This is appropriate
for use in environments where the monitoring of packets
is required, but no traffic may be generated.</para>
</sect2>
<sect2 id="mac-policy-lomac">
<title>Low-Watermark Mandatory Access Control (LOMAC)
(mac_lomac)</title>
<indexterm>
<primary>MAC</primary>
<secondary>Low-Watermark</secondary>
</indexterm>
<indexterm>
<primary>LOMAC</primary>
</indexterm>
<para>Vendor: Network Associates Laboratories</para>
<para>Module name: mac_lomac.ko</para>
<para>Kernel option: <literal>MAC_LOMAC</literal></para>
<para>Similar to the Biba Integrity Policy, the LOMAC
policy (&man.mac.lomac.4;) relies on the ubiquitous
labeling of all system objects with integrity labels.
Unlike Biba, LOMAC permits high integrity subjects to
read from low integrity objects, but then downgrades the
label on the subject to prevent future writes to high
integrity objects. This policy may provide for greater
compatibility, as well as require less initial
configuration than Biba. However, as with Biba, it
ubiquitously labels objects and must therefore be
compiled into the kernel or loaded at boot.</para>
</sect2>
<sect2 id="mac-policy-mls">
<title>Multi-Level Security Policy (MLS) (mac_mls)</title>
<indexterm>
<primary>Multi-Level Security Policy</primary>
</indexterm>
<indexterm>
<primary>MAC</primary>
<secondary>Multi-Level</secondary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_mls.ko</para>
<para>Kernel option: <literal>MAC_MLS</literal></para>
<para>Multi-Level Security (<acronym>MLS</acronym>)
(&man.mac.mls.4;) provides for hierarchical and non-hierarchical
labeling of all system objects with sensitivity data, and the
strict enforcement of an information flow policy to prevent
the leakage of confidential data to untrusted parties. The
logical conjugate of the Biba Integrity Policy,
<acronym>MLS</acronym> is frequently shipped in commercial
trusted operating systems to protect data secrecy in
multi-user environments. Hierarchal labels provide support
for the notion of clearances and classifications in
traditional parlance; non-hierarchical labels provide support
for <quote>need-to-know.</quote> As with Biba, ubiquitous
labeling of objects occurs, and it must therefore be compiled
into the kernel or loaded at boot. As with Biba, extensive
initial configuration may be required.</para>
</sect2>
<sect2 id="mac-policy-none">
<title>MAC Stub Policy (mac_none)</title>
<indexterm>
<primary>MAC Stub Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_none.ko</para>
<para>Kernel option: <literal>MAC_NONE</literal></para>
<para>The None policy (&man.mac.none.4;) provides a stub
sample policy for developers, implementing all entry
points, but not changing the system access control
policy. Running this on a production system would
not be highly beneficial.</para>
</sect2>
<sect2 id="mac-policy-partition">
<title>Process Partition Policy (mac_partition)</title>
<indexterm>
<primary>Process Partition Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_partition.ko</para>
<para>Kernel option: <literal>MAC_PARTITION</literal></para>
<para>The Partition policy (&man.mac.partition.4;) provides for a
simple process visibility limitation, assigning labels to
processes identifying what numeric system partition they
are present in. If none, all other processes are visible
using standard monitoring tools; if a partition identifier
is present, then only other processes in the same
partition are visible. This policy may be compiled into
the kernel, loaded at boot, or loaded at run-time.</para>
</sect2>
<sect2 id="mac-policy-seeotheruids">
<title>See Other Uids Policy (mac_seeotheruids)</title>
<indexterm>
<primary>See Other Uids Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_seeotheruids.ko</para>
<para>Kernel option: <literal>MAC_SEEOTHERUIDS</literal></para>
<para>The See Other Uids policy (&man.mac.seeotheruids.4;)
implements a similar process visibility model to
mac_partition, except that it relies on process credentials to
control visibility of processes, rather than partition labels.
This policy may be configured to exempt certain users and
groups, including permitting system operators to view all
processes without special privilege. This policy may be
compiled into the kernel, loaded at boot, or loaded at
run-time.</para>
</sect2>
<sect2 id="mac-policy-test">
<title>MAC Framework Test Policy (mac_test)</title>
<indexterm>
<primary>MAC Framework Test Policy</primary>
</indexterm>
<para>Vendor: TrustedBSD Project</para>
<para>Module name: mac_test.ko</para>
<para>Kernel option: <literal>MAC_TEST</literal></para>
<para>The Test policy (&man.mac.test.4;) provides a regression
test environment for the MAC Framework, and will cause a
fail-stop in the event that internal MAC Framework assertions
about proper data labeling fail. This module can be used to
detect failures to properly label system objects in the kernel
implementation. This policy may be compiled into the kernel,
loaded at boot, or loaded at run-time.</para>
</sect2>
</sect1>
-->
<sect1 xml:id="fs-acl">
<info><title>ファイルシステムアクセス制御リスト</title>