Solaris 9 4/04 インストールガイド

(省略可能) HTTPS によるデータの保護

WAN ブートサーバーからクライアントへの転送データを保護するには、HTTPS (Secure Sockets Layer を介した HTTP) を使用します。セキュリティ保護された WAN ブートインストール構成に説明されている、より高いセキュリティで保護されたインストール構成を使用するには、Web サーバーで HTTPS を使用できるようにする必要があります。

WAN ブートサーバーの Web サーバーソフトウェアで HTTPS を使用できるようにするには、次の作業を実行します。

サーバー認証とクライアント認証のためのデジタル証明書の使用

WAN ブートインストールでは、PKCS#12 ファイルを使って、サーバー認証またはサーバー認証とクライアント認証の両方を伴うインストールを HTTPS で実行できます。PKCS#12 ファイルを使用するための要件とガイドラインについては、デジタル証明書の要件を参照してください。

WAN ブートインストールで PKCS#12 ファイルを使用するには、次の作業を実行します。

wanbootutil コマンドには、上記の作業を実行するためのオプションが用意されています。

PKCS#12 ファイルを分割する前に、WAN ブートサーバーの /etc/netboot ディレクトリに適切なサブディレクトリを作成してください。

信頼できる証明書およびクライアントの非公開鍵の作成
  1. WAN ブートサーバーで、Web サーバーユーザーと同じ役割になります。

  2. 信頼できる証明書を PKCS#12 ファイルから抽出します。/etc/netboot ディレクトリにあるクライアントの truststore ファイルに、この証明書を挿入します。


    # wanbootutil p12split -i p12cert \
      -t /etc/netboot/net-ip/client-ID/truststore
    
    p12split

    wanbootutil コマンドのオプションです。PKCS#12 ファイルを非公開鍵ファイルと証明書ファイルに分割します。

    -i p12cert

    分割する PKCS#12 ファイルの名前を指定します。

    -t /etc/netboot/net-ip/client-ID/truststore

    クライアントの truststore ファイルに証明書を挿入します。net-ip は、クライアントのサブネットの IP アドレスです。client-ID は、ユーザーが定義した ID か、DHCP クライアント ID です。

  3. (省略可能) クライアント認証を要求するかどうかを決定します。

    1. クライアントの certstore にクライアントの証明書を挿入します。


      # wanbootutil p12split -i p12cert -c \
        /etc/netboot/net-ip/client-ID/certstore -k keyfile
      
      p12split

      wanbootutil コマンドのオプションです。PKCS#12 ファイルを非公開鍵ファイルと証明書ファイルに分割します。

      -i p12cert

      分割する PKCS#12 ファイルの名前を指定します。

      -c /etc/netboot/net-ip/client-ID/certstore

      クライアントの certstore にクライアントの証明書を挿入します。net-ip は、クライアントのサブネットの IP アドレスです。client-ID は、ユーザーが定義した ID か、DHCP クライアント ID です。

      -k keyfile

      PKCS#12 ファイルの分割によって作成する、クライアントの SSL 非公開鍵ファイルの名前を指定します。

    2. クライアントの keystore に非公開鍵を挿入します。


      # wanbootutil keymgmt -i -k keyfile \
         -s /etc/netboot/net-ip/client-ID/keystore -o type=rsa
      
      keymgmt -i

      クライアントの keystore に SSL 非公開鍵を挿入します。

      -k keyfile

      前の手順で作成したクライアントの非公開鍵ファイルの名前を指定します。

      -s /etc/netboot/net-ip/client-ID/keystore

      クライアントの keystore へのパスを指定します。

      -o type=rsa

      キータイプとして RSA を指定します。


例 43–3 サーバー認証用の信頼できる証明書を作成する

次の例では、サブネット 192.168.255.0 にあるクライアント 010003BA152A42 に対して、PKCS#12 ファイルを使ってインストールを行います。このコマンド例は、client.p12 という名前の PKCS#12 ファイルから証明書を抽出します。次に、この信頼できる証明書の内容を、クライアントの truststore ファイルに挿入します。

これらのコマンドを実行する前に、まず Web サーバーユーザーと同じユーザー役割になる必要があります。この例の場合、Web サーバーユーザー役割は nobody です。


server# su nobody
Password:
nobody# wanbootutil p12split -i client.p12 \
   -t /etc/netboot/192.168.255.0/010003BA152A42/truststore
nobody# chmod 600 /etc/netboot/192.168.255.0/010003BA152A42/truststore

ハッシュキーと暗号化鍵の作成

