ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: IP サービス Oracle Solaris 11 Information Library (日本語) |
13. DHCP コマンドと DHCP ファイル (リファレンス)
IPsec で 2 つのシステム間のトラフィックを保護するには
IPsec を使って Web 以外のトラフィックから Web サーバーを保護する方法
IPsec によってパケットが保護されていることを確認する方法
16. IP セキュリティーアーキテクチャー (リファレンス)
20. Oracle Solaris の IP フィルタ (概要)
Oracle Solaris では、IPsec で保護された VPN を構成できます。トンネルは、トンネルモードまたはトランスポートモードで作成できます。詳しくは、「IPsec のトランスポートモードとトンネルモード」を参照してください。このセクションの例や手順では IPv4 アドレスを使用しますが、それらの例や手順は IPv6 VPN にも適用されます。簡単な説明については、「IPsec によるトラフィックの保護」を参照してください。
トンネルモードのトンネル用の IPsec ポリシーの例については、「トンネルモードを使用して VPN を IPsec で保護する例」を参照してください。
図 15-1 IPsec で保護されたトンネル
次の例では、LAN のすべてのサブネットに対してトンネルを構成することを前提にしています。
## Tunnel configuration ## # Tunnel name is tun0 # Intranet point for the source is 10.1.2.1 # Intranet point for the destination is 10.2.3.1 # Tunnel source is 192.168.1.10 # Tunnel destination is 192.168.2.10
# Tunnel name address object is tun0/to-central # Tunnel name address object is tun0/to-overseas
例 15-2 すべてのサブネットで使用できるトンネルの作成
この例では、図 15-1 の Central LAN のローカル LAN からのすべてのトラフィックが、ルーター 1 からルーター 2 にトンネリングされたあとに、Overseas LAN のすべてのローカル LAN に配信されます。トラフィックは AES で暗号化されます。
## IPsec policy ## {tunnel tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
例 15-3 2 つのサブネットだけを接続するトンネルの作成
この例では、Central LAN のサブネット 10.1.2.0/24 と Overseas LAN のサブネット 10.2.3.0/24 の間のトラフィックだけがトンネリングされ、暗号化されます。Central に対するほかの IPsec ポリシーがない場合、Central LAN がこのトンネル経由でほかの LAN にトラフィックを配信しようとすると、トラフィックはルーター 1 でドロップされます。
## IPsec policy ## {tunnel tun0 negotiate tunnel laddr 10.1.2.0/24 raddr 10.2.3.0/24} ipsec {encr_algs aes encr_auth_algs sha512 shared}
このセクション以降に説明する手順では、次の設定がすでになされているものとします。図 15-2 はこのネットワークを表しています。
各システムは IPv4 アドレス空間を使用します。
各システムには 2 つのインタフェースがあります。net0 インタフェースはインターネットに接続しています。この例では、インターネット IP アドレスは 192.168 で始まります。net1 インタフェースは社内の LAN、すなわちイントラネットに接続します。この例では、イントラネット IP アドレスは 10 で始まります。
各システムには、SHA-2 アルゴリズムを使用した ESP 認証が必要です。この例の SHA-2 アルゴリズムでは、512 ビットの鍵が必要です。
各システムには、AES アルゴリズムを使用した ESP 暗号化が必要です。AES アルゴリズムは 128 ビットまたは 256 ビットの鍵を使用します。
各システムは、インターネットに直接アクセスするルーターに接続できます。
各システムは、共有セキュリティーアソシエーションを使用します。
図 15-2 インターネット経由で接続されたオフィス間の VPN の例
前の図に示すように、この手順では次の構成パラメータを使用します。
|
トンネル名については、「dladm コマンドによるトンネルの構成と管理」を参照してください。アドレスオブジェクトについては、「IP インタフェースを構成する方法」と、ipadm(1M) のマニュアルページを参照してください。
トンネルモードでは、内側の IP パケットによって、その内容を保護する IPsec ポリシーが決まります。
この手順は、「IPsec で 2 つのシステム間のトラフィックを保護するには」の手順の応用です。設定については、「IPsec で VPN を保護するタスクのためのネットワークトポロジの説明」を参照してください。
特定のコマンドを実行する理由のより完全な説明については、「IPsec で 2 つのシステム間のトラフィックを保護するには」の対応する手順を参照してください。
注 - 両方のシステムでこの手順を実行してください。
この手順では、2 つのシステムを接続するだけでなく、これら 2 つのシステムに接続している 2 つのイントラネットを接続します。この手順における 2 つのシステムはゲートウェイとして機能します。
注 - トンネルモードの IPsec を Trusted Extensions システムのラベルと組み合わせて使用する場合は、『Trusted Extensions 構成と管理』の「信頼できないネットワーク上でトンネルを構成する」のこの手順の拡張を参照してください。
始める前に
システムまたは共有 IP ゾーンの IPsec ポリシーの構成は、大域ゾーンで行う必要があります。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。
詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。リモートからログインする場合、セキュリティー保護されたリモートログイン用の ssh コマンドを使用してください。例については、例 15-1 を参照してください。
# routeadm -d ipv4-routing # ipadm set-prop -p forwarding=off ipv4 # routeadm -u
IP 転送をオフにすると、このシステムを介したあるネットワークから別のネットワークへのパケット転送ができなくなります。routeadm コマンドの説明については、routeadm(1M) のマニュアルページを参照してください。
# ipadm set-prop -p hostmodel=strong ipv4
IP 厳密宛先マルチホームをオンに設定するには、システムの着信先アドレスのうちの 1 つに宛てたパケットが正しい着信先アドレスに到着する必要があります。
hostmodel パラメータを strong に設定したときは、ある特定のインタフェースに到着するパケットには、そのインタフェースのローカル IP アドレスの 1 つが指定されている必要があります。その他のパケットは、システムのほかのローカルアドレスが指定されているものも含めてすべて捨てられます。
ループバックマウントと ssh サービスが稼働していることを確認します。
# svcs | grep network online Aug_02 svc:/network/loopback:default … online Aug_09 svc:/network/ssh:default
/etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。その他の例については、「トンネルモードを使用して VPN を IPsec で保護する例」を参照してください。
このポリシーでは、ローカル LAN 上のシステムとゲートウェイの内部 IP アドレスの間に IPsec 保護は必要でないため、bypass 文を追加します。
# LAN traffic to and from this host can bypass IPsec. {laddr 10.16.16.6 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-2. {tunnel tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
# LAN traffic to and from this host can bypass IPsec. {laddr 10.1.3.3 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-2. {tunnel tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
「IKE の構成 (タスクマップ)」の構成手順のいずれかに従って、IKE を構成します。IKE 構成ファイルの構文については、ike.config(4) のマニュアルページを参照してください。
# ipsecconf -c -f /etc/inet/ipsecinit.conf
エラーがあれば修正し、ファイルの構文を確認してから続行します。
# svcadm refresh svc:/network/ipsec/policy:default
IPsec ポリシーはデフォルトで有効になっているので、「更新」を行います。IPsec ポリシーを無効にしてある場合は有効にしてください。
# svcadm enable svc:/network/ipsec/policy:default
次のコマンドは、内部および外部インタフェースを構成し、tun0 トンネルを作成し、そのトンネルに IP アドレスを割り当てます。
インタフェース net1 がまだ存在しない場合、最初のコマンドによって作成されます。
# ipadm create-addr -T static -a local=10.1.3.3 net1/inside # dladm create-iptun -T ipv4 -a local=10.1.3.3,remote=10.16.16.6 tun0 # ipadm create-addr -T static \ -a local=192.168.13.213,remote=192.168.116.16 tun0/v4tunaddr
# ipadm create-addr -T static -a local=10.16.16.6 net1/inside # dladm create-iptun -T ipv4 -a local=10.16.16.6,remote=10.1.3.3 tun0 # ipadm create-addr -T static \ -a local=192.168.116.16,remote=192.168.13.213 tun0/v4tunaddr
注 - ipadm コマンドの -T オプションは、作成するアドレスのタイプを指定します。dladm コマンドの -T オプションは、トンネルを指定します。
これらのコマンドについては、dladm(1M) と ipadm(1M) のマニュアルページ、および 「IP インタフェースを構成する方法」を参照してください。カスタマイズ名については、『Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化』の「ネットワークデバイスとデータリンク名」を参照してください。
# ipadm set-ifprop -m ipv4 -p forwarding=on net1 # ipadm set-ifprop -m ipv4 -p forwarding=off net0
IP 転送とは、別のインタフェースから到着したパケットを転送できることを意味します。IP 転送はまた、送信するパケットがもともとは別のインタフェースから発信されたパケットである可能性も意味します。パケットを正しく転送するには、受信インタフェースと送信インタフェースの IP 転送をオンに設定しておきます。
net1 インタフェースはイントラネットの「内部」にあるため、net1 の IP 転送はオンに設定しておきます。tun0 はインターネットを通してこれら 2 つのシステムを接続するため、tun0 の IP 転送はオンのままである必要があります。net0 インタフェースの IP 転送はオフです。そのため、「外部」からパケットが保護イントラネットに侵入するのを防ぐことができます。「外部」とはインターネットを意味します。
# ipadm set-addrprop -p private=on net0
net0 の IP 転送がオフになっていても、経路制御プロトコルの実装によっては、このインタフェースを通知することがあります。たとえば、in.routed プロトコルは、イントラネット内のピアにパケットが転送される際に net0 を有効なインタフェースとして通知する場合があります。インタフェースの「private」フラグを設定して、このような通知が行われないようにします。
# svcadm restart svc:/network/initial:default
デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。
# route -p add net default 192.168.13.5
# route -p add net default 192.168.116.4
net0 インタフェースはイントラネットの一部ではありませんが、インターネットを介してそのピアシステムにアクセスする必要があります。net0 は、自身のピアを見つけるために、インターネット経路制御情報を必要とします。インターネットの残りの要素にとって、VPN システムは、ルーターというよりもホストのような存在です。したがって、デフォルトルーターを使用するか、ルーター発見プロトコルを実行すれば、ピアシステムを見つけることができます。詳細については、route(1M) と in.routed(1M) のマニュアルページを参照してください。