A.4. IPsec の構成例

A.4.1. Oracle Linux 5 の事前共有鍵
A.4.2. Oracle Linux 5 の証明書
A.4.3. Oracle Linux 6 の事前共有鍵
A.4.4. Oracle Linux 6 の証明書
A.4.5. Oracle Solaris の事前共有鍵
A.4.6. Oracle Solaris の証明書
A.4.7. Sun Ray クライアントの構成
A.4.8. IPsec の検証

このセクションで説明する例は、Sun Ray サーバーと Sun Ray クライアントで IPsec を構成して有効にする方法を示します。すべての例で、次の構成情報が使用されます。

A.4.1. Oracle Linux 5 の事前共有鍵

次の例は、Oracle Linux 5 が動作している Sun Ray サーバーで事前共有鍵を使用して IPsec を構成し、Sun Ray クライアント用の IKE 構成ファイルを準備する方法を示しています。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. /etc/racoon/racoon.conf ファイルを次のように編集します。

    path include "/etc/racoon";
    path pre_shared_key "/etc/racoon/psk.txt";
    
    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
            compression_algorithm deflate ;
    }
  3. 事前共有鍵が含まれるように /etc/racoon/psk.txt ファイルを編集します。

    <ip-address_of_Sun_Ray_Client> <key>
    
    10.25.198.65   0x12345678
  4. SPD を構成します。

    # setkey -c  << EOF
    spdadd 10.213.21.168 10.25.198.65 any -P out ipsec esp/transport//require;
    spdadd 10.25.198.65  10.213.21.168 any -P in ipsec esp/transport//require;

    10.213.21.168 が Sun Ray サーバーの IP アドレスであり、10.25.198.65 が Sun Ray クライアントの IP アドレスです。

  5. 次の内容を含む sunray_ike.conf ファイルを Sun Ray クライアント用に作成し、/tftpboot ディレクトリに保存します。

    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  6. 必要に応じて、サーバーで IPsec を有効にします。

    # racoon

    IPsec がサーバーですでに有効になっている場合、この手動による手順は必要ありません。デバッグレベルを変更するには、1 つまたは複数の -d オプション (-ddd など) を追加します。

A.4.2. Oracle Linux 5 の証明書

