Solaris のシステム管理 (IP サービス)

ProcedureIPv4 トランスポートモードの IPsec トンネルで VPN を保護する方法

トランスポートモードでは、外側のヘッダーによって、内側の IP パケットを保護する IPsec ポリシーが決まります。

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

この手順では、「IPsec で VPN を保護する作業のためのネットワークトポロジの説明」で説明されている設定を使用します。特定のコマンドを実行する理由についての詳細は、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の該当する手順を参照してください。


注 –

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


  1. システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。


    注 –

    リモートログインすると、セキュリティー上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。


  2. IPsec を構成する前に、パケットフローを制御します。

    1. IP 転送と IP 動的経路制御が無効になっていることを確認します。


      # routeadm
      Configuration       Current         Current
             Option       Configuration  System State
      --------------------------------------------------
      IPv4 forwarding     disabled           disabled
         IPv4 routing     default (enabled)   enabled
      …

      IP 転送や IP 動的経路制御が有効な場合は、次のように入力して無効にします。


      # routeadm -d ipv4-routing -d ipv4-forwarding
      # routeadm -u
      
    2. 次のコマンドを入力して IP の厳密宛先マルチホームをオンに設定します。


      # ndd -set /dev/ip ip_strict_dst_multihoming 1
      

      注意 – 注意 –

      システムの起動時に、ip_strict_dst_multihoming の値はデフォルトに戻ります。変更した値を持続させる方法については、「IP のスプーフィングを防止する方法」を参照してください。


    3. 大部分のネットワークサービス、可能な場合はすべてのネットワークサービスを無効にします。


      注 –

      「制限付き」SMF プロファイルでシステムをインストールした場合、この手順は省略できます。Solaris Secure Shell 以外のネットワークサービスは無効になります。


      ネットワークサービスを無効にすると、IP パケットがシステムにダメージを与えるのを防止できます。たとえば、SNMP デーモン、telnet 接続、rlogin 接続などを最大限に活用できます。

      次のオプションのいずれかを選択します。

      • Solaris 10 11/06 以降のリリースが稼働している場合は、「制限付き」SMF プロファイルを実行します。


        # netservices limited
        
      • それ以外の場合は、ネットワークサービスを個別に無効にします。


        # svcadm disable network/ftp:default
        # svcadm disable network/finger:default
        # svcadm disable network/login:rlogin
        # svcadm disable network/nfs/server:default
        # svcadm disable network/rpc/rstat:default
        # svcadm disable network/smtp:sendmail
        # svcadm disable network/telnet:default 
    4. ほとんどのネットワークサービスが無効になっていることを確認します。

      ループバックマウントと ssh サービスが稼働していることを確認します。


      # svcs | grep network
      online         Aug_02   svc:/network/loopback:default
      …
      online         Aug_09   svc:/network/ssh:default
  3. 2 つのシステム間に SA ペアを追加します。

    次のオプションのいずれかを選択します。

  4. IPsec ポリシーを追加します。

    /etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。ポリシーを強化する方法については、例 20–15 を参照してください。

    1. enigma システムで、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-1.
      {tunnel ip.tun0 negotiate transport} 
       ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. partym システムで、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-1.
      {tunnel ip.tun0 negotiate transport} 
       ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
  5. (省略可能) IPsec ポリシーファイルの構文を確認します。


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. トンネルを構成し、それを IPsec で保護する場合は、Solaris のリリースに応じて次の手順に従います。

    • Solaris 10 4/09 リリース以降では、手順 7 から手順 13 までを実行したあと、手順 22 の経路制御プロトコルを実行します。

    • Solaris 10 4/09 リリースより前のリリースを実行している場合は、手順 14 から手順 22 までを実行します。

  7. /etc/hostname.ip.tun0 ファイルで、トンネル ip.tun0 を構成します。

    1. enigma システムで、hostname.ip.tun0 ファイルに次のエントリを追加します。


      10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up
    2. partym システムで、hostname.ip.tun0 ファイルに次のように追加します。


      10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up
  8. 作成した IPsec ポリシーでトンネルを保護します。


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. hostname.ip.tun0 ファイルの内容をカーネルに読み込むには、ネットワークサービスを再起動します。


    # svcadm restart svc:/network/initial:default
    
  10. hme1 インタフェースの IP 転送をオンに設定します。

    1. enigma システムで、ルーターエントリを /etc/hostname.hme1 ファイルに追加します。


      192.168.116.16 router
    2. partym システムで、ルーターエントリを /etc/hostname.hme1 ファイルに追加します。


      192.168.13.213 router
  11. 経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。

    1. enigma システムで、private フラグを /etc/hostname.hme0 ファイルに追加します。


      10.16.16.6 private
    2. partym システムで、private フラグを /etc/hostname.hme0 ファイルに追加します。


      10.1.3.3 private
  12. hme0 経由のデフォルトルートを手動で追加します。

    1. enigma システムで、次のルートを追加します。


      # route add default 192.168.116.4
      
    2. partym システムで次のルートを追加します。


      # route add default 192.168.13.5
      
  13. 手順を完了するために、手順 22 に進んで経路制御プロトコルを実行します。

  14. トンネル ip.tun0 を構成します。


    注 –

    次の手順は、Solaris 10 4/09 リリースより前のリリースを実行しているシステムでトンネルを構成するためのものです。


    ifconfig コマンドを使用してポイントツーポイントインタフェースを作成します。


    # ifconfig ip.tun0 plumb
    
    # ifconfig ip.tun0 system1-point system2-point \
    tsrc system1-taddr tdst system2-taddr
    
    1. enigma システムで、次のコマンドを入力します。


      # ifconfig ip.tun0 plumb
      
      # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \
      tsrc 192.168.116.16 tdst 192.168.13.213
      
    2. partym システムで、次のコマンドを入力します。


      # ifconfig ip.tun0 plumb
      
      # ifconfig ip.tun0 10.1.3.3 10.16.16.6  \
      tsrc 192.168.13.213 tdst 192.168.116.16
      
  15. 作成した IPsec ポリシーでトンネルを保護します。


    # ipsecconf
    
  16. トンネル用のルーターを起動します。


    # ifconfig ip.tun0 router up
    
  17. hme1 インタフェースの IP 転送をオンに設定します。


    # ifconfig hme1 router
    
  18. 経路制御プロトコルによってイントラネット内のデフォルトのルートが通知されていないことを確認します。


    # ifconfig hme0 private
    
  19. hme0 経由のデフォルトルートを手動で追加します。

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


    # route add default router-on-hme0-subnet
    
    1. enigma システムで、次のルートを追加します。


      # route add default 192.168.116.4
      
    2. partym システムで次のルートを追加します。


      # route add default 192.168.13.5
      
  20. VPN がリブート後に開始するように、/etc/hostname.ip.tun0 ファイルにエントリを追加します。


    system1-point system2-point tsrc system1-taddr \
    tdst system2-taddr encr_algs aes encr_auth_algs sha1 router up
    1. enigma システムで、hostname.ip.tun0 ファイルに次のエントリを追加します。


      10.16.16.6 10.1.3.3 tsrc 192.168.116.16 \
      tdst 192.168.13.213 router up
    2. partym システムで、hostname.ip.tun0 ファイルに次のように追加します。


      10.1.3.3 10.16.16.6 tsrc 192.168.13.213 \
      tdst 192.168.116.16 router up
  21. 適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。

    1. enigma システムで、/etc/hostname.interface ファイルを変更します。


      # cat /etc/hostname.hme0
      ## enigma
      10.16.16.6 private

      # cat /etc/hostname.hme1
      ## enigma
      192.168.116.16 router
    2. partym システムで、/etc/hostname.interface ファイルを変更します。


      # cat /etc/hostname.hme0
      ## partym
      10.1.3.3 private

      # cat /etc/hostname.hme1
      ## partym
      192.168.13.213 router
  22. 経路制御プロトコルを実行します。


    # routeadm -e ipv4-routing
    # routeadm -u
    

例 20–15 すべてのシステムにトランスポートモードで IPsec ポリシーを要求する

この例では、手順 4 で構成した bypass ポリシーをコメントにして、保護を強化します。このポリシーを構成した場合は、LAN 上のすべてのシステムが、ルーターと通信するために IPsec を有効にしなければなりません。


# LAN traffic must implement IPsec.
# {laddr 10.1.3.3 dir both} bypass {}

# WAN traffic uses ESP with AES and SHA-1.
{tunnel ip.tun0 negotiate transport} ipsec {encr_algs aes encr_auth_algs sha1}


例 20–16 推奨されなくなった構文を使用してトランスポートモードの IPsec トンネルを構成する

この例では、Solaris 10 7/07 システムを、Solaris 10 リリースを実行しているシステムに接続します。したがって、管理者は構成ファイルで Solaris 10 の構文を使用し、ifconfig コマンドに IPsec アルゴリズムを含めます。

管理者は、「IPv4 トランスポートモードの IPsec トンネルで VPN を保護する方法」の手順に従いますが、構文を次のように変更します。