Merge the following from the english version:

1.72 -> 1.77	doc/ja_JP.eucJP/books/handbook/security/chapter.sgml

Submitted by :	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
Reference :	[doc-jp-work 1696]
This commit is contained in:
Ryusuke SUZUKI 2010-11-22 09:09:12 +00:00
parent 90422cf965
commit 37b123ba58
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36621

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.72
Original revision: 1.77
Waiting for: 1.123 or mac/chapter.sgml
("mac" referenced from disks).
$FreeBSD$
@ -49,7 +49,7 @@
外部から接続し、通信するものとして動作します。
かつてのミニコンとメインフレームがデスクトップにとってかわり、
さらにコンピュータが相互に接続されたネットワークを形成するようになった今日、
セキュリティはさらに大きな関心事になってきています。</para>
セキュリティは一層大きな関心事になってきています。</para>
<para>セキュリティを実装するには、
タマネギのように階層化する手法
@ -337,8 +337,9 @@
<literal>*</literal> でつぶすことができると、管理者自身が設定
した安全性の高い方法でしかスタッフメンバがログインできないこと
も保証できます。こうして、多くの侵入者が使う重大なセキュリティ
の穴、すなわち、安全性の低い無関係なマシンからネットワークを覗
き見る方法、を塞ぐようなセッションを提供する、安全性の高い暗号
の穴である、
安全性の低い無関係なマシンからネットワークを覗き見る方法を塞ぐようなセッションを提供する、
安全性の高い暗号
化されたコネクションを使うことを、スタッフメンバ全員に強制する
ことができるのです。</para>
@ -414,7 +415,8 @@
<application>comsat</application>,
<application>finger</application> デーモンを、専用ユーザの
<literal>砂場 (sandbox)</literal> で実行させることができます。
管理者が膨大な数の問題に直面していないのなら、この「砂場」は完
管理者が膨大な数の問題を経験していないのなら、
この「砂場」は完
璧ではありませんが、セキュリティに関するタマネギ的アプローチは
ここでも成り立ちます。砂場で実行されているサーバプロセスを経由
して侵入を果たすことができたとしても、攻撃者はさらに砂場から外
@ -832,8 +834,8 @@
まうようにすることができます。mbuf を消費し尽くさせることによ
り、この種の攻撃でサーバをクラッシュさせることも可能です。サー
バが生成した ICMP 応答を十分速く送信できない場合、とくにひどい
ことになります。FreeBSD カーネルには、この種の攻撃の効果を抑制
する <option>ICMP_BANDLIM</option>
ことになります。FreeBSD カーネルには、この種の攻撃の効果を抑制する
<option>ICMP_BANDLIM</option>
と呼ばれる新しいカーネルコンパイルオプション
があります。踏み台攻撃の 3 つめの主要なクラスに属する攻撃は、
udp echo サービスのような、特定の
@ -1883,8 +1885,8 @@ jack@GRONDAR.ZA</screen>
の<username>jane</username>のアカウントまたはファ
イルにアクセスできます。</para>
<para>たとえば、Janeが他のシステムにKerberos
を用いてloginします。</para>
<para>たとえば、Jane が他のシステムに Kerberos
を用いて login します。</para>
<screen>&prompt.user; <userinput>kinit</userinput>
MIT Project Athena (grunt.grondar.za)
@ -3185,10 +3187,11 @@ spdadd 10.6.7.8 10.2.3.4 any -P out ipsec
<secondary>OpenSSH</secondary>
</indexterm>
<para>セキュアシェル (secure shell) はリモートマシンへのセキュアなアクセスに使われる
ネットワーク接続ツールのセットです。それは <command>rlogin</command>,
<command>rsh</command>, <command>rcp</command>,
<command>telnet</command> を直接置き換えて使うことができます。
<para>セキュアシェル (secure shell)
はリモートマシンへのセキュアなアクセスに使われるネットワーク接続ツールの集合です。
それは <command>rlogin</command>,
<command>rsh</command>, <command>rcp</command>,
<command>telnet</command> をそのまま置き換えて使えます。
また、他のあらゆる TCP/IP 接続を
ssh 経由でセキュアにトンネル/フォワードすることもできます。
ssh はすべてのトラフィックを暗号化し、
@ -3251,7 +3254,18 @@ user@foobardomain.com's password: <userinput>*******</userinput></screen>
これ以降の login では保存されていた鍵指紋を照合することで検証されます。
SSH クライアントは保存されていた鍵指紋が
login しようとした際に送られてきたものと異なっていた場合には警告を表示します。
指紋は <filename>~/.ssh/known_hosts</filename> に保存されます。</para>
指紋は <filename>~/.ssh/known_hosts</filename> に、また
SSH v2 指紋の場合は <filename>~/.ssh/known_hosts2</filename>
に保存されます。</para>
<para>デフォルトでは、OpenSSH サーバは SSH v1 と SSH v2
両方の接続を受け付けるように設定されています。
クライアントはそのどちらかを選択できます。
バージョン 2 は、旧バージョンよりも堅固で安全です。</para>
<para><command>ssh</command> に、プロトコル v1 と v2
についてそれぞれ、引数 <option>-1</option> または <option>-2</option>
を渡すことで、利用するプロトコルを強制できます。</para>
</sect2>
<sect2>
@ -3274,6 +3288,14 @@ COPYRIGHT 100% |*****************************| 4735
<para>前回の例でこのホストの指紋がすでに保存されていれば
この <command>scp</command> を使う時に検証が行なわれます。</para>
<para><command>scp</command> に渡される引数は、<command>cp</command>
のものと似ており、ファイル (1 つまたは複数) が
1 つめの引数になり、コピー先が 2 つめの引数になります。
ファイルはネットワーク越しに SSH を通して送られるので、
引数に指定するファイルには
<option>user@host:&lt;path_to_remote_file></option>
という形式をとるものがあります。</para>
</sect2>
<sect2>
@ -3288,6 +3310,12 @@ COPYRIGHT 100% |*****************************| 4735
<para><filename>ssh_config</filename> はクライアントの動作設定、
<filename>sshd_config</filename> はデーモンの動作設定を行ないます。</para>
<para>さらに、<filename>rc.conf</filename> オプションの
<option>sshd_program</option>
(デフォルトは <filename>/usr/sbin/sshd</filename>) と
<option>sshd_flags</option>
により、詳細な設定が行えます。</para>
</sect2>
<sect2>
@ -3320,6 +3348,17 @@ Your identification has been saved in /home/user/.ssh/identity.
<para>&man.ssh-keygen.1; でパスフレーズを使っている場合は、
ユーザは秘密鍵を使うために毎回パスフレーズの入力を行なう必要があります。</para>
<para>同じ目的で、<command>ssh-keygen -t dsa</command>
コマンドを使って SSH v2 DSA 鍵を生成することもできます。
これは、SSH v2 セッション専用の DSA 公開/秘密鍵を生成します。
公開鍵は <filename>~/.ssh/id_dsa.pub</filename>
に保存され、秘密鍵は <filename>~/.ssh/id_dsa</filename>
に置かれます。</para>
<para>DSA 公開鍵はリモートマシンの
<filename>~/.ssh/authorized_keys2</filename>
内におきます。</para>
<para>&man.ssh-agent.1; と &man.ssh-add.1; は
多重にパスワード化された秘密鍵の管理に使われます。</para>
</sect2>
@ -3340,48 +3379,67 @@ Your identification has been saved in /home/user/.ssh/identity.
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.bar.com</replaceable></userinput>
&prompt.user;</screen>
<itemizedlist>
<listitem>
<para><emphasis>-2</emphasis> は &man.ssh.1; にプロトコル
2 を使うことを指示します。
(古い ssh サーバを使っているときには指定しないでください)</para>
</listitem>
<para><command>ssh</command> コマンドは、
次のオプションとともに利用します。</para>
<listitem>
<para><emphasis>-N</emphasis>
はトンネルだけでコマンドはないことを示します。
省略されると &man.ssh.1; は通常のセッションを開始します。</para>
</listitem>
<variablelist>
<varlistentry>
<term><option>-2</option></term>
<listitem><para><emphasis>-f</emphasis> は &man.ssh.1;
にバックグラウンド実行を強制します。</para>
</listitem>
<listitem>
<para><command>ssh</command> にプロトコルバージョン 2
を使うことを指示します。(古い ssh
サーバを使っているときには指定しないでください)</para>
</listitem>
</varlistentry>
<listitem>
<para><emphasis>-L</emphasis> はローカルトンネルとして
<replaceable>localport:localhost:remoteport</replaceable>
形式を指示します。
</para>
</listitem>
<varlistentry>
<term><option>-N</option></term>
<listitem>
<para><replaceable>foo.bar.com</replaceable> はリモート/ターゲットの
SSH サーバです。
</para>
</listitem>
</itemizedlist>
<listitem>
<para>はトンネルだけでコマンドはないことを示します。
省略されると &man.ssh.1; は通常のセッションを開始します。</para>
</listitem>
</varlistentry>
<para>SSH のトンネルは指定されたローカルホストとポートを listen する
ソケットを作ることで実現されています。
SSH はローカルのホスト/ポートへのすべての接続を SSH
接続経由でリモートマシンの指定されたリモートポートへ
転送 (フォワード) します。</para>
<varlistentry>
<term><option>-f</option></term>
<para>たとえば、ローカルホストのポート <replaceable>5023</replaceable>
がリモートマシンの <replaceable>23</replaceable>
に転送されるようになっているとします。
<replaceable>23</replaceable> は telnet なのでこれは SSH
トンネルを通るセキュアな telnet セッションを作ります。</para>
<listitem>
<para><command>ssh</command>
にバックグラウンド実行を強制します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-L</option></term>
<listitem>
<para>ローカルトンネルを
<replaceable>localport:remotehost:remoteport</replaceable>
という形式で指定します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>user@foo.bar.com</option></term>
<listitem>
<para>リモートの SSH サーバです。</para>
</listitem>
</varlistentry>
</variablelist>
<para>SSH のトンネルはローカルホストの指定されたポートに listen
するソケットを作ることで実現されています。
SSH はローカルのホスト/ポートで受けた接続すべてを SSH
接続経由で指定されたリモートホストのポートへ転送します。</para>
<para>この例では、ローカルホストのポート <replaceable>5023</replaceable>
がリモートマシンの <replaceable>23</replaceable>
に転送されるようになっています。
<replaceable>23</replaceable> は telnet なのでこれは SSH
トンネルを通るセキュアな telnet セッションを作ります。</para>
<para>このようにして smtp や pop3, ftp 等のセキュアではない TCP
プロトコルをカプセル化することができます。</para>
@ -3400,10 +3458,67 @@ Escape character is '^]'.
より透過的で悩まずに済むような SSH のトンネル環境を作ることができます。
パスワードを入力するところで暗号鍵を使い、
トンネルは別のユーザ権限で実行することが可能です。</para>
<sect3>
<title>実用的な SSH トンネルの例</title>
<sect4>
<title>POP3 サーバへの安全な接続</title>
<para>仕事で、外部からの接続を受ける SSH サーバがあるとします。
同じオフィスのネットワークには、POP3
サーバが動いているメールサーバがあるとします。
ネットワークもしくはあなたの家とオフィスの間のネットワーク経路は、
完全に信頼できるものかもしれませんし、そうではないかもしれません。
そのため、電子メールは安全なやり方で見るようにしなければなりません。
解決策は、オフィスの SSH サーバへの SSH 接続を行い、
メールサーバへのトンネルを作成することです。</para>
<screen>&prompt.user; ssh -2 -N -f -L 2110:mail.office-foobar.com user@ssh-server.office-foobar.com
user@ssh-server.office-foobar.com's password: ******</screen>
<para>トンネルが作成されて動作したら、
メールクライアントに対し <hostid>localhost</hostid>
のポート 2110 に POP3 リクエストを送るように指示できます。
そこへの接続は、トンネルを経由して安全に
<hostid>mail.office-foobar.com</hostid> に転送されます。</para>
</sect4>
<sect4>
<title>厳格なファイアウォールをすり抜ける</title>
<para>内向けの接続をフィルタするだけでなく、
外向けの接続もフィルタして、
極端に厳しいファイアウォールルールを課すネットワーク管理者もいます。
リモートのマシンには、SSH 接続と web サーフィンのための
22 番および 80 番ポートにしか接続させてもらえないかもしれません。</para>
<para>あなたは、それ以外の (もしかすると仕事に関係ない)
サービスにアクセスしたくなるかもしれません。
例えば、音楽ストリーミングを行う
Ogg Vorbis サーバといったものです。
この Ogg Vorbis サーバが 22 番または
80 番ポート以外でストリーミングを行っていたら、
あなたはそのサーバに接続できないでしょう。</para>
<para>それに対する解決策は、
あなたが接続しているネットワークのファイアウォールの外部にあるマシンに対して
SSH 接続を行い、Ogg Vorbis
サーバへのトンネルに利用することです。</para>
<screen>&prompt.user; ssh -2 -N -f -L 8888:music.foobar.com:8000 user@unfirewalled.myserver.com
user@unfirewalled.myserver.com's password: *******</screen>
<para>ストリーミングクライアントを <hostid>localhost</hostid>
の 8888 番ポートに向けると、<hostid>music.foobar.com</hostid>
の 8000 番ポートに転送され、
ファイアウォールをすり抜けられます。</para>
</sect4>
</sect3>
</sect2>
<sect2>
<title>さらに知りたい人へ</title>
<title>もっと詳しく知りたい人へ</title>
<para><ulink url="http://www.openssh.com">OpenSSH</ulink></para>