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

IPsec による VPN の保護 (作業マップ)

次の作業マップに、インターネット経由のトラフィックを保護するように IPsec を構成する手順を示します。これらの手順を使用すると、インターネットで隔てられている 2 つのシステムの間に、セキュリティー保護された仮想プライベートネットワーク (VPN) を設定できます。この技術の一般的な使用法の 1 つは、自宅勤務者と会社のオフィスの間のトラフィックを保護することです。

タスク 

説明 

説明 

IPv4 トンネルモードでトンネルトラフィックを保護します。 

2 つの Solaris 10 システム間、2 つの Oracle Solaris システム間、または Solaris 10 システムと Oracle Solaris Express システムの間で、トンネルモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 

また、Solaris 10 システムまたは Oracle Solaris Express システムと、別のプラットフォームで稼働中のシステムの間でも、トンネルモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 

「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」

IPv6 トンネルモードでトンネルトラフィックを保護します。 

IPv6 プロトコルを使用している 2 つの Oracle Solaris システム間で、トンネルモードでトラフィックを保護します。 

「IPv6 トンネルモードの IPsec トンネルで VPN を保護する方法」

IPv4 トランスポートモードでトンネルトラフィックを保護します。 

2 つの Solaris 10 システム間、2 つの Solaris システム間、または Solaris 10 システムと Oracle Solaris システムの間で、トランスポートモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 

また、以前のバージョンの Solaris OS を実行しているシステムと、Solaris 10 または Oracle Solaris システムの間でも、トランスポートモードでトラフィックを保護します。Solaris 10 システムで Solaris 10 7/07 リリース以上が実行されている必要があります。 

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

推奨されなくなった古い構文を使用してトラフィックを保護します。この方法は、以前のバージョンの Solaris OS を実行しているシステムと通信する場合に役立ちます。この方法を使用すると、2 つのシステム上にある構成ファイルの比較が簡単になります。 

例 20–11

例 20–16

IPv6 トランスポートモードでトンネルトラフィックを保護します。 

IPv6 プロトコルを使用している 2 つの Oracle Solaris システム間で、トランスポートモードでトラフィックを保護します。 

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

IP のスプーフィングを防止します。 

SMF サービスを作成して、システムがパケットを復号化せずに VPN 上で転送することを防止します。 

「IP のスプーフィングを防止する方法」

IPsec で VPN を保護する作業のためのネットワークトポロジの説明

この節以降に説明する手順では、次の設定がすでになされているものとします。図 20–2 はこのネットワークを表しています。

図 20–2 インターネットで隔てられているオフィス間の VPN の例

この図は、ヨーロッパのオフィスとカリフォルニアのオフィスを接続する VPN の詳細を示しています。

前の図に示すように、IPv4 ネットワーク向けの手順では次の構成パラメータを使用します。

パラメータ 

ヨーロッパ 

カリフォルニア 

システム名 


enigma

partym

システムイントラネットインタフェース 


hme1

hme1

システムイントラネットアドレス。手順 7-point アドレスでもある


10.16.16.6

10.1.3.3

システムインターネットインタフェース 


hme0

hme0

システムイントラネットアドレス。手順 7tsrc アドレスでもある


192.168.116.16

192.168.13.213

インターネットルーターの名前 


router-E

router-C

インターネットルーターのアドレス 


192.168.116.4

192.168.13.5

トンネル名 


ip.tun0

ip.tun0

手順では次の IPv6 アドレスを使用します。トンネル名は同じです。

パラメータ 

ヨーロッパ 

カリフォルニア 

システムイントラネットアドレス 


6000:6666::aaaa:1116

6000:3333::eeee:1113

システムインターネットアドレス 


2001::aaaa:6666:6666

2001::eeee:3333:3333

インターネットルーターのアドレス 


2001::aaaa:0:4

2001::eeee:0:1

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

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