HTTPS を使ってデータを転送するには、HMAC SHA1 ハッシュキーと暗号化鍵を作成する必要があります。半私設のネットワーク上でインストールを行うときなど、インストールデータの暗号化が不要な場合もあります。HMAC SHA1 ハッシュキーを使用すると、wanboot プログラムの完全性を確認できます。ハッシュキーと暗号化鍵の概要については、WAN ブートインストール時のデータの保護を参照してください。

wanbootutil keygen コマンドを使用すると、これらのキーを生成し、/etc/netboot の適切なディレクトリに保存できます。

ハッシュキーと暗号化鍵を作成する方法
  1. WAN ブートサーバーで、Web サーバーユーザーと同じ役割になります。

  2. HMAC SHA1 マスターキーを作成します。


    # wanbootutil keygen -m
    
    keygen -m

    WAN ブートサーバーの HMAC SHA1 マスターキーを作成します。

  3. このマスターキーから、クライアントの HMAC SHA1 ハッシュキーを作成します。


    # wanbootutil keygen -c -o [net=net-ip,{cid=client-ID,}]type=sha1
    
    -c

    クライアントのハッシュキーをマスターキーから作成します。

    -o

    wanbootutil keygen コマンドに追加オプションが含まれていることを示します。

    (省略可能) net=net-ip

    クライアントのサブネットの IP アドレスを指定します。net オプションを指定しない場合、キーは /etc/netboot/keystore ファイルに保存され、すべての WAN ブートクライアントで使用可能になります。

    (省略可能) cid=client-ID

    クライアント ID を指定します。クライアント ID は、ユーザーが定義した ID か、DHCP クライアント ID です。cid オプションの前には、net= に有効な値を指定する必要があります。net オプションを指定し、cid オプションを指定しない場合、キーは /etc/netboot/net-ip/keystore ファイルに保存されます。このキーは、net-ip サブネットにあるすべての WAN ブートクライアントで使用可能になります。

    type=sha1

    クライアントの HMAC SHA1 ハッシュキーを作成するよう、wanbootutil keygen ユーティリティに指示します。

  4. クライアントの暗号化鍵を作成する必要があるかどうかを決定します。

    HTTPS を介して WAN ブートインストールを実行するには、暗号化鍵を作成する必要があります。クライアントが WAN ブートサーバーと HTTPS 接続を確立する前に、WAN ブートサーバーは、暗号化されたデータと情報をクライアントに転送します。クライアントは暗号化鍵を使ってこの情報を復号化し、インストール時にこの情報を使用することができます。

    • サーバー認証を伴う、より高いセキュリティで保護された WAN インストールを HTTPS で実行する場合は、次の手順に進みます。

    • wanboot プログラムの完全性チェックだけを行う場合は、暗号化鍵を作成する必要はありません。手順 6 に進みます。

  5. クライアントの暗号化鍵を作成します。


    # wanbootutil keygen -c -o [net=net-ip,{cid=client-ID,}]type=key-type
    
    -c

    クライアントの暗号化鍵を作成します。

    -o

    wanbootutil keygen コマンドに追加オプションが含まれていることを示します。

    (省略可能) net=net-ip

    クライアントのネットワーク IP アドレスを指定します。net オプションを指定しない場合、キーは /etc/netboot/keystore ファイルに保存され、すべての WAN ブートクライアントで使用可能になります。

    (省略可能) cid=client-ID

    クライアント ID を指定します。クライアント ID は、ユーザーが定義した ID か、DHCP クライアント ID です。cid オプションの前には、net= に有効な値を指定する必要があります。net オプションを指定し、cid オプションを指定しない場合、キーは /etc/netboot/net-ip/keystore ファイルに保存されます。このキーは、net-ip サブネットにあるすべての WAN ブートクライアントで使用可能になります。

    type=key-type

    クライアントの暗号化鍵を作成するよう、wanbootutil keygen ユーティリティに指示します。key-type には、3des または aes という値を指定できます。

  6. クライアントシステムにキーをインストールします。

    クライアントにキーをインストールする方法については、クライアントに対するキーのインストールを参照してください。


例 43–4 HTTPS を介して WAN ブートインストールを実行するために必要なキーを作成する

次の例では、WAN ブートサーバーの HMAC SHA1 マスターキーを作成します。また、サブネット 192.168.255.0 にあるクライアント 010003BA152A42 用に、HMAC SHA1 ハッシュキーと 3DES 暗号化鍵を作成します。

これらのコマンドを実行する前に、まず Web サーバーユーザーと同じユーザー役割になる必要があります。この例の場合、Web サーバーユーザー役割は nobody です。


server# su nobody
Password:
nobody# wanbootutil keygen -m
nobody# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=sha1
nobody# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=3des