- Merge the following from the English version:
r42266 -> r42267 head/ja_JP.eucJP/books/handbook/security/chapter.xml
This commit is contained in:
parent
ddd95d966c
commit
712cb44a44
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=51445
1 changed files with 129 additions and 128 deletions
|
@ -3,7 +3,7 @@
|
|||
The FreeBSD Documentation Project
|
||||
The FreeBSD Japanese Documentation Project
|
||||
|
||||
Original revision: r42266
|
||||
Original revision: r42267
|
||||
$FreeBSD$
|
||||
-->
|
||||
<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>
|
||||
</itemizedlist>
|
||||
|
||||
<sect3>
|
||||
<info><title>&os; 上で IPsec を設定する。</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
</personname>
|
||||
<affiliation>
|
||||
<address><email>trhodes@FreeBSD.org</email></address>
|
||||
</affiliation>
|
||||
<contrib>寄稿: </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
<sect3>
|
||||
<info>
|
||||
<title>&os; 上で IPsec を設定する。</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
</personname>
|
||||
<affiliation>
|
||||
<address><email>trhodes@FreeBSD.org</email></address>
|
||||
</affiliation>
|
||||
<contrib>寄稿: </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
|
||||
<para>最初に Ports Collection から
|
||||
<filename role="package">security/ipsec-tools</filename>
|
||||
をインストールしてください。
|
||||
このソフトウェアは、
|
||||
設定をサポートする数多くのアプリケーションを提供します。</para>
|
||||
<para>最初に Ports Collection から
|
||||
<filename role="package">security/ipsec-tools</filename>
|
||||
をインストールしてください。
|
||||
このソフトウェアは、
|
||||
設定をサポートする数多くのアプリケーションを提供します。</para>
|
||||
|
||||
<para>次に、パケットをトンネリングし、
|
||||
両方のネットワークが適切に通信するように、
|
||||
2 つの &man.gif.4; 疑似デバイスを作成します。
|
||||
<systemitem class="username">root</systemitem>
|
||||
権限で以下のコマンドを実行してください。
|
||||
ただし、実行する際には、以下のコマンドの中の
|
||||
<replaceable>internal</replaceable> および
|
||||
<replaceable>external</replaceable> を、
|
||||
2 つのゲートウェイの内部および外部インタフェースの実際の
|
||||
IP アドレスに置き換えてください。</para>
|
||||
<para>次に、パケットをトンネリングし、
|
||||
両方のネットワークが適切に通信するように、
|
||||
2 つの &man.gif.4; 疑似デバイスを作成します。
|
||||
<systemitem class="username">root</systemitem>
|
||||
権限で以下のコマンドを実行してください。
|
||||
ただし、実行する際には、以下のコマンドの中の
|
||||
<replaceable>internal</replaceable> および
|
||||
<replaceable>external</replaceable> を、
|
||||
2 つのゲートウェイの内部および外部インタフェースの実際の
|
||||
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> の外部
|
||||
<acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">172.16.5.4</systemitem>、
|
||||
内部 <acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">10.246.38.1</systemitem>
|
||||
とします。また、家庭
|
||||
<acronym>LAN</acronym> の外部 <acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">192.168.1.12</systemitem>、
|
||||
内部のプライベート <acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">10.0.0.5</systemitem>
|
||||
とします。</para>
|
||||
<para>この例では、会社の <acronym>LAN</acronym> の外部
|
||||
<acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">172.16.5.4</systemitem>、
|
||||
内部 <acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">10.246.38.1</systemitem>
|
||||
とします。また、家庭
|
||||
<acronym>LAN</acronym> の外部 <acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">192.168.1.12</systemitem>、
|
||||
内部のプライベート <acronym>IP</acronym> アドレスを
|
||||
<systemitem class="ipaddress">10.0.0.5</systemitem>
|
||||
とします。</para>
|
||||
|
||||
<para>この説明で分かりにくい場合は、以下の
|
||||
&man.ifconfig.8; コマンドの出力例をご覧ください。</para>
|
||||
<para>この説明で分かりにくい場合は、以下の
|
||||
&man.ifconfig.8; コマンドの出力例をご覧ください。</para>
|
||||
|
||||
<programlisting>Gateway 1:
|
||||
|
||||
<programlisting>Gateway 1:
|
||||
gif0: flags=8051 mtu 1280
|
||||
tunnel inet 172.16.5.4 --> 192.168.1.12
|
||||
inet6 fe80::2e0:81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6
|
||||
|
@ -2772,11 +2774,11 @@ tunnel inet 192.168.1.12 --> 172.16.5.4
|
|||
inet 10.0.0.5 --> 10.246.38.1 netmask 0xffffff00
|
||||
inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4</programlisting>
|
||||
|
||||
<para>設定が完了したら、両方の内部 <acronym>IP</acronym>
|
||||
アドレスは、&man.ping.8;
|
||||
で到達できるようになっているはずです。</para>
|
||||
<para>設定が完了したら、両方の内部 <acronym>IP</acronym>
|
||||
アドレスは、&man.ping.8;
|
||||
で到達できるようになっているはずです。</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
|
||||
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
|
||||
|
@ -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
|
||||
round-trip min/avg/max/stddev = 28.106/94.594/154.524/49.814 ms</programlisting>
|
||||
|
||||
<para>予想通り、プライベートアドレスを使って、
|
||||
両方のネットワークから <acronym>ICMP</acronym>
|
||||
パケットを送受信できます。
|
||||
次に、どちらのネットワークからもメッセージを送信できるように、
|
||||
パケットのルーティング情報を
|
||||
両方のゲートウェイに設定する必要があります。
|
||||
これは以下のコマンドで設定できます。</para>
|
||||
<para>予想通り、プライベートアドレスを使って、
|
||||
両方のネットワークから <acronym>ICMP</acronym>
|
||||
パケットを送受信できます。
|
||||
次に、どちらのネットワークからもメッセージを送信できるように、
|
||||
パケットのルーティング情報を両方のゲートウェイに設定する必要があります。
|
||||
これは以下のコマンドで設定できます。</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>これで、ネットワーク内のコンピュータは、
|
||||
ゲートウェイおよびゲートウェイの奥のコンピュータから到達可能となっています。
|
||||
もう一度 &man.ping.8; で確認してください。</para>
|
||||
<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
|
||||
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
|
||||
|
@ -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
|
||||
round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 ms</programlisting>
|
||||
|
||||
<para>トンネリングの設定は以上のように簡単ですが、
|
||||
リンクを安全にするには、もう少し掘り下げた設定が必要となります。
|
||||
以下の設定では、事前共有 (<acronym>PSK</acronym>)
|
||||
<acronym>RSA</acronym> 鍵を使います。
|
||||
<acronym>IP</acronym> アドレスを除けば、両方のゲートウェイの
|
||||
<filename>/usr/local/etc/racoon/racoon.conf</filename>
|
||||
は同じで、以下のようになります。</para>
|
||||
<para>トンネリングの設定は以上のように簡単ですが、
|
||||
リンクを安全にするには、もう少し掘り下げた設定が必要となります。
|
||||
以下の設定では、事前共有 (<acronym>PSK</acronym>)
|
||||
<acronym>RSA</acronym> 鍵を使います。
|
||||
<acronym>IP</acronym> アドレスを除けば、両方のゲートウェイの
|
||||
<filename>/usr/local/etc/racoon/racoon.conf</filename>
|
||||
は同じで、以下のようになります。</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
|
||||
|
||||
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;
|
||||
}</programlisting>
|
||||
|
||||
<para>利用可能なオプションの説明については、
|
||||
<application>racoon</application>
|
||||
のマニュアルページを参照してください。</para>
|
||||
<para>利用可能なオプションの説明については、
|
||||
<application>racoon</application>
|
||||
のマニュアルページを参照してください。</para>
|
||||
|
||||
<para>&os; および <application>racoon</application>
|
||||
がホスト間のネットワークトラフィックを暗号化、
|
||||
復号化できるようにするには、
|
||||
Security Policy Database (<acronym>SPD</acronym>)
|
||||
の設定が必要です。</para>
|
||||
<para>&os; および <application>racoon</application>
|
||||
がホスト間のネットワークトラフィックを暗号化、
|
||||
復号化できるようにするには、
|
||||
Security Policy Database (<acronym>SPD</acronym>)
|
||||
の設定が必要です。</para>
|
||||
|
||||
<para>これは、会社のゲートウェイ上で、
|
||||
以下のようなシェルスクリプトで設定できます。
|
||||
このファイルをシステムの初期化中に使われるようにするには、
|
||||
<filename>/usr/local/etc/racoon/setkey.conf</filename>
|
||||
に保存する必要があります。</para>
|
||||
<para>これは、会社のゲートウェイ上で、
|
||||
以下のようなシェルスクリプトで設定できます。
|
||||
このファイルをシステムの初期化中に使われるようにするには、
|
||||
<filename>/usr/local/etc/racoon/setkey.conf</filename>
|
||||
に保存する必要があります。</para>
|
||||
|
||||
<programlisting>flush;
|
||||
<programlisting>flush;
|
||||
spdflush;
|
||||
# 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.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>設定ファイルを適切に置くと、以下のコマンドにより、
|
||||
両方のゲートウェイ上で <application>racoon</application>
|
||||
を起動できます。</para>
|
||||
<para>設定ファイルを適切に置くと、以下のコマンドにより、
|
||||
両方のゲートウェイ上で <application>racoon</application>
|
||||
を起動できます。</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.
|
||||
2006-01-30 01:35:47: INFO: begin Identity Protection mode.
|
||||
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]->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]->192.168.1.12[0] spi=175852902(0xa7b4d66)</programlisting>
|
||||
|
||||
<para>トンネリングが適切に行われているかどうかを確認するため、
|
||||
別のコンソール上で &man.tcpdump.1; を使い、
|
||||
以下のようなコマンドでネットワークの通信を確認してください。
|
||||
ただし、以下の例の <literal>em0</literal> の部分は、
|
||||
必要に応じて使用しているネットワークインタフェースに置き換えてください。</para>
|
||||
<para>トンネリングが適切に行われているかどうかを確認するため、
|
||||
別のコンソール上で &man.tcpdump.1; を使い、
|
||||
以下のようなコマンドでネットワークの通信を確認してください。
|
||||
ただし、以下の例の <literal>em0</literal> の部分は、
|
||||
必要に応じて使用しているネットワークインタフェースに置き換えてください。</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 > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa)
|
||||
<programlisting>01:47:32.021683 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa)
|
||||
01:47:33.022442 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xb)
|
||||
01:47:34.024218 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xc)</programlisting>
|
||||
|
||||
<para>これで 2 つのネットワークは、
|
||||
1 つのネットワークのように利用できます。
|
||||
多くの場合、
|
||||
両方のネットワークはファイアウォールにより保護されています。
|
||||
両方を流れる通信を許可するには、
|
||||
パケットが両方を行き来できるようにルールを追加する必要があります。
|
||||
&man.ipfw.8; を使ったファイアウォールの場合は、
|
||||
ファイアウォールの設定ファイルに、以下の行を追加してください。</para>
|
||||
<para>これで 2 つのネットワークは、
|
||||
1 つのネットワークのように利用できます。
|
||||
多くの場合、
|
||||
両方のネットワークはファイアウォールにより保護されています。
|
||||
両方を流れる通信を許可するには、
|
||||
パケットが両方を行き来できるようにルールを追加する必要があります。
|
||||
&man.ipfw.8; を使ったファイアウォールの場合は、
|
||||
ファイアウォールの設定ファイルに、以下の行を追加してください。</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 00203 allow log ipencap from any to any
|
||||
ipfw add 00204 allow log udp from any 500 to any</programlisting>
|
||||
|
||||
<note>
|
||||
<para>ルール番号は、
|
||||
現在のホストの設定によっては変更する必要があるでしょう。</para>
|
||||
</note>
|
||||
<note>
|
||||
<para>ルール番号は、
|
||||
現在のホストの設定によっては変更する必要があるでしょう。</para>
|
||||
</note>
|
||||
|
||||
<para>&man.pf.4; または &man.ipf.8; を使用しているシステムでは、
|
||||
以下のルールで上手くいくでしょう。</para>
|
||||
<para>&man.pf.4; または &man.ipf.8; を使用しているシステムでは、
|
||||
以下のルールで上手くいくでしょう。</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 ipencap from any to any
|
||||
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 on gif0 from any to any</programlisting>
|
||||
|
||||
<para>最後に、システムの初期化中に <acronym>VPN</acronym>
|
||||
が起動するように、以下の行を
|
||||
<filename>/etc/rc.conf</filename> に追加してください。</para>
|
||||
<para>最後に、システムの初期化中に <acronym>VPN</acronym>
|
||||
が起動するように、以下の行を
|
||||
<filename>/etc/rc.conf</filename> に追加してください。</para>
|
||||
|
||||
<programlisting>ipsec_enable="YES"
|
||||
<programlisting>ipsec_enable="YES"
|
||||
ipsec_program="/usr/local/sbin/setkey"
|
||||
ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot
|
||||
racoon_enable="yes"</programlisting>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="openssh">
|
||||
<info>
|
||||
|
|
Loading…
Reference in a new issue