Oracle® Solaris 11.2 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2014 年 9 月
 
 

IPsec のトンネルモードで 2 つの LAN 間の接続を保護する方法

トンネルモードでは、内側の IP パケットによって、その内容を保護する IPsec ポリシーが決まります。

この手順は、IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法の手順の応用です。設定については、IPsec で VPN を保護するタスクのためのネットワークトポロジの説明を参照してください。

特定のコマンドを実行する理由の詳細については、IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法の対応する手順を参照してください。


注 - 両方のシステムでこの手順を実行してください。

この手順では、2 つのシステムを接続するだけでなく、これら 2 つのシステムに接続している 2 つのイントラネットを接続します。この手順における 2 つのシステムはゲートウェイとして機能します。


注 - トンネルモードの IPsec を Trusted Extensions システムのラベルと組み合わせて使用する場合は、Trusted Extensions 構成と管理 の信頼できないネットワーク上でトンネルを構成するのこの手順の拡張を参照してください。

始める前に

各システムは大域ゾーンまたは排他的 IP ゾーンである。詳細は、IPsec と Oracle Solaris ゾーンを参照してください。

    特定の権利を持つユーザーは、root でなくてもこれらのコマンドを実行できます。

  • 構成コマンドを実行するには、Network IPsec Management 権利プロファイルが割り当てられている管理者になる必要があります。

  • IPsec 関連のシステムファイルを編集して鍵を作成するには、pfedit コマンドを使用します。

  • hosts ファイルを編集するには、root 役割になるか、そのファイルを編集するための明示的なアクセス権を持っている必要があります。

詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

