- Merge the following from the English version:

r42266 -> r42267	head/ja_JP.eucJP/books/handbook/security/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2018-02-25 00:19:05 +00:00
parent ddd95d966c
commit 712cb44a44
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=51445

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: r42266 Original revision: r42267
$FreeBSD$ $FreeBSD$
--> -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security"> <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security">
@ -2705,61 +2705,63 @@ device crypto</screen>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect3> <sect3>
<info><title>&os; 上で IPsec を設定する。</title> <info>
<authorgroup> <title>&os; 上で IPsec を設定する。</title>
<author> <authorgroup>
<personname> <author>
<firstname>Tom</firstname> <personname>
<surname>Rhodes</surname> <firstname>Tom</firstname>
</personname> <surname>Rhodes</surname>
<affiliation> </personname>
<address><email>trhodes@FreeBSD.org</email></address> <affiliation>
</affiliation> <address><email>trhodes@FreeBSD.org</email></address>
<contrib>寄稿: </contrib> </affiliation>
</author> <contrib>寄稿: </contrib>
</authorgroup> </author>
</info> </authorgroup>
</info>
<para>最初に Ports Collection から <para>最初に Ports Collection から
<filename role="package">security/ipsec-tools</filename> <filename role="package">security/ipsec-tools</filename>
をインストールしてください。 をインストールしてください。
このソフトウェアは、 このソフトウェアは、
設定をサポートする数多くのアプリケーションを提供します。</para> 設定をサポートする数多くのアプリケーションを提供します。</para>
<para>次に、パケットをトンネリングし、 <para>次に、パケットをトンネリングし、
両方のネットワークが適切に通信するように、 両方のネットワークが適切に通信するように、
2 つの &man.gif.4; 疑似デバイスを作成します。 2 つの &man.gif.4; 疑似デバイスを作成します。
<systemitem class="username">root</systemitem> <systemitem class="username">root</systemitem>
権限で以下のコマンドを実行してください。 権限で以下のコマンドを実行してください。
ただし、実行する際には、以下のコマンドの中の ただし、実行する際には、以下のコマンドの中の
<replaceable>internal</replaceable> および <replaceable>internal</replaceable> および
<replaceable>external</replaceable> を、 <replaceable>external</replaceable> を、
2 つのゲートウェイの内部および外部インタフェースの実際の 2 つのゲートウェイの内部および外部インタフェースの実際の
IP アドレスに置き換えてください。</para> IP アドレスに置き換えてください。</para>
<screen>&prompt.root; <userinput>ifconfig gif0 create</userinput></screen> <screen>&prompt.root; <userinput>ifconfig gif0 create</userinput></screen>
<screen>&prompt.root; <userinput>ifconfig gif0 <replaceable>internal1 internal2</replaceable></userinput></screen> <screen>&prompt.root; <userinput>ifconfig gif0 <replaceable>internal1 internal2</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>external1 external2</replaceable></userinput></screen> <screen>&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>external1 external2</replaceable></userinput></screen>
<para>この例では、会社の <acronym>LAN</acronym> の外部 <para>この例では、会社の <acronym>LAN</acronym> の外部
<acronym>IP</acronym> アドレスを <acronym>IP</acronym> アドレスを
<systemitem class="ipaddress">172.16.5.4</systemitem> <systemitem class="ipaddress">172.16.5.4</systemitem>
内部 <acronym>IP</acronym> アドレスを 内部 <acronym>IP</acronym> アドレスを
<systemitem class="ipaddress">10.246.38.1</systemitem> <systemitem class="ipaddress">10.246.38.1</systemitem>
とします。また、家庭 とします。また、家庭
<acronym>LAN</acronym> の外部 <acronym>IP</acronym> アドレスを <acronym>LAN</acronym> の外部 <acronym>IP</acronym> アドレスを
<systemitem class="ipaddress">192.168.1.12</systemitem> <systemitem class="ipaddress">192.168.1.12</systemitem>
内部のプライベート <acronym>IP</acronym> アドレスを 内部のプライベート <acronym>IP</acronym> アドレスを
<systemitem class="ipaddress">10.0.0.5</systemitem> <systemitem class="ipaddress">10.0.0.5</systemitem>
とします。</para> とします。</para>
<para>この説明で分かりにくい場合は、以下の <para>この説明で分かりにくい場合は、以下の
&man.ifconfig.8; コマンドの出力例をご覧ください。</para> &man.ifconfig.8; コマンドの出力例をご覧ください。</para>
<programlisting>Gateway 1:
<programlisting>Gateway 1:
gif0: flags=8051 mtu 1280 gif0: flags=8051 mtu 1280
tunnel inet 172.16.5.4 --&gt; 192.168.1.12 tunnel inet 172.16.5.4 --&gt; 192.168.1.12
inet6 fe80::2e0:81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6 inet6 fe80::2e0:81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6
@ -2772,11 +2774,11 @@ tunnel inet 192.168.1.12 --&gt; 172.16.5.4
inet 10.0.0.5 --&gt; 10.246.38.1 netmask 0xffffff00 inet 10.0.0.5 --&gt; 10.246.38.1 netmask 0xffffff00
inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4</programlisting> inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4</programlisting>
<para>設定が完了したら、両方の内部 <acronym>IP</acronym> <para>設定が完了したら、両方の内部 <acronym>IP</acronym>
アドレスは、&man.ping.8; アドレスは、&man.ping.8;
で到達できるようになっているはずです。</para> で到達できるようになっているはずです。</para>
<programlisting>priv-net# ping 10.0.0.5 <programlisting>priv-net# ping 10.0.0.5
PING 10.0.0.5 (10.0.0.5): 56 data bytes PING 10.0.0.5 (10.0.0.5): 56 data bytes
64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=42.786 ms 64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=42.786 ms
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=19.255 ms 64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=19.255 ms
@ -2797,27 +2799,26 @@ PING 10.246.38.1 (10.246.38.1): 56 data bytes
5 packets transmitted, 5 packets received, 0% packet loss 5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 28.106/94.594/154.524/49.814 ms</programlisting> round-trip min/avg/max/stddev = 28.106/94.594/154.524/49.814 ms</programlisting>
<para>予想通り、プライベートアドレスを使って、 <para>予想通り、プライベートアドレスを使って、
両方のネットワークから <acronym>ICMP</acronym> 両方のネットワークから <acronym>ICMP</acronym>
パケットを送受信できます。 パケットを送受信できます。
次に、どちらのネットワークからもメッセージを送信できるように、 次に、どちらのネットワークからもメッセージを送信できるように、
パケットのルーティング情報を パケットのルーティング情報を両方のゲートウェイに設定する必要があります。
両方のゲートウェイに設定する必要があります。 これは以下のコマンドで設定できます。</para>
これは以下のコマンドで設定できます。</para>
<screen>&prompt.root; <userinput>corp-net# route add <replaceable>10.0.0.0 10.0.0.5 255.255.255.0</replaceable></userinput></screen> <screen>&prompt.root; <userinput>corp-net# route add <replaceable>10.0.0.0 10.0.0.5 255.255.255.0</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>corp-net# route add net <replaceable>10.0.0.0: gateway 10.0.0.5</replaceable></userinput></screen> <screen>&prompt.root; <userinput>corp-net# route add net <replaceable>10.0.0.0: gateway 10.0.0.5</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>priv-net# route add <replaceable>10.246.38.0 10.246.38.1 255.255.255.0</replaceable></userinput></screen> <screen>&prompt.root; <userinput>priv-net# route add <replaceable>10.246.38.0 10.246.38.1 255.255.255.0</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>priv-net# route add host <replaceable>10.246.38.0: gateway 10.246.38.1</replaceable></userinput></screen> <screen>&prompt.root; <userinput>priv-net# route add host <replaceable>10.246.38.0: gateway 10.246.38.1</replaceable></userinput></screen>
<para>これで、ネットワーク内のコンピュータは、 <para>これで、ネットワーク内のコンピュータは、
ゲートウェイおよびゲートウェイの奥のコンピュータから到達可能となっています。 ゲートウェイおよびゲートウェイの奥のコンピュータから到達可能となっています。
もう一度 &man.ping.8; で確認してください。</para> もう一度 &man.ping.8; で確認してください。</para>
<programlisting>corp-net# ping 10.0.0.8 <programlisting>corp-net# ping 10.0.0.8
PING 10.0.0.8 (10.0.0.8): 56 data bytes PING 10.0.0.8 (10.0.0.8): 56 data bytes
64 bytes from 10.0.0.8: icmp_seq=0 ttl=63 time=92.391 ms 64 bytes from 10.0.0.8: icmp_seq=0 ttl=63 time=92.391 ms
64 bytes from 10.0.0.8: icmp_seq=1 ttl=63 time=21.870 ms 64 bytes from 10.0.0.8: icmp_seq=1 ttl=63 time=21.870 ms
@ -2839,15 +2840,15 @@ PING 10.246.38.1 (10.246.38.107): 56 data bytes
5 packets transmitted, 5 packets received, 0% packet loss 5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 ms</programlisting> round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 ms</programlisting>
<para>トンネリングの設定は以上のように簡単ですが、 <para>トンネリングの設定は以上のように簡単ですが、
リンクを安全にするには、もう少し掘り下げた設定が必要となります。 リンクを安全にするには、もう少し掘り下げた設定が必要となります。
以下の設定では、事前共有 (<acronym>PSK</acronym>) 以下の設定では、事前共有 (<acronym>PSK</acronym>)
<acronym>RSA</acronym> 鍵を使います。 <acronym>RSA</acronym> 鍵を使います。
<acronym>IP</acronym> アドレスを除けば、両方のゲートウェイの <acronym>IP</acronym> アドレスを除けば、両方のゲートウェイの
<filename>/usr/local/etc/racoon/racoon.conf</filename> <filename>/usr/local/etc/racoon/racoon.conf</filename>
は同じで、以下のようになります。</para> は同じで、以下のようになります。</para>
<programlisting>path pre_shared_key "/usr/local/etc/racoon/psk.txt"; #location of pre-shared key file <programlisting>path pre_shared_key "/usr/local/etc/racoon/psk.txt"; #location of pre-shared key file
log debug; #log verbosity setting: set to 'notify' when testing and debugging is complete log debug; #log verbosity setting: set to 'notify' when testing and debugging is complete
padding # options are not to be changed padding # options are not to be changed
@ -2905,37 +2906,37 @@ sainfo (address 10.246.38.0/24 any address 10.0.0.0/24 any) # address $network/
compression_algorithm deflate; compression_algorithm deflate;
}</programlisting> }</programlisting>
<para>利用可能なオプションの説明については、 <para>利用可能なオプションの説明については、
<application>racoon</application> <application>racoon</application>
のマニュアルページを参照してください。</para> のマニュアルページを参照してください。</para>
<para>&os; および <application>racoon</application> <para>&os; および <application>racoon</application>
がホスト間のネットワークトラフィックを暗号化、 がホスト間のネットワークトラフィックを暗号化、
復号化できるようにするには、 復号化できるようにするには、
Security Policy Database (<acronym>SPD</acronym>) Security Policy Database (<acronym>SPD</acronym>)
の設定が必要です。</para> の設定が必要です。</para>
<para>これは、会社のゲートウェイ上で、 <para>これは、会社のゲートウェイ上で、
以下のようなシェルスクリプトで設定できます。 以下のようなシェルスクリプトで設定できます。
このファイルをシステムの初期化中に使われるようにするには、 このファイルをシステムの初期化中に使われるようにするには、
<filename>/usr/local/etc/racoon/setkey.conf</filename> <filename>/usr/local/etc/racoon/setkey.conf</filename>
に保存する必要があります。</para> に保存する必要があります。</para>
<programlisting>flush; <programlisting>flush;
spdflush; spdflush;
# To the home network # To the home network
spdadd 10.246.38.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/172.16.5.4-192.168.1.12/use; spdadd 10.246.38.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/172.16.5.4-192.168.1.12/use;
spdadd 10.0.0.0/24 10.246.38.0/24 any -P in ipsec esp/tunnel/192.168.1.12-172.16.5.4/use;</programlisting> spdadd 10.0.0.0/24 10.246.38.0/24 any -P in ipsec esp/tunnel/192.168.1.12-172.16.5.4/use;</programlisting>
<para>設定ファイルを適切に置くと、以下のコマンドにより、 <para>設定ファイルを適切に置くと、以下のコマンドにより、
両方のゲートウェイ上で <application>racoon</application> 両方のゲートウェイ上で <application>racoon</application>
を起動できます。</para> を起動できます。</para>
<screen>&prompt.root; <userinput>/usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log</userinput></screen> <screen>&prompt.root; <userinput>/usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log</userinput></screen>
<para>出力は以下のようになるでしょう。</para> <para>出力は以下のようになるでしょう。</para>
<programlisting>corp-net# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf <programlisting>corp-net# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf
Foreground mode. Foreground mode.
2006-01-30 01:35:47: INFO: begin Identity Protection mode. 2006-01-30 01:35:47: INFO: begin Identity Protection mode.
2006-01-30 01:35:48: INFO: received Vendor ID: KAME/racoon 2006-01-30 01:35:48: INFO: received Vendor ID: KAME/racoon
@ -2948,45 +2949,45 @@ n2006-01-30 01:36:04: INFO: ISAKMP-SA established 172.16.5.4[500]-192.168.1.12[5
2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]-&gt;172.16.5.4[0] spi=124397467(0x76a279b) 2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]-&gt;172.16.5.4[0] spi=124397467(0x76a279b)
2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]-&gt;192.168.1.12[0] spi=175852902(0xa7b4d66)</programlisting> 2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]-&gt;192.168.1.12[0] spi=175852902(0xa7b4d66)</programlisting>
<para>トンネリングが適切に行われているかどうかを確認するため、 <para>トンネリングが適切に行われているかどうかを確認するため、
別のコンソール上で &man.tcpdump.1; を使い、 別のコンソール上で &man.tcpdump.1; を使い、
以下のようなコマンドでネットワークの通信を確認してください。 以下のようなコマンドでネットワークの通信を確認してください。
ただし、以下の例の <literal>em0</literal> の部分は、 ただし、以下の例の <literal>em0</literal> の部分は、
必要に応じて使用しているネットワークインタフェースに置き換えてください。</para> 必要に応じて使用しているネットワークインタフェースに置き換えてください。</para>
<screen>&prompt.root; <userinput>tcpdump -i em0 host <replaceable>172.16.5.4 and dst 192.168.1.12</replaceable></userinput></screen> <screen>&prompt.root; <userinput>tcpdump -i em0 host <replaceable>172.16.5.4 and dst 192.168.1.12</replaceable></userinput></screen>
<para>以下のようなデータがコンソールに表示されます。 <para>以下のようなデータがコンソールに表示されます。
もし、表示されない場合は、設定に何か問題があるので、 もし、表示されない場合は、設定に何か問題があるので、
表示されるデータを使ってデバッグする必要があります。</para> 表示されるデータを使ってデバッグする必要があります。</para>
<programlisting>01:47:32.021683 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa) <programlisting>01:47:32.021683 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa)
01:47:33.022442 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xb) 01:47:33.022442 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xb)
01:47:34.024218 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xc)</programlisting> 01:47:34.024218 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xc)</programlisting>
<para>これで 2 つのネットワークは、 <para>これで 2 つのネットワークは、
1 つのネットワークのように利用できます。 1 つのネットワークのように利用できます。
多くの場合、 多くの場合、
両方のネットワークはファイアウォールにより保護されています。 両方のネットワークはファイアウォールにより保護されています。
両方を流れる通信を許可するには、 両方を流れる通信を許可するには、
パケットが両方を行き来できるようにルールを追加する必要があります。 パケットが両方を行き来できるようにルールを追加する必要があります。
&man.ipfw.8; を使ったファイアウォールの場合は、 &man.ipfw.8; を使ったファイアウォールの場合は、
ファイアウォールの設定ファイルに、以下の行を追加してください。</para> ファイアウォールの設定ファイルに、以下の行を追加してください。</para>
<programlisting>ipfw add 00201 allow log esp from any to any <programlisting>ipfw add 00201 allow log esp from any to any
ipfw add 00202 allow log ah from any to any ipfw add 00202 allow log ah from any to any
ipfw add 00203 allow log ipencap from any to any ipfw add 00203 allow log ipencap from any to any
ipfw add 00204 allow log udp from any 500 to any</programlisting> ipfw add 00204 allow log udp from any 500 to any</programlisting>
<note> <note>
<para>ルール番号は、 <para>ルール番号は、
現在のホストの設定によっては変更する必要があるでしょう。</para> 現在のホストの設定によっては変更する必要があるでしょう。</para>
</note> </note>
<para>&man.pf.4; または &man.ipf.8; を使用しているシステムでは、 <para>&man.pf.4; または &man.ipf.8; を使用しているシステムでは、
以下のルールで上手くいくでしょう。</para> 以下のルールで上手くいくでしょう。</para>
<programlisting>pass in quick proto esp from any to any <programlisting>pass in quick proto esp from any to any
pass in quick proto ah from any to any pass in quick proto ah from any to any
pass in quick proto ipencap from any to any pass in quick proto ipencap from any to any
pass in quick proto udp from any port = 500 to any port = 500 pass in quick proto udp from any port = 500 to any port = 500
@ -2997,17 +2998,17 @@ pass out quick proto ipencap from any to any
pass out quick proto udp from any port = 500 to any port = 500 pass out quick proto udp from any port = 500 to any port = 500
pass out quick on gif0 from any to any</programlisting> pass out quick on gif0 from any to any</programlisting>
<para>最後に、システムの初期化中に <acronym>VPN</acronym> <para>最後に、システムの初期化中に <acronym>VPN</acronym>
が起動するように、以下の行を が起動するように、以下の行を
<filename>/etc/rc.conf</filename> に追加してください。</para> <filename>/etc/rc.conf</filename> に追加してください。</para>
<programlisting>ipsec_enable="YES" <programlisting>ipsec_enable="YES"
ipsec_program="/usr/local/sbin/setkey" ipsec_program="/usr/local/sbin/setkey"
ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot
racoon_enable="yes"</programlisting> racoon_enable="yes"</programlisting>
</sect3> </sect3>
</sect2> </sect2>
</sect1> </sect1>
<sect1 xml:id="openssh"> <sect1 xml:id="openssh">
<info> <info>