次の例は、Oracle Linux 5 が動作している Sun Ray サーバーで証明書を使用して IPsec を構成し、Sun Ray クライアント用の IKE 構成ファイルを準備する方法を示しています。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. cacert.pemmycert.pem、および mykey.pem ファイルを /etc/racoon/certs および /tftpboot ディレクトリにコピーします。

  3. /etc/racoon/racoon.conf ファイルを次のように編集します。

    path include "/etc/racoon";
    path certificate "/etc/racoon/certs";
    
    remote anonymous {
            exchange_mode main;
            generate_policy on;
            passive on;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            my_identifier asn1dn;
            peers_identifier asn1dn;
            proposal_check claim;
            lifetime time 24 hour;
            proposal {
                    encryption_algorithm 3des;
                    hash_algorithm md5;
                    authentication_method rsasig;
                    dh_group modp1024;
            }
    }
    
    sainfo anonymous {
            pfs_group modp1024;
            encryption_algorithm 3des;
            authentication_algorithm hmac_sha1;
            lifetime time 8 hour;
            compression_algorithm deflate;
    }
  4. 次の内容を含む sunray_ike.conf ファイルを Sun Ray クライアント用に作成し、/tftpboot ディレクトリに保存します。

    remote anonymous {
            exchange_mode main;
            my_identifier asn1dn;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            proposal {
                    authentication_method rsasig;
                    encryption_algorithm 3des;
                    hash_algorithm md5;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            pfs_group modp1024;
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  5. 次の内容を含む ikeload という名前のリモート構成ファイルを作成し、/tftpboot ディレクトリに保存します。

    /certs/cacert.pem=cacert.pem
    /keys/mykey.pem=mykey.pem
    /certs/mycert.pem=mycert.pem
    /ike/default.conf=sunray_ike.conf
  6. 必要に応じて、サーバーで IPsec を有効にします。

    # racoon

    IPsec がサーバーですでに有効になっている場合、この手動による手順は必要ありません。デバッグレベルを変更するには、1 つまたは複数の -d オプション (-ddd など) を追加します。

A.4.3. Oracle Linux 6 の事前共有鍵

次の例は、Oracle Linux 6 が動作している Sun Ray サーバーで事前共有鍵を使用して IPsec を構成し、Sun Ray クライアント用の IKE 構成ファイルを準備する方法を示しています。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. openswan-2.6.32-16.el6.x86_64.rpm RPM をまだインストールしていない場合はインストールします。

  3. /etc/ipsec.conf ファイルで、次の行のコメントを解除します。

    include /etc/ipsec.d/*.conf
  4. /etc/ipsec.secrets ファイルに次の行のみが含まれていることを確認します。

    include /etc/ipsec.d/*.secrets
  5. 次の内容 (Sun Ray サーバーと Sun Ray クライアントの IP アドレスがそれぞれ leftright のエントリに指定されている) の /etc/ipsec.d/shared.conf ファイルを作成します。

    conn new
        left=10.213.21.168
        right=10.25.198.65
        authby=secret
        type=transport
        ike=3des-md5;modp1024
        esp=3des-md5
        keyexchange=ike
        pfs=no
        rekey=no
        aggrmode=no
        phase2=esp
        salifetime=8h
        auto=add 
        
  6. 次の内容 (Sun Ray サーバーと Sun Ray クライアントの IP アドレス、および事前共有鍵が指定されたエントリが含まれている) の /etc/ipsec.d/shared.secrets ファイルを作成します。

    10.213.21.168 10.25.198.65: PSK "12345678"            
  7. 次の内容を含む sunray_ike.conf ファイルを Sun Ray クライアント用に作成し、/tftpboot ディレクトリに保存します。

    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  8. IPsec サービスを開始します。

    # /etc/init.d/ipsec start

A.4.4. Oracle Linux 6 の証明書

次の例は、Oracle Linux 6 が動作している Sun Ray サーバーで証明書を使用して IPsec を構成し、Sun Ray クライアント用の IKE 構成ファイルを準備する方法を示しています。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. openswan-2.6.32-16.el6.x86_64.rpm RPM をまだインストールしていない場合はインストールします。

  3. /etc/ipsec.conf ファイルで、次の行のコメントを解除します。

    include /etc/ipsec.d/*.conf
  4. /etc/ipsec.secrets ファイルに次の行のみが含まれていることを確認します。

    include /etc/ipsec.d/*.secrets
  5. 次の内容を含む /etc/ipsec.d/certs.conf ファイルを作成します。

     
     conn new1
            left=10.213.21.168
            right=%any
            leftcert="server_certificate"
            rightcert="client_certificate"
            leftid=%fromcert
            rightid=%fromcert
            authby=rsasig
            leftrsasigkey=%cert
            type=transport
            ike=aes-sha2_256;modp1024
            phase2alg=aes-sha2_256
            keyexchange=ike
            keyingtries=3
            pfs=no
            rekey=no
            aggrmode=no
            phase2=esp
            salifetime=8h
            auto=add 
    

    right=%any エントリを使用すると、どのクライアントも適切な証明書で接続できます。

  6. 次の内容 (Sun Ray サーバーが指定されている) を含む /etc/ipsec.d/certs.secrets ファイルを作成します。

    %any : RSA 10.213.21.168
  7. 次の内容を含む sunray_ike.conf ファイルを Sun Ray クライアント用に作成し、/tftpboot ディレクトリに保存します。

    remote anonymous {
            exchange_mode main;
            my_identifier asn1dn;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            proposal {
                    authentication_method rsasig;
                    encryption_algorithm 3des;
                    hash_algorithm sha1;
                    dh_group modp1024;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  8. 次の内容を含む ikeload という名前のリモート構成ファイルを作成し、/tftpboot ディレクトリに保存します。

    /certs/cacert.pem=cacert.pem
    /keys/mykey.pem=mykey.pem
    /certs/mycert.pem=mycert.pem
    /ike/default.conf=sunray_ike.conf
     
  9. IPsec サービスを開始します。

    # /etc/init.d/ipsec start

A.4.5. Oracle Solaris の事前共有鍵

次の例は、Oracle Solaris 10 または Oracle Solaris 11 が動作している Sun Ray サーバーで事前共有鍵を使用して IPsec を構成し、Sun Ray クライアント用の IKE 構成ファイルを準備する方法を示しています。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. /etc/inet/ike/config ファイルを次のように編集します。

    p1_lifetime_secs 86400
    p1_nonce_len 16
    
    p2_lifetime_secs 28800
    
    ## Parameters that may also show up in rules.
    
    p1_xform { auth_method preshared oakley_group 2 auth_alg sha1 encr_alg aes }
    
    p2_pfs 0
    
    ### Now some rules...
    
    {
       label "SRSS Rule"
    
       # Use whatever "host" (e.g. IP address) identity is appropriate
       local_addr 0.0.0.0/0
       remote_addr 0.0.0.0/0
    
       p1_xform
       { auth_method preshared oakley_group 2 auth_alg sha encr_alg aes }
    
       p2_pfs 0
    }
  3. 事前共有鍵が含まれるように /etc/inet/secret/ike.preshared ファイルを編集します。

    {
            localidtype     IP
            localid         10.213.21.168
            remoteidtype    IP
            remoteid        10.25.198.65
            key             12345678
    }
  4. 次の行を /etc/inet/ipsecinit.conf ファイルに追加することで、IPsec ポリシーを構成します。

     { laddr 10.213.21.168 raddr 10.25.198.65 } ipsec {encr_algs aes encr_auth_algs sha1}
  5. 次の内容を含む sunray_ike.conf ファイルを Sun Ray クライアント用に作成し、/tftpboot ディレクトリに保存します。

    remote anonymous {
            exchange_mode main;
            proposal {
                    authentication_method pre_shared_key;
                    encryption_algorithm aes;
                    hash_algorithm sha1;
                    dh_group 2;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            authentication_algorithm hmac_sha1;
            encryption_algorithm aes;
            lifetime time 8 hour;
    }
  6. サーバーで IPsec を有効にします。

     # svcadm restart svc:/network/ipsec/ipsecalgs:default
     # svcadm restart svc:/network/ipsec/policy:default
     # /usr/lib/inet/in.iked

    svcs | grep ipsec コマンドを使用すると、IPsec が有効になっていることを確認できます。in.iked コマンドの -d オプションを使用すると、フォアグラウンドの状態のまま、デバッグ出力を生成できます。

A.4.6. Oracle Solaris の証明書

次の例は、Oracle Solaris 10 または Oracle Solaris 11 が動作している Sun Ray サーバーで証明書を使用して IPsec を構成し、Sun Ray クライアント用の IKE 構成ファイルを準備する方法を示しています。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. cacert.pemmycert.pem、および mykey.pem ファイルを /etc/racoon/certs および /tftpboot ディレクトリにコピーします。

  3. /etc/inet/ike/config ファイルを次のように編集します。

    ####
    
    cert_root   "C=US, L=Redwood Shores, ST=CA, O=Company, OU=Sun Ray, 
                 CN=First Last, MAILTO=first.last@company.com"
    
    ignore_crls
    
    p1_lifetime_secs 86400
    p1_nonce_len 16
    
    p2_lifetime_secs 28800
    
    p1_xform { auth_method rsa_sig oakley_group 2 auth_alg sha encr_alg 3des }
    
    p2_pfs 0
    
    {
       label "SRSS Rule"
    
       local_id_type dn
       local_id "C=US, L=Redwood Shores, ST=CA, O=Company, OU=Sun Ray, CN=server-fqdn"
       remote_id ""
    
       local_addr 0.0.0.0/0
       remote_addr 0.0.0.0/0
    
       p1_xform
       { auth_method rsa_sig oakley_group 2 auth_alg md5 encr_alg 3des }
    
       p2_pfs 0
    }
    
    ####
    
  4. 次の行を /etc/inet/ipsecinit.conf ファイルに追加することで、IPsec ポリシーを構成します。

     { laddr 10.213.21.168 raddr 10.25.198.65 } ipsec {encr_algs 3des encr_auth_algs sha1}
  5. 次の内容を含む sunray_ike.conf ファイルを Sun Ray クライアント用に作成し、/tftpboot ディレクトリに保存します。

    remote anonymous {
            exchange_mode main;
            my_identifier asn1dn;
            ca_type x509 "cacert.pem";
            certificate_type x509 "mycert.pem" "mykey.pem";
            proposal {
                    authentication_method rsasig;
                    encryption_algorithm 3des;
                    hash_algorithm md5;
                    dh_group 2;
            }
            lifetime time 24 hour;
            proposal_check claim;
    }
    sainfo anonymous {
            pfs_group modp1024;
            authentication_algorithm hmac_sha1;
            encryption_algorithm 3des;
            lifetime time 8 hour;
    }
  6. 次の内容を含む ikeload という名前のリモート構成ファイルを作成し、/tftpboot ディレクトリに保存します。

    /certs/cacert.pem=cacert.pem
    /keys/mykey.pem=mykey.pem
    /certs/mycert.pem=mycert.pem
    /ike/default.conf=sunray_ike.conf
  7. サーバーで IPsec を有効にします。

     # svcadm restart svc:/network/ipsec/ipsecalgs:default
     # svcadm restart svc:/network/ipsec/policy:default
     # /usr/lib/inet/in.iked

    svcs | grep ipsec コマンドを使用すると、IPsec が有効になっていることを確認できます。in.iked コマンドの -d オプションを使用すると、フォアグラウンドの状態のまま、デバッグ出力を生成できます。

A.4.7. Sun Ray クライアントの構成

Sun Ray サーバーで IPsec の構成 (適切な Sun Ray IKE 構成ファイルおよび証明書を /tftpboot ディレクトリに追加することを含む) を行なったら、残された手順は Sun Ray クライアントで構成 GUI を使用して IPsec を構成することのみです。次の手順は、前の Sun Ray サーバーの構成例に続くものです。

  1. Sun Ray クライアントで構成 GUI を開きます。

    詳細は、「構成 GUI メニューの説明」を参照してください。

  2. Sun Ray クライアントでサーバーの /tftpboot ディレクトリから構成ファイルをロードします。

    1. Sun Ray IKE 構成ファイルのみをロードする場合は、「サーバー/IPsec」 > 「構成のダウンロード」を選択し、サーバーと IKE 構成ファイルを指定します。このセクションの事前共有の例では、10.213.21.168/sunray_ike.conf を入力して、/ike/default.conf ファイルを Sun Ray クライアントのファームウェアに取り込みます。

    2. リモート構成ファイルを使用していくつかのファイルをロードする場合は、「詳細」 > 「構成のダウンロード」を選択し、サーバーとリモート構成ファイルを入力します。このセクションの証明書の例では、10.213.21.168/ikeload を入力して、IKE 構成ファイルと証明書ファイルを Sun Ray クライアントのファームウェアに取り込みます。

  3. サーバー/IPsec」を選択します。

  4. このセクションの事前共有鍵の例では、「事前共有鍵の管理」を選択して事前共有鍵を作成します。

    10.25.198.65    0x12345678

    リモート構成ファイルを使用して事前共有鍵をロードすることもできます。

  5. IPsec の有効化」を選択して、IPsec を有効にします。

  6. 構成 GUI を終了します。

A.4.8. IPsec の検証

Sun Ray サーバーと Sun Ray クライアントでの IPsec の構成が終了したあとで、IPsec が動作しているかどうかを確認するには、OSD アイコンを有効にした状態で Sun Ray クライアントをリブートします。IPsec の OSD ネットワークステータスアイコンが上矢印とともに表示された場合、IPsec は動作しています。

サーバーと Sun Ray の間でトラフィックが暗号化されているかどうかを確認するには、ネットワーク監視ツール (snooptcpdump など) を使用して、確認されたパケットが ESP プロトコルを使用していることを確かめます。