リモートで管理する場合は、Example 7–1 およびOracle Solaris 11.2 での Secure Shell アクセスの管理 のSecure Shell を使用して ZFS をリモートで管理する方法でセキュアなリモートログイン手順を確認してください。

  1. IPsec を構成する前に、パケットフローを制御します。
    1. IP 転送と IP 動的ルーティングを無効にします。
      # routeadm -d ipv4-routing
      # ipadm set-prop -p forwarding=off ipv4
      # routeadm -u

      IP 転送をオフにすると、このシステムを介したあるネットワークから別のネットワークへのパケット転送ができなくなります。routeadm コマンドの説明については、routeadm(1M) のマニュアルページを参照してください。

    2. IP 厳密宛先マルチホームを有効にします。
      # ipadm set-prop -p hostmodel=strong ipv4

      IP 厳密宛先マルチホームを有効にするには、システムの宛先アドレスのうちの 1 つに宛てたパケットが正しい宛先アドレスに到着する必要があります。

      hostmodel パラメータを strong に設定したときは、ある特定のインタフェースに到着するパケットには、そのインタフェースのローカル IP アドレスの 1 つが指定されている必要があります。その他のパケットは、システムのほかのローカルアドレスが指定されているものも含めてすべて捨てられます。

    3. ほとんどのネットワークサービスが無効になっていることを確認します。

      ssh サービスが実行中であることを確認します。

      % svcs | grep network
      …
      online         Aug_09   svc:/network/ssh:default
  2. /etc/inet/ipsecinit.conf ファイルに VPN の IPsec ポリシーを追加します。

    その他の例については、トンネルモードを使用して VPN を IPsec で保護する例を参照してください。

    このポリシーでは、ローカル LAN 上のシステムとゲートウェイの内部 IP アドレスの間に IPsec 保護は必要でないため、bypass 文を追加します。

    1. euro-vpn システムで、ipsecinit.conf ファイルに次のエントリを追加します。
      # 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}
    2. calif-vpn システムで、ipsecinit.conf ファイルに次のエントリを追加します。
      # 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}
  3. 各システムで、2 つのシステム間の IPsec SA のペアを追加するために IKE を構成します。

    IKEv2 の構成の構成手順のいずれかに従って、IKE を構成します。IKE 構成ファイルの構文については、ikev2.config(4) のマニュアルページを参照してください。IKEv1 プロトコルのみをサポートしているシステムと通信している場合は、IKEv1 の構成および ike.config(4) のマニュアルページを参照してください。


    注 - 鍵を手動で生成して維持する必要がある場合は、IPsec の鍵を手動で作成する方法を参照してください。
  4. IPsec ポリシーファイルの構文を確認します。
    # ipsecconf -c /etc/inet/ipsecinit.conf

    エラーがあれば修正し、ファイルの構文を確認してから続行します。

  5. IPsec ポリシーをリフレッシュします。
    # svcadm refresh ipsec/policy

    IPsec ポリシーはデフォルトで有効になっているので、「リフレッシュ」を行います。IPsec ポリシーを無効にしてある場合は有効にしてください。

    # svcadm enable ipsec/policy
  6. トンネル tun0 を作成および構成します。

    次のコマンドは、内部および外部インタフェースを構成し、tun0 トンネルを作成し、そのトンネルに IP アドレスを割り当てます。

    1. calif-vpn システムで、トンネルを作成して構成します。
      # ipadm create-ip net1
      # ipadm create-addr -T static -a local=10.1.3.3 net1/inside
      # dladm create-iptun -T ipv4 -a local=192.168.13.213,remote=192.168.116.16 tun0
      # ipadm create-ip tun0
      # ipadm create-addr -T static \
      -a local=10.1.3.3,remote=10.16.16.6 tun0/v4tunaddr

      最初のコマンドは、IP インタフェース net1 を作成します。2 番目のコマンドは、net1 にアドレスを追加します。3 番目のコマンドは、IP インタフェース tun0 を作成します。4 番目のコマンドは、トンネルリンク内でカプセル化されている IP アドレスを追加します。詳細は、dladm(1M) および ipadm(1M) のマニュアルページを参照してください。

    2. euro-vpn システムで、トンネルを作成して構成します。
      # ipadm create-ip net1
      # ipadm create-addr -T static -a local=10.16.16.6 net1/inside
      # dladm create-iptun -T ipv4 -a local=192.168.116.16,remote=192.168.13.213 tun0
      # ipadm create-ip tun0
      # ipadm create-addr -T static \
      -a local=10.16.16.6,remote=10.1.3.3 tun0/v4tunaddr

      注 - ipadm コマンドの –T オプションは、作成するアドレスのタイプを指定します。dladm コマンドの –T オプションは、トンネルを指定します。

      これらのコマンドの詳細については、dladm(1M)ipadm(1M) のマニュアルページ、および Oracle Solaris 11.2 でのネットワークコンポーネントの構成と管理 のIPv4 インタフェースを構成する方法を参照してください。カスタマイズ名については、Oracle Solaris 11.2 でのネットワークコンポーネントの構成と管理 のOracle Solaris のネットワークデバイスとデータリンク名を参照してください。

  7. 各システムで、転送を構成します。
    # ipadm set-ifprop -m ipv4 -p forwarding=on net1
    # ipadm set-ifprop -m ipv4 -p forwarding=on tun0
    # ipadm set-ifprop -m ipv4 -p forwarding=off net0

    IP 転送とは、別のインタフェースから到着したパケットを転送できることを意味します。IP 転送はまた、送信するパケットがもともとは別のインタフェースから発信されたパケットである可能性も意味します。パケットを正しく転送するには、受信インタフェースと送信インタフェースの IP 転送を有効にしておきます。

    net1 インタフェースはイントラネットの「内部」にあるため、net1 の IP 転送は有効にしておきます。tun0 はインターネットを通してこれら 2 つのシステムを接続するため、tun0 の IP 転送は有効にしておく必要があります。net0 インタフェースの IP 転送は無効になっているため、インターネット上の「外部」の脅威によってパケットが保護イントラネットに侵入するのを防ぐことができます。

  8. 各システムで、プライベートインタフェースの広告を禁止します。
    # ipadm set-addrprop -p private=on net0

    net0 の IP 転送が無効になっていても、ルーティングプロトコルの実装によっては、このインタフェースを通知することがあります。たとえば、in.routed プロトコルは、イントラネット内のピアにパケットが転送される際に net0 を有効なインタフェースとして通知する場合があります。インタフェースの「private」フラグを設定して、このような通知が行われないようにします。

  9. ネットワークサービスを再起動します。
    # svcadm restart svc:/network/initial:default
  10. net0 インタフェース経由のデフォルトルートを手動で追加します。

    デフォルトルートは、インターネットに直接アクセスできるルーターでなければなりません。

    1. calif-vpn システムで次のルートを追加します。
      # route -p add net default 192.168.13.5
    2. euro-vpn システムで、次のルートを追加します。
      # route -p add net default  192.168.116.4

      net0 インタフェースはイントラネットの一部ではありませんが、インターネットを介してそのピアシステムにアクセスする必要があります。net0 は、自身のピアを見つけるために、インターネット経路制御情報を必要とします。インターネットの残りの要素にとって、VPN システムは、ルーターというよりもホストのような存在です。したがって、デフォルトルーターを使用するか、ルーター発見プロトコルを実行すれば、ピアシステムを見つけることができます。詳細は、route(1M) および in.routed(1M) のマニュアルページを参照してください。