- Merge the following from the English version:

r15536 -> r17060	head/ja_JP.eucJP/books/handbook/security/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2015-11-16 12:33:12 +00:00
parent dcf38a98a1
commit d861d0cb8c
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47786

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r15536
Original revision: r17060
Translation note: "fs-acl" section added in rev.1.118 is moved to
handbook/basics in rev.1.134 and moved back to this file in
rev.1.150. The traslation is already done in handbook/basics, so we
@ -23,7 +23,7 @@
<para><emphasis>訳: &a.jp.hino;、(jpman プロジェクトの成果を利用させ
ていただきました)。</emphasis></para>
<sect1>
<sect1 xml:id="security-synopsis">
<title>この章では</title>
<para>この章では、基本的なシステムセキュリティの考え方、
@ -54,8 +54,7 @@
</listitem>
<listitem>
<para>代替認証システムである、
ワンタイムパスワード認証システム S/Key の設定方法</para>
<para>ワンタイムパスワード認証の設定方法</para>
</listitem>
<listitem>
@ -305,7 +304,11 @@
</sect1>
<sect1 xml:id="securing-freebsd">
<title>FreeBSDの安全性を高める</title>
<title>FreeBSD の安全性を高める</title>
<indexterm>
<primary>セキュリティ</primary>
<secondary>FreeBSD の安全性を高める</secondary>
</indexterm>
<note>
<title>コマンド対プロトコル</title>
@ -1134,12 +1137,12 @@
</sect2>
</sect1>
<sect1 xml:id="skey">
<title>S/Key</title>
<indexterm><primary>S/Key</primary></indexterm>
<sect1 xml:id="one-time-passwords">
<title>ワンタイムパスワード</title>
<indexterm><primary>ワンタイムパスワード</primary></indexterm>
<indexterm>
<primary>セキュリティ</primary>
<secondary>S/Key</secondary>
<secondary>ワンタイムパスワード</secondary>
</indexterm>
<para>S/Key は一方向ハッシュ関数を基にしたワンタイムパスワード方式
@ -1150,11 +1153,11 @@
Communications Research, Inc. の登録商標です。</para>
<para>FreeBSD バージョン 5.0 以降では、S/Key
は機能的に同等な OPIE (Onetime Passwords In Everything)
は機能的に同等な OPIE (One-time Passwords In Everything)
で置き換えられました。OPIE はデフォルトでは
MD5 ハッシュを使用します。</para>
<para>以下の説明では、三種類の異なる「パスワード」が使われます。
<para>ここでは、三種類の異なる「パスワード」について説明します。
まず一つ目は、あなたが普段使っている普通の
Unix スタイルの、もしくは Kerberos
のパスワードです。ここではこれを
@ -1476,11 +1479,13 @@ Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ...</screen>
<sect2>
<title>複数のワンタイムパスワードを生成する</title>
<para>都合によっては、信頼できるマシンや信頼できる通信路が一切確
保できないようなところで S/Key を使う必要があるでしょう。この
ような場合には、<command>key</command> コマンドを使って複数の
ワンタイムパスワードをあらかじめ一気に生成し、紙に印刷して携帯
していくことができます。たとえば</para>
<para>都合によっては、
信頼できるマシンや信頼できる通信路が一切確保できないようなところで
S/Key を使う必要があるでしょう。
このような場合には、<command>key</command> および
<command>opiekey</command>
コマンドを使って複数のワンタイムパスワードをあらかじめ一気に生成し、
紙に印刷して携帯していくことができます。たとえば</para>
<screen>&prompt.user; <userinput>key -n 5 30 zz99999</userinput>
Reminder - Do not use this program while logged in via telnet or rlogin.
@ -1491,6 +1496,18 @@ Enter secret password: <userinput>&lt;
29: COT MASH BARR BRIM NAN FLAG
30: CAN KNEE CAST NAME FOLK BILK</screen>
<para>OPIE の場合には以下のようになります。</para>
<screen>&prompt.user; <userinput>opiekey -n 5 30 zz99999</userinput>
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHI</screen>
<para><option>-n 5</option> という引数によって 5 個のワンタイム
パスワードを順に生成します。ここで <option>30</option> は、最
後のシーケンス番号となるべき数字です。出力は普通に使う順番とは
@ -1508,27 +1525,31 @@ Enter secret password: <userinput>&lt;
<sect2>
<title>Unix パスワードの利用を制限する</title>
<para>設定ファイル <filename>/etc/skey.access</filename>
を使って Unix パスワードの利用を制限することができます。
この場合の判
断基準として、ログインを受け付ける際のホスト名、ユーザ名、端末
のポート、IP アドレスなどが利用できます。この設定ファイルの詳
細に関してはマニュアル &man.skey.access.5; をご覧ください。マ
ニュアルにはこの機能に関わるセキュリティについて、いくつかの警
告が記述してあります。この機能を使ってセキュリティを高めようと
するのならば絶対にこのマニュアルを読んでください。</para>
<para>S/Key は、ログインを受け付ける際のホスト名、ユーザ名、
端末のポート、IP アドレスなどを利用して、
Unix パスワードの利用を制限することができます。
設定ファイル <filename>/etc/skey.access</filename> に、
制限が記載されています。
この設定ファイルの詳細に関してはマニュアル &man.skey.access.5;
をご覧ください。
マニュアルにはこの機能に関わるセキュリティについて、
いくつかの警告が記述してあります。
この機能を使ってセキュリティを高めようとするのならば、
絶対にこのマニュアルを読んでください。</para>
<para>もし <filename>/etc/skey.access</filename> ファイルが存在
しないならば (FreeBSD のデフォルト状態ではそうです)、すべての
ユーザが Unix パスワードを利用することができます。逆に、もし
ファイルが存在するならば、<filename>skey.access</filename> ファ
イルに明示的に記述されていない限り、すべてのユーザは S/Key の
利用を要求されます。どちらの場合においても、そのマシンのコンソー
ルからはいつでも Unix パスワードを使ってログインすることが可能
です。</para>
<para>もし <filename>/etc/skey.access</filename>
ファイルが存在しないならば (FreeBSD 4.x
のデフォルト状態ではそうです)、すべてのユーザが Unix
パスワードを利用することができます。
逆に、もしファイルが存在するならば、
<filename>skey.access</filename>
ファイルに明示的に記述されていない限り、すべてのユーザは S/Key
の利用を要求されます。どちらの場合においても、
そのマシンのコンソールからはいつでも Unix
パスワードを使ってログインすることが可能です。</para>
<para>以下によく使われるであろう三種類の設定を含む設定ファイルの
例を示します。</para>
<para>以下によく使われるであろう三種類の設定を含む設定ファイル
<filename>skey.access</filename>例を示します。</para>
<programlisting>permit internet 192.168.0.0 255.255.0.0
permit user fnord
@ -1557,8 +1578,28 @@ permit port ttyd0</programlisting>
<para>三行目 (<literal>permit port</literal>) によって、ある特定
の端末ポートからログインしようとするすべてのユーザに対して
Unix パスワードの利用を許可するように指定しています。この設定
はダイヤルアップ回線に対する設定として利用できるでしょう。
</para>
はダイヤルアップ回線に対する設定として利用できるでしょう。</para>
<para>OPIE は S/Key が行うような、ログインセッションの IP
アドレスをベースとした Unix パスワードの使用を制限できます。
関連ファイルは、<filename>/etc/opieaccess</filename> です。
FreeBSD 5.0 以降のシステムではデオフォルトで用意されています。
このファイルの詳細や、
このファイルを使用する際に考慮すべきセキュリィについては
&man.opieaccess.5; を確認してください。</para>
<para>以下は <filename>opieaccess</filename> ファイルの例です。</para>
<programlisting>permit 192.168.0.0 255.255.0.0</programlisting>
<para>この行では、(なりすましされやすい) IP ソースアドレスが、
ある値やマスクにマッチするユーザに対して、
Unix パスワードをいつでも許可します。</para>
<para>もし <filename>opieaccess</filename>
のどのルールにも一致しなければ、
デフォルトでは非 OPIE ログインは使えません。</para>
</sect2>
</sect1>
@ -2137,10 +2178,12 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<para>現在インターネットで普通に使用されている
ファイアウォールには 二つの異なるタイプがあります。一つは、
厳密には <emphasis> パケットフィルタリングルータ </emphasis>
と 呼ばれるタイプのものです。これはマルチホームのホストマシン
(複数の ネットワークに接続されているマシン) のカーネルが、
ある規則にしたがって
パケットを転送したりブロックしたりするものです。もう一つは、
と呼ばれるタイプのものです。
このタイプのファイアウォールはマルチホームマシンで利用され、
ある規則にしたがってパケットを転送したりブロックしたりするものです。
マルチホームマシンとは、
複数のネットワークインタフェースを持つコンピュータのことです。
もう一つは、
<emphasis> proxy (代理) サーバ </emphasis>
として知られているタイプのものです。これは、
おそらくはマルチホームのホストマシン上で、
@ -2169,20 +2212,20 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<title>パケットフィルタリングルータ</title>
<para>ルータとは、二つまたはそれ以上のネットワークの間で
パケットの転送をおこなう マシンのことです。
パケットフィルタリングルータは、そのカーネルの内部に、
一つ一つのパケットをルールリストと比較して
転送するかしないかを決める 特別なコードを持っています。
最近の IP ルーティングソフトウェアのほとんどは、内部に
パケットのフィルタリングをおこなうためのコードを持っていて、
デフォルトでは すべてのパケットを転送するようになっています。
パケットの転送をおこなうマシンのことです。
パケットフィルタリングルータは、
一つ一つのパケットをルールリストと比較して
転送するかしないかを決めるようにプログラミングされています。
最近の IP ルーティングソフトウェアのほとんどは、
内部にパケットフィルタリング機能を持っていて、
デフォルトではすべてのパケットを転送するようになっています。
このフィルタを有効にするためには、
パケットの通過を許すべきかどうかを決める
ルールを自分で定義する必要があります。</para>
ルールを定義する必要があります。</para>
<para>パケットを通すべきか通すべきでないかを決めるために、
パケットヘッダの内容にマッチするものが
ルールリストから探されます。マッチするルールが見つかると、
ファイアウォールは、
ルールリストからパケットヘッダの内容にマッチするルールがないかどうかを調べます。
マッチするルールが見つかると、
ルールアクションが実行されます。ルールアクションには、
パケットを捨てる、パケットを転送する、
またはパケットの発信元に ICMP
@ -2209,10 +2252,11 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
など) を 特別なサーバで置き換えたマシンのことです。
これらのサーバは、
通常は中継をおこなって特定方向への接続だけを許すため、
<emphasis>proxy サーバ </emphasis> と呼ばれます。(たとえば)
proxy telnet
<emphasis>proxy サーバ</emphasis> と呼ばれます。(たとえば)
proxy <application>telnet</application>
サーバをファイアウォールホストで走らせておきます。
外部からユーザがファイアウォールに対して telnet
外部からユーザがファイアウォールに対して
<application>telnet</application>
を実行すると、proxy telnet サーバが応答して、
何らかの認証機構を実行します。これを通過した後で、
内部ネットワークへのアクセスがおこなえるように なるのです。
@ -2226,7 +2270,7 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<quote>使い捨て</quote>パスワードシステムとは、
どういうものなのでしょうか。仮に誰かが何らかの方法で、
あなたが使用したパスワードを手に入れたとします。しかし、
一度使用したことで
最初に使用した直後に
そのパスワードは既に無効になっているのです。ですから、
そのパスワードをもう一度使用したとしても、あなたのシステムへ
アクセスすることはできないというわけです。
@ -2238,11 +2282,10 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
より困難になっています。</para>
<para>proxy サーバはアクセス制限の方法をいくつも持っていて、
特定のホスト
だけがサーバへのアクセス権を得ることができるように
なっていることがあります。
そして目的のマシンと通信できるユーザを制限するように
設定することもできます。もう一度言いますが、
特定のホストだけがサーバへのアクセス権を得ることができるようになっていることがあります。
そして、
管理者は目的のマシンと通信できるユーザを制限するように設定できます。
もう一度言いますが、
どんなファシリティ (機能) が使えるかは、どんな proxy
サービスをおこなうソフトウェアを選ぶかに大きく
依存します。</para>
@ -2259,17 +2302,16 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
を含んでいます。
ルーティングの決定をおこなう際に、これらは互いに協力して、
カーネルで使用されるルールを定義したり、
現在使用されているルールを問い合わせたりすることができます。</para>
使用されているルールを問い合わせたりすることができます。</para>
<para>IPFW は互いに関連する二つの部分からなっています。
ファイアウォールセクションは
パケットフィルタリングをおこないます。また、IP
アカウンティングセクションはファイアウォールセクションのものと
似たルールに基づいてルータの使用を追跡します。これにより、
(たとえば) 特定のマシンからルータへのトラフィックがどのくらい
発生しているか調べたり、どれだけの WWW (World Wide Web)
トラフィックが
フォワードされているかを知ることができます。</para>
ファイアウォールセクションはパケットフィルタリングをおこないます。
また、IP アカウンティングセクションは、
ファイアウォールセクションのものと似たルールに基づいてルータの使用を追跡します。
これにより、たとえば、
管理者は特定のマシンからルータへのトラフィックがどのくらい発生しているかを調べたり、
どれだけの WWW
トラフィックがフォワードされているかを知ることができます。</para>
<para>IPFW は、
ルータではないマシンにおいても入出力コネクションの
@ -2498,7 +2540,8 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<varlistentry><term>allow</term>
<listitem>
<para>通常通りパケットを通過させます。(別名:
<literal>pass</literal> および
<literal>pass</literal>,
<literal>permit</literal> および
<literal>accept</literal>)</para>
</listitem>
</varlistentry>
@ -2655,7 +2698,7 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<para>IP ヘッダが <replaceable>spec</replaceable>
に指定された カンマで区切られた
オプションのリストを含んでいればマッチします。
サポートされている IP オプションのリストは:
サポートされている IP オプションは、
<literal>ssrr</literal> (ストリクトソースルート)、
<literal>lsrr</literal> (ルーズソースルート)、
<literal>rr</literal> (レコードパケットルート)、
@ -2726,13 +2769,17 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<cmdsynopsis>
<command>ipfw</command>
<arg>-a</arg>
<arg>-c</arg>
<arg>-d</arg>
<arg>-e</arg>
<arg>-t</arg>
<arg>-N</arg>
<arg choice="plain">l</arg>
<arg>-S</arg>
<arg choice="plain">list</arg>
</cmdsynopsis>
</para>
<para>この形式で使用する際に有効なフラグはつあります。</para>
<para>この形式で使用する際に有効なフラグは 7 つあります。</para>
<variablelist>
<varlistentry><term>-a</term>
@ -2743,7 +2790,34 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
</listitem>
</varlistentry>
<varlistentry><term>-t</term>
<varlistentry>
<term>-c</term>
<listitem>
<para>コンパクトな形式でルールの一覧を表示します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d</term>
<listitem>
<para>静的ルールに加え動的ルールも表示します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e</term>
<listitem>
<para><option>-d</option> が指定されているときには、
期限が切れた動的ルールも表示します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t</term>
<listitem>
<para>各チェーンエントリが最後に
マッチした時刻を表示します。この時刻表示は
@ -2758,6 +2832,16 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
アドレスやサービス名を文字列に変換して表示します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-S</term>
<listitem>
<para>各ルールが所属しているセットを表示します。
このフラグが設定されていない場合には、
無効にされているルールは一覧に表示されません。</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
@ -2862,11 +2946,11 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<note>
<para><command>accept</command>
コマンドでログを取っていると、
ファイアウォールをパケットが一つ通過する毎に 1
行のログが生成されるため <emphasis>大量の</emphasis>
ログデータが発生します。そのため、大規模な FTP/HTTP
転送などをおこなうと、システムが非常に 遅くなってしまいます。
コマンドでログを取っていると、<emphasis>大量の</emphasis>
ログデータが生成されるので注意してください。
ファイアウォールをパケットが一つ通過する毎に一つのログのエントリが生成されるので、
大規模な FTP/HTTP 転送などをおこなうと、
システムが非常に遅くなってしまいます。
また、パケットが通過するまでにカーネルにより
多くの仕事を要求するため、パケットのレイテンシ (latency)
を増加させてしまいます。<application>syslogd</application>
@ -2957,7 +3041,9 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
</itemizedlist>
<para>これとは別のファイアウォール設定に 関するチェックリストが
CERT から 入手可能です。<link xlink:href="http://www.cert.org/tech_tips/packet_filtering.html">http://www.cert.org/tech_tips/packet_filtering.html</link></para>
CERT (<link
xlink:href="http://www.cert.org/tech_tips/packet_filtering.html"></link>)
から入手可能です。</para>
<para>前にも述べたように、これはただの <emphasis> ガイドライン
</emphasis> にすぎません。
@ -3135,8 +3221,9 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
<para>現在の IPsec の実装は、
トランスポートモードとトンネルモードの両方に対応しています。
しかし、トンネルモードにはいくつかの制限事項があります。<link xlink:href="http://www.kame.net/newsletter/">http://www.kame.net/newsletter/
</link> にはより総合的な例が載っています。</para>
しかし、トンネルモードにはいくつかの制限事項があります。
<link xlink:href="http://www.kame.net/newsletter/"></link>
にはより総合的な例が載っています。</para>
<para>ここで述べる機能を利用するには、以下のオプションをカーネルコ
ンパイル時に指定する必要があることにご注意ください。</para>
@ -3785,8 +3872,8 @@ user@ssh-server.example.com's password: <userinput>******</userinput></screen>
SSH 接続を行い、Ogg Vorbis
サーバへのトンネルに利用することです。</para>
<screen>&prompt.user; <userinput>ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled.myserver.com</userinput>
user@unfirewalled.myserver.com's password: <userinput>*******</userinput></screen>
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput>
user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen>
<para>ストリーミングクライアントを <systemitem>localhost</systemitem>
の 8888 番ポートに向けると、<systemitem>music.example.com</systemitem>
@ -3952,7 +4039,8 @@ user@unfirewalled.myserver.com's password: <userinput>*******</userinput></scree
<title>Low-Watermark Mandatory Access Control (LOMAC)
(mac_lomac)</title>
<indexterm>
<primary>Low-Watermark Mandatory Access Control</primary>
<primary>MAC</primary>
<secondary>Low-Watermark</secondary>
</indexterm>
<indexterm>
<primary>LOMAC</primary>
@ -3972,14 +4060,17 @@ user@unfirewalled.myserver.com's password: <userinput>*******</userinput></scree
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>MLS</primary>
<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>