この手順は、「IPsec で 2 つのシステム間のトラフィックを保護するには」の手順の応用です。設定については、「IPsec で VPN を保護する作業のためのネットワークトポロジの説明」を参照してください。


注 –

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


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

始める前に

システムまたは共有 IP ゾーンの IPsec ポリシーの構成は、大域ゾーンで行う必要があります。排他的 IP ゾーンについては、非大域ゾーンで IPsec ポリシーを構成します。

  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
      

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

    2. 次のコマンドを入力して IP の厳密宛先マルチホームをオンに設定します。


      # ndd -set /dev/ip ip_strict_dst_multihoming 1
      

      IP 厳密宛先マルチホームをオンに設定すると、システムの宛先アドレスのうちの 1 つに宛てたパケットは、正しい宛先アドレスに必ず到着します。

      厳密宛先マルチホームが有効な状態では、特定のインタフェースに到着したパケットに、そのインタフェースのいずれかのローカル IP アドレスを指定する必要があります。その他のパケットは、システムのほかのローカルアドレスが指定されているものも含めてすべて捨てられます。


      注意 – 注意 –

      システムの起動時に、マルチホームの値はデフォルトに戻ります。変更した値を持続させる方法については、「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–12 を参照してください。その他の例については、「トンネルモードのトンネルを使用して VPN を IPsec で保護する例」を参照してください。

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

    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 tunnel} 
       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 tunnel} 
       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. トンネル ip.tun0/etc/hostname.ip.tun0 ファイルで構成します。

    ファイルの構文は次のとおりです。


    system1-point system2-point tsrc system1-taddr tdst system2-taddr 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
  8. 作成した IPsec ポリシーでトンネルを保護します。


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


    # 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

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

    hme1 インタフェースはイントラネットの「内部」にあるため、hme1 の IP 転送はオンに設定しておきます。さらに、ip.tun0 はインターネットを通してこれら 2 つのシステムを接続するため、ip.tun0 の IP 転送はオンに設定しておきます。

    hme0 インタフェースの IP 転送はオフです。そのため、「外部」からパケットが保護イントラネットに侵入するのを防ぐことができます。「外部」とはインターネットを意味します。

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

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


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


      10.1.3.3 private

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

  12. hme0 インタフェース経由のデフォルトルートを手動で追加します。

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

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


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


      # route add default 192.168.13.5
      

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

  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
    

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

    hme1 インタフェースはイントラネットの「内部」にあるため、hme1 の IP 転送はオンに設定しておきます。さらに、ip.tun0 はインターネットを通してこれら 2 つのシステムを接続するため、ip.tun0 の IP 転送はオンに設定しておきます。

    hme0 インタフェースの IP 転送はオフです。そのため、「外部」からパケットが保護イントラネットに侵入するのを防ぐことができます。「外部」とはインターネットを意味します。

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


    # ifconfig hme0 private
    

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

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

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

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


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


      # route add default 192.168.13.5
      

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

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


    system1-point system2-point tsrc system1-taddr tdst system2-taddr 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
    

    経路制御プロトコルを実行する前に経路制御プロトコルの構成が必要な場合があります。詳細は、「Oracle Solaris の経路制御プロトコル」を参照してください。手順については、「IPv4 ルーターの構成方法」を参照してください。


例 20–10 テスト時に一時的なトンネルを作成する

この例では、管理者が Solaris 10 4/09 システムでトンネルの作成をテストします。あとで 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順を使用して、これらを永続的なトンネルにします。テスト中に、管理者はシステム system1 および system2 で次の一連の手順を実行します。



例 20–11 コマンド行を使用して以前のバージョンの Solaris システムにトンネルを作成する

Solaris 10 7/07 リリースでは、ifconfig コマンドの構文が簡素化されました。この例では、Solaris 10 7/07 リリースより前のバージョンの Solaris を実行しているシステムに対するトンネルの作成を管理者がテストします。ifconfig コマンドの元の構文を使用すれば、通信する 2 つのシステムで同じコマンドを使用できます。あとで 「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の手順を使用して、これらを永続的なトンネルにします。

