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:
parent
90422cf965
commit
37b123ba58
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36621
1 changed files with 166 additions and 51 deletions
|
@ -2,7 +2,7 @@
|
||||||
The FreeBSD Documentation Project
|
The FreeBSD Documentation Project
|
||||||
The FreeBSD Japanese Documentation Project
|
The FreeBSD Japanese Documentation Project
|
||||||
|
|
||||||
Original revision: 1.72
|
Original revision: 1.77
|
||||||
Waiting for: 1.123 or mac/chapter.sgml
|
Waiting for: 1.123 or mac/chapter.sgml
|
||||||
("mac" referenced from disks).
|
("mac" referenced from disks).
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
外部から接続し、通信するものとして動作します。
|
外部から接続し、通信するものとして動作します。
|
||||||
かつてのミニコンとメインフレームがデスクトップにとってかわり、
|
かつてのミニコンとメインフレームがデスクトップにとってかわり、
|
||||||
さらにコンピュータが相互に接続されたネットワークを形成するようになった今日、
|
さらにコンピュータが相互に接続されたネットワークを形成するようになった今日、
|
||||||
セキュリティはさらに大きな関心事になってきています。</para>
|
セキュリティは一層大きな関心事になってきています。</para>
|
||||||
|
|
||||||
<para>セキュリティを実装するには、
|
<para>セキュリティを実装するには、
|
||||||
タマネギのように階層化する手法
|
タマネギのように階層化する手法
|
||||||
|
@ -337,8 +337,9 @@
|
||||||
<literal>*</literal> でつぶすことができると、管理者自身が設定
|
<literal>*</literal> でつぶすことができると、管理者自身が設定
|
||||||
した安全性の高い方法でしかスタッフメンバがログインできないこと
|
した安全性の高い方法でしかスタッフメンバがログインできないこと
|
||||||
も保証できます。こうして、多くの侵入者が使う重大なセキュリティ
|
も保証できます。こうして、多くの侵入者が使う重大なセキュリティ
|
||||||
の穴、すなわち、安全性の低い無関係なマシンからネットワークを覗
|
の穴である、
|
||||||
き見る方法、を塞ぐようなセッションを提供する、安全性の高い暗号
|
安全性の低い無関係なマシンからネットワークを覗き見る方法を塞ぐようなセッションを提供する、
|
||||||
|
安全性の高い暗号
|
||||||
化されたコネクションを使うことを、スタッフメンバ全員に強制する
|
化されたコネクションを使うことを、スタッフメンバ全員に強制する
|
||||||
ことができるのです。</para>
|
ことができるのです。</para>
|
||||||
|
|
||||||
|
@ -414,7 +415,8 @@
|
||||||
<application>comsat</application>,
|
<application>comsat</application>,
|
||||||
<application>finger</application> デーモンを、専用ユーザの
|
<application>finger</application> デーモンを、専用ユーザの
|
||||||
<literal>砂場 (sandbox)</literal> で実行させることができます。
|
<literal>砂場 (sandbox)</literal> で実行させることができます。
|
||||||
管理者が膨大な数の問題に直面していないのなら、この「砂場」は完
|
管理者が膨大な数の問題を経験していないのなら、
|
||||||
|
この「砂場」は完
|
||||||
璧ではありませんが、セキュリティに関するタマネギ的アプローチは
|
璧ではありませんが、セキュリティに関するタマネギ的アプローチは
|
||||||
ここでも成り立ちます。砂場で実行されているサーバプロセスを経由
|
ここでも成り立ちます。砂場で実行されているサーバプロセスを経由
|
||||||
して侵入を果たすことができたとしても、攻撃者はさらに砂場から外
|
して侵入を果たすことができたとしても、攻撃者はさらに砂場から外
|
||||||
|
@ -832,8 +834,8 @@
|
||||||
まうようにすることができます。mbuf を消費し尽くさせることによ
|
まうようにすることができます。mbuf を消費し尽くさせることによ
|
||||||
り、この種の攻撃でサーバをクラッシュさせることも可能です。サー
|
り、この種の攻撃でサーバをクラッシュさせることも可能です。サー
|
||||||
バが生成した ICMP 応答を十分速く送信できない場合、とくにひどい
|
バが生成した ICMP 応答を十分速く送信できない場合、とくにひどい
|
||||||
ことになります。FreeBSD カーネルには、この種の攻撃の効果を抑制
|
ことになります。FreeBSD カーネルには、この種の攻撃の効果を抑制する
|
||||||
する <option>ICMP_BANDLIM</option>
|
<option>ICMP_BANDLIM</option>
|
||||||
と呼ばれる新しいカーネルコンパイルオプション
|
と呼ばれる新しいカーネルコンパイルオプション
|
||||||
があります。踏み台攻撃の 3 つめの主要なクラスに属する攻撃は、
|
があります。踏み台攻撃の 3 つめの主要なクラスに属する攻撃は、
|
||||||
udp echo サービスのような、特定の
|
udp echo サービスのような、特定の
|
||||||
|
@ -1883,8 +1885,8 @@ jack@GRONDAR.ZA</screen>
|
||||||
の<username>jane</username>のアカウントまたはファ
|
の<username>jane</username>のアカウントまたはファ
|
||||||
イルにアクセスできます。</para>
|
イルにアクセスできます。</para>
|
||||||
|
|
||||||
<para>たとえば、Janeが他のシステムにKerberos
|
<para>たとえば、Jane が他のシステムに Kerberos
|
||||||
を用いてloginします。</para>
|
を用いて login します。</para>
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>kinit</userinput>
|
<screen>&prompt.user; <userinput>kinit</userinput>
|
||||||
MIT Project Athena (grunt.grondar.za)
|
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>
|
<secondary>OpenSSH</secondary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>セキュアシェル (secure shell) はリモートマシンへのセキュアなアクセスに使われる
|
<para>セキュアシェル (secure shell)
|
||||||
ネットワーク接続ツールのセットです。それは <command>rlogin</command>,
|
はリモートマシンへのセキュアなアクセスに使われるネットワーク接続ツールの集合です。
|
||||||
<command>rsh</command>, <command>rcp</command>,
|
それは <command>rlogin</command>,
|
||||||
<command>telnet</command> を直接置き換えて使うことができます。
|
<command>rsh</command>, <command>rcp</command>,
|
||||||
|
<command>telnet</command> をそのまま置き換えて使えます。
|
||||||
また、他のあらゆる TCP/IP 接続を
|
また、他のあらゆる TCP/IP 接続を
|
||||||
ssh 経由でセキュアにトンネル/フォワードすることもできます。
|
ssh 経由でセキュアにトンネル/フォワードすることもできます。
|
||||||
ssh はすべてのトラフィックを暗号化し、
|
ssh はすべてのトラフィックを暗号化し、
|
||||||
|
@ -3251,7 +3254,18 @@ user@foobardomain.com's password: <userinput>*******</userinput></screen>
|
||||||
これ以降の login では保存されていた鍵指紋を照合することで検証されます。
|
これ以降の login では保存されていた鍵指紋を照合することで検証されます。
|
||||||
SSH クライアントは保存されていた鍵指紋が
|
SSH クライアントは保存されていた鍵指紋が
|
||||||
login しようとした際に送られてきたものと異なっていた場合には警告を表示します。
|
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>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -3274,6 +3288,14 @@ COPYRIGHT 100% |*****************************| 4735
|
||||||
|
|
||||||
<para>前回の例でこのホストの指紋がすでに保存されていれば
|
<para>前回の例でこのホストの指紋がすでに保存されていれば
|
||||||
この <command>scp</command> を使う時に検証が行なわれます。</para>
|
この <command>scp</command> を使う時に検証が行なわれます。</para>
|
||||||
|
|
||||||
|
<para><command>scp</command> に渡される引数は、<command>cp</command>
|
||||||
|
のものと似ており、ファイル (1 つまたは複数) が
|
||||||
|
1 つめの引数になり、コピー先が 2 つめの引数になります。
|
||||||
|
ファイルはネットワーク越しに SSH を通して送られるので、
|
||||||
|
引数に指定するファイルには
|
||||||
|
<option>user@host:<path_to_remote_file></option>
|
||||||
|
という形式をとるものがあります。</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -3288,6 +3310,12 @@ COPYRIGHT 100% |*****************************| 4735
|
||||||
|
|
||||||
<para><filename>ssh_config</filename> はクライアントの動作設定、
|
<para><filename>ssh_config</filename> はクライアントの動作設定、
|
||||||
<filename>sshd_config</filename> はデーモンの動作設定を行ないます。</para>
|
<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>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -3320,6 +3348,17 @@ Your identification has been saved in /home/user/.ssh/identity.
|
||||||
<para>&man.ssh-keygen.1; でパスフレーズを使っている場合は、
|
<para>&man.ssh-keygen.1; でパスフレーズを使っている場合は、
|
||||||
ユーザは秘密鍵を使うために毎回パスフレーズの入力を行なう必要があります。</para>
|
ユーザは秘密鍵を使うために毎回パスフレーズの入力を行なう必要があります。</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>&man.ssh-agent.1; と &man.ssh-add.1; は
|
||||||
多重にパスワード化された秘密鍵の管理に使われます。</para>
|
多重にパスワード化された秘密鍵の管理に使われます。</para>
|
||||||
</sect2>
|
</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>
|
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.bar.com</replaceable></userinput>
|
||||||
&prompt.user;</screen>
|
&prompt.user;</screen>
|
||||||
|
|
||||||
<itemizedlist>
|
<para><command>ssh</command> コマンドは、
|
||||||
<listitem>
|
次のオプションとともに利用します。</para>
|
||||||
<para><emphasis>-2</emphasis> は &man.ssh.1; にプロトコル
|
|
||||||
2 を使うことを指示します。
|
|
||||||
(古い ssh サーバを使っているときには指定しないでください)</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
<variablelist>
|
||||||
<para><emphasis>-N</emphasis>
|
<varlistentry>
|
||||||
はトンネルだけでコマンドはないことを示します。
|
<term><option>-2</option></term>
|
||||||
省略されると &man.ssh.1; は通常のセッションを開始します。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem><para><emphasis>-f</emphasis> は &man.ssh.1;
|
<listitem>
|
||||||
にバックグラウンド実行を強制します。</para>
|
<para><command>ssh</command> にプロトコルバージョン 2
|
||||||
</listitem>
|
を使うことを指示します。(古い ssh
|
||||||
|
サーバを使っているときには指定しないでください)</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<listitem>
|
<varlistentry>
|
||||||
<para><emphasis>-L</emphasis> はローカルトンネルとして
|
<term><option>-N</option></term>
|
||||||
<replaceable>localport:localhost:remoteport</replaceable>
|
|
||||||
形式を指示します。
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><replaceable>foo.bar.com</replaceable> はリモート/ターゲットの
|
<para>はトンネルだけでコマンドはないことを示します。
|
||||||
SSH サーバです。
|
省略されると &man.ssh.1; は通常のセッションを開始します。</para>
|
||||||
</para>
|
</listitem>
|
||||||
</listitem>
|
</varlistentry>
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>SSH のトンネルは指定されたローカルホストとポートを listen する
|
<varlistentry>
|
||||||
ソケットを作ることで実現されています。
|
<term><option>-f</option></term>
|
||||||
SSH はローカルのホスト/ポートへのすべての接続を SSH
|
|
||||||
接続経由でリモートマシンの指定されたリモートポートへ
|
|
||||||
転送 (フォワード) します。</para>
|
|
||||||
|
|
||||||
<para>たとえば、ローカルホストのポート <replaceable>5023</replaceable>
|
<listitem>
|
||||||
がリモートマシンの <replaceable>23</replaceable>
|
<para><command>ssh</command>
|
||||||
に転送されるようになっているとします。
|
にバックグラウンド実行を強制します。</para>
|
||||||
<replaceable>23</replaceable> は telnet なのでこれは SSH
|
</listitem>
|
||||||
トンネルを通るセキュアな telnet セッションを作ります。</para>
|
</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>このようにして smtp や pop3, ftp 等のセキュアではない TCP
|
||||||
プロトコルをカプセル化することができます。</para>
|
プロトコルをカプセル化することができます。</para>
|
||||||
|
@ -3400,10 +3458,67 @@ Escape character is '^]'.
|
||||||
より透過的で悩まずに済むような SSH のトンネル環境を作ることができます。
|
より透過的で悩まずに済むような SSH のトンネル環境を作ることができます。
|
||||||
パスワードを入力するところで暗号鍵を使い、
|
パスワードを入力するところで暗号鍵を使い、
|
||||||
トンネルは別のユーザ権限で実行することが可能です。</para>
|
トンネルは別のユーザ権限で実行することが可能です。</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>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>さらに知りたい人へ</title>
|
<title>もっと詳しく知りたい人へ</title>
|
||||||
|
|
||||||
<para><ulink url="http://www.openssh.com">OpenSSH</ulink></para>
|
<para><ulink url="http://www.openssh.com">OpenSSH</ulink></para>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue