- Merge the following from the English version:
r21127 -> r22195 head/ja_JP.eucJP/books/handbook/security/chapter.xml
This commit is contained in:
parent
9dc2623427
commit
dee8d95b16
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=50003
1 changed files with 245 additions and 322 deletions
|
@ -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> の安全性を高める —
|
||||
<para><systemitem class="username">root</systemitem> の安全性を高める –
|
||||
<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 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; 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>
|
||||
|
|
Loading…
Reference in a new issue