テスト中に、管理者はシステム system1 および system2 で次の手順を実行します。



例 20–12 LAN 上のすべてのシステムでの 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 tunnel} ipsec {encr_algs aes encr_auth_algs sha1}


例 20–13 IPsec を使用して Telnet トラフィックと SMTP トラフィックを異なる方法で保護する

この例の最初の規則は、ポート 23 の telnet トラフィックを Blowfish と SHA-1 で保護します。2 番目の規則はポート 25 の SMTP トラフィックを AES と MD5 で保護します。


{laddr 10.1.3.3 ulp tcp dport 23 dir both} 
  ipsec {encr_algs blowfish encr_auth_algs sha1 sa unique}
{laddr 10.1.3.3 ulp tcp dport 25 dir both} 
 ipsec {encr_algs aes encr_auth_algs md5 sa unique}


例 20–14 トンネルモードの IPsec トンネルを使用して、ほかのネットワークトラフィックとは異なる方法でサブネットを保護する

次のトンネル構成は、トンネルを経由するサブネット 10.1.3.0/24 からのすべてのトラフィックを保護します。


{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24} 
  ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

次のトンネル構成は、トンネルを経由するサブネット 10.1.3.0/24 からほかのサブネットへのトラフィックを保護します。10.2.x.x で始まるサブネットはトンネルを経由します。


{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.1.0/24} 
  ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared}

{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.2.0/24} 
  ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared}

{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.3.0/24} 
  ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

ProcedureIPv6 トンネルモードの IPsec トンネルで VPN を保護する方法

IPv6 ネットワークで VPN を使用するには、IPv4 ネットワークの場合と同じ手順を実行します。ただし、コマンドの構文は少し違います。特定のコマンドを実行する理由についての詳細は、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の該当する手順を参照してください。


注 –

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


この手順では、次の構成パラメータを使用します。

パラメータ 

ヨーロッパ 

カリフォルニア 

システム名 


enigma

partym

システムイントラネットインタフェース 


hme1

hme1

システムインターネットインタフェース 


hme0

hme0

システムイントラネットアドレス 


6000:6666::aaaa:1116

6000:3333::eeee:1113

システムインターネットアドレス 


2001::aaaa:6666:6666

2001::eeee:3333:3333

インターネットルーターの名前 


router-E

router-C

インターネットルーターのアドレス 


2001::aaaa:0:4

2001::eeee:0:1

トンネル名 


ip6.tun0

ip6.tun0

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

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


    注 –

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


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

    これらのコマンドの効果については、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」手順 2 を参照してください。

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


      # routeadm
      Configuration       Current         Current
             Option       Configuration  System State
      --------------------------------------------------
      …
      IPv6 forwarding     disabled          disabled
         IPv6 routing     disabled          disabled

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


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


      # ndd -set /dev/ip ip6_strict_dst_multihoming 1
      

      注意 – 注意 –

      システムの起動時に、ip6_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. VPN 用の IPsec ポリシーを追加します。

    /etc/inet/ipsecinit.conf ファイルを編集して、VPN 用の IPsec ポリシーを追加します。

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


      # IPv6 Neighbor Discovery messages bypass IPsec.
      {ulp ipv6-icmp type 133-137 dir both} pass {}
      
      # LAN traffic to and from this host can bypass IPsec.
      {laddr 6000:6666::aaaa:1116 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip6.tun0 negotiate tunnel} 
        ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. partym システムで、ipsecinit.conf ファイルに次のエントリを追加します。


      # IPv6 Neighbor Discovery messages bypass IPsec.
      {ulp ipv6-icmp type 133-137 dir both} pass {}
      
      # LAN traffic to and from this host can bypass IPsec.
      {laddr 6000:3333::eeee:1113 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip6.tun0 negotiate tunnel} 
        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.ip6.tun0 ファイルで、トンネル ip6.tun0 を構成します。

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


      6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up
    2. partym システムで、hostname.ip6.tun0 ファイルに次のエントリを追加します。


      6000:3333::eeee:1113  6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up
  8. 作成した IPsec ポリシーでトンネルを保護します。


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


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

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


      2001::aaaa:6666:6666 inet6 router
    2. partym システムで、/etc/hostname6.hme1 ファイルにルーターエントリを追加します。


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

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


      6000:6666::aaaa:1116 inet6 private
    2. partym システムで、private フラグを /etc/hostname6.hme0 ファイルに追加します。


      6000:3333::eeee:1113 inet6 private
  12. hme0 経由のデフォルトルートを手動で追加します。

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


      # route add -inet6 default 2001::aaaa:0:4
      
    2. partym システムで次のルートを追加します。


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

  14. セキュアトンネル ip6.tun0 を構成します。


    注 –

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


    1. enigma システムで、次のコマンドを入力します。


      # ifconfig ip6.tun0 inet6 plumb
      
      # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \
      tsrc 2001::aaaa:6666:6666   tdst 2001::eeee:3333:3333
      
    2. partym システムで、次のコマンドを入力します。


      # ifconfig ip6.tun0 inet6 plumb
      
      # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \
      tsrc 2001::eeee:3333:3333   tdst 2001::aaaa:6666:6666
      
  15. 作成した IPsec ポリシーでトンネルを保護します。


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


    # ifconfig ip6.tun0 router up
    
  17. 各システムで、hme1 インタフェースの IP 転送をオンに設定します。


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


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

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

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


      # route add -inet6 default 2001::aaaa:0:4
      
    2. partym システムで次のルートを追加します。


      # route add -inet6 default 2001::eeee:0:1
      
  20. VPN がリブート後に開始するように、/etc/hostname6.ip6.tun0 ファイルにエントリを追加します。

    このエントリは、手順 14ifconfigコマンドに渡されたパラメータを複製します。

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


      6000:6666::aaaa:1116 6000:3333::eeee:1113 \
      tsrc 2001::aaaa:6666:6666  tdst 2001::eeee:3333:3333 router up
    2. partym システムでは、次のエントリを hostname6.ip6.tun0 ファイルに追加します。


      6000:3333::eeee:1113 6000:6666::aaaa:1116 \
      tsrc 2001::eeee:3333:3333   tdst 2001::aaaa:6666:6666  router up
  21. 各システムで、適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。

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


      # cat /etc/hostname6.hme0
      ## enigma
      6000:6666::aaaa:1116 inet6 private

      #  cat /etc/hostname6.hme1
      ## enigma
      2001::aaaa:6666:6666 inet6 router
    2. partym システムで、/etc/hostname6.interface ファイルを変更します。


      # cat /etc/hostname6.hme0
      ## partym
      6000:3333::eeee:1113 inet6 private

      # cat /etc/hostname6.hme1
      ## partym
      2001::eeee:3333:3333 inet6 router
  22. 経路制御プロトコルを実行します。


    # routeadm -e ipv6-routing
    # routeadm -u
    

    経路制御プロトコルを実行する前に経路制御プロトコルの構成が必要な場合があります。詳細は、「Oracle Solaris の経路制御プロトコル」を参照してください。手順については、「IPv6 ルーターの構成」を参照してください。

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 を保護する方法」の手順に従いますが、構文を次のように変更します。


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

IPv6 ネットワークで VPN を使用するには、IPv4 ネットワークの場合と同じ手順を実行します。ただし、コマンドの構文は少し違います。特定のコマンドを実行する理由についての詳細は、「IPv4 トンネルモードの IPsec トンネルで VPN を保護する方法」の該当する手順を参照してください。


注 –

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


この手順では、次の構成パラメータを使用します。

パラメータ 

ヨーロッパ 

カリフォルニア 

システム名 


enigma

partym

システムイントラネットインタフェース 


hme1

hme1

システムインターネットインタフェース 


hme0

hme0

システムイントラネットアドレス 


6000:6666::aaaa:1116

6000:3333::eeee:1113

システムインターネットアドレス 


2001::aaaa:6666:6666

2001::eeee:3333:3333

インターネットルーターの名前 


router-E

router-C

インターネットルーターのアドレス 


2001::aaaa:0:4

2001::eeee:0:1

トンネル名 


ip6.tun0

ip6.tun0

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

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


    注 –

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


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

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


      # routeadm
      Configuration       Current         Current
             Option       Configuration  System State
      --------------------------------------------------
      …
      IPv6 forwarding     disabled          disabled
         IPv6 routing     disabled          disabled

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


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


      # ndd -set /dev/ip ip6_strict_dst_multihoming 1
      

      注意 – 注意 –

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


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

      ループバックマウントと 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 ポリシーを追加します。

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


      # IPv6 Neighbor Discovery messages bypass IPsec.
      {ulp ipv6-icmp type 133-137 dir both} pass {}
      
      # LAN traffic can bypass IPsec.
      {laddr 6000:6666::aaaa:1116 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip6.tun0 negotiate transport} 
       ipsec {encr_algs aes encr_auth_algs sha1}
    2. partym システムで、ipsecinit.conf ファイルに次のエントリを追加します。


      # IPv6 Neighbor Discovery messages bypass IPsec.
      {ulp ipv6-icmp type 133-137 dir both} pass {}
      
      # LAN traffic can bypass IPsec.
      {laddr 6000:3333::eeee:1113 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip6.tun0 negotiate transport} 
       ipsec {encr_algs aes encr_auth_algs sha1}
  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.ip6.tun0 ファイルで、トンネル ip6.tun0 を構成します。

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


      6000:6666::aaaa:1116 6000:3333::eeee:1113 tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 router up
    2. partym システムで、hostname.ip6.tun0 ファイルに次のエントリを追加します。


      6000:3333::eeee:1113  6000:6666::aaaa:1116 tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 router up
  8. 作成した IPsec ポリシーでトンネルを保護します。


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


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

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


      2001::aaaa:6666:6666 inet6 router
    2. partym システムで、/etc/hostname6.hme1 ファイルにルーターエントリを追加します。


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

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


      6000:6666::aaaa:1116 inet6 private
    2. partym システムで、private フラグを /etc/hostname6.hme0 ファイルに追加します。


      6000:3333::eeee:1113 inet6 private
  12. hme0 経由のデフォルトルートを手動で追加します。

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


      # route add -inet6 default 2001::aaaa:0:4
      
    2. partym システムで次のルートを追加します。


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

  14. セキュアトンネル ip6.tun0 を構成します。


    注 –

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


    1. enigma システムで、次のコマンドを入力します。


      # ifconfig ip6.tun0 inet6 plumb
      
      # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \
      tsrc 2001::aaaa:6666:6666   tdst 2001::eeee:3333:3333
      
    2. partym システムで、次のコマンドを入力します。


      # ifconfig ip6.tun0 inet6 plumb
      
      # ifconfig ip6.tun0 inet6  6000:3333::eeee:1113  6000:6666::aaaa:1116 \
      tsrc 2001::eeee:3333:3333   tdst 2001::aaaa:6666:6666
      
  15. 作成した IPsec ポリシーでトンネルを保護します。


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


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


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


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

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

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


      # route add -inet6 default 2001::aaaa:0:4
      
    2. partym システムで次のルートを追加します。


      # route add -inet6 default 2001::eeee:0:1
      
  20. 各システムで、VPN がリブート後に開始するように、/etc/hostname6.ip6.tun0 ファイルにエントリを追加します。

    このエントリは、手順 14ifconfigコマンドに渡されたパラメータを複製します。

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


      6000:6666::aaaa:1116  6000:3333::eeee:1113 \
      tsrc 2001::aaaa:6666:6666   tdst 2001::eeee:3333:3333  router up
    2. partym システムでは、次のエントリを hostname6.ip6.tun0 ファイルに追加します。


      6000:3333::eeee:1113  6000:6666::aaaa:1116 \
      tsrc 2001::eeee:3333:3333   tdst 2001::aaaa:6666:6666  router up
  21. 適切なパラメータが経路制御デーモンに渡されるようにインタフェースファイルを設定します。

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


      # cat /etc/hostname6.hme0
      ## enigma
      6000:6666::aaaa:1116 inet6 private

      #  cat /etc/hostname6.hme1
      ## enigma
      2001::aaaa:6666:6666 inet6 router
    2. partym システムで、/etc/hostname6.interface ファイルを変更します。


      # cat /etc/hostname6.hme0
      ## partym
      6000:3333::eeee:1113 inet6 private

      # cat /etc/hostname6.hme1
      ## 
      partym2001::eeee:3333:3333 inet6 router
  22. 経路制御プロトコルを実行します。


    # routeadm -e ipv6-routing
    # routeadm -u
    

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

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

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


ProcedureIP のスプーフィングを防止する方法

システムがパケットの復号化を試みずに別のインタフェースに転送することを防止するには、IP のスプーフィングをチェックする必要があります。その方法の 1 つは、ndd コマンドを使用して IP 厳密宛先マルチホームのパラメータを設定することです。SMF マニフェストでこのパラメータが設定されている場合、システムのリブート時にこのパラメータが設定されます。


注 –

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


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

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

  2. IP のスプーフィングをチェックするように、サイト固有の SMF マニフェストを作成します。

    次のサンプルスクリプト /var/svc/manifest/site/spoof_check.xml を使用します。

    <?xml version="1.0"?>
    <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
    
    <service_bundle type='manifest' name='Custom:ip_spoof_checking'>
    
    <!--    This is a custom smf(5) manifest for this system. Place this
            file in /var/svc/manifest/site, the directory for local
            system customizations. The exec method uses an unstable
            interface to provide a degree of protection against IP
            spoofing attacks when this system is acting as a router.
    
            IP spoof protection can also be achieved by using ipfilter(5).
            If ipfilter is configured, this service can be disabled.
    
            Note: Unstable interfaces might be removed in later
            releases.  See attributes(5).
    -->
    
    <service
            name='site/ip_spoofcheck'
            type='service'
            version='1'>
    
            <create_default_instance enabled='false' />
            <single_instance />
    
            <!--    Don't enable spoof protection until the
                    network is up.
            -->
            <dependency
                    name='basic_network'
                    grouping='require_all'
                    restart_on='none'
                    type='service'>
            <service_fmri value='svc:/milestone/network' />
            </dependency>
    
            <exec_method
                    type='method'
                    name='start'
                    exec='/usr/sbin/ndd -set /dev/ip ip_strict_dst_multihoming 1'
    <!--    
         For an IPv6 network, use the IPv6 version of this command, as in:
                    exec='/usr/sbin/ndd -set /dev/ip ip6_strict_dst_multihoming 1
    -->
                    timeout_seconds='60'
            />
    
            <exec_method
                    type='method'
                    name='stop'
                    exec=':true'
                    timeout_seconds='3'
            />
    
            <property_group name='startd' type='framework'>
                    <propval
                            name='duration'
                            type='astring'
                            value='transient'
                    />
            </property_group>
    
            <stability value='Unstable' />
    
    </service>
    </service_bundle>
  3. このマニフェストを SMF リポジトリにインポートします。


    # svccfg import /var/svc/manifest/site/spoof_check.xml
    
  4. ip_spoofcheck サービスを有効にします。

    マニフェストで定義されている名前 /site/ip_spoofcheck を使用します。


    # svcadm enable /site/ip_spoofcheck
    
  5. ip_spoofcheck サービスがオンラインになっていることを確認します。


    # svcs /site/ip_spoofcheck