Solaris 9 4/04 安装指南

(可选)使用 HTTPS 保护数据

要在从 WAN Boot 服务器传送到客户机的过程中保护您的数据,可在安全套接字层 (HTTPS) 上使用 HTTP。要使用安全 WAN Boot 安装配置中介绍的更为安全的安装配置,必须启用 Web 服务器以使用 HTTPS。

要启用 WAN Boot 服务器上的 Web 服务器软件以使用 HTTPS,必须执行以下任务。

使用数字证书进行服务器和客户机验证

WAN Boot 安装方法可以使用 PKCS#12 文件在 HTTPS 上通过服务器验证或客户机验证以及服务器验证执行安装。有关使用 PKCS#12 文件的要求和原则,请参见数字证书要求

要在 WAN Boot 安装中使用 PKCS#12 文件,请执行以下任务。

wanbootutil 命令提供了执行前面列表中任务的选项。

在拆分 PKCS#12 文件之前,请在 WAN Boot 服务器上创建 /etc/netboot 分层结构的相应子目录。

创建信任证书和客户机专用密钥
  1. 将同一用户角色假设为 WAN Boot 服务器上的 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

      将 SSL 专用密钥插入客户机的 keystore

      -k keyfile

      指定在上一步中创建的客户机专用密钥文件的名称

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

      指定客户机的 keystore 的路径

      -o type=rsa

      指定密钥类型为 RSA


实例 43–3 创建用于服务器验证的信任证书

在以下实例中,将使用 PKCS#12 文件在子网 192.168.255.0 上安装客户机 010003BA152A42。此命令样例将从名为 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 Boot 安装期间保护数据

通过使用 wanbootutil keygen 命令,可以生成这些密钥并将它们存储在相应的 /etc/netboot 目录中。

创建散列密钥和加密密钥
  1. 将同一用户角色假设为 WAN Boot 服务器上的 Web 服务器用户。

  2. 创建主 HMAC SHA1 密钥。


    # wanbootutil keygen -m
    
    keygen -m

    为 WAN Boot 服务器创建主 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 Boot 客户机使用。

    (可选)cid=client-ID

    指定客户机 ID。客户机 ID 可以是用户定义的 ID,也可以是 DHCP 客户机 ID。cid 选项之前必须有一个有效的 net= 值。如果未指定带有 net 选项的 cid 选项,密钥将存储在 /etc/netboot/net-ip/keystore 文件中。net-ip 子网上的所有 WAN Boot 客户机均可使用此密钥。

    type=sha1

    指示 wanbootutil keygen 公用程序为客户机创建 HMAC SHA1 散列密钥。

  4. 确定是否需要为客户机创建加密密钥。

    您需要创建加密密钥以通过 HTTPS 执行 WAN Boot 安装。在客户机与 WAN Boot 服务器建立 HTTPS 连接之前,WAN Boot 服务器会将加密数据和信息传送至客户机。在安装期间,加密密钥使客户机可以解密此信息并使用此信息。

    • 如果要通过 HTTPS 使用服务器验证执行更安全的 WAN 安装,请继续。

    • 如果只是要检查 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 Boot 客户机使用。

    (可选)cid=client-ID

    指定客户机 ID。客户机 ID 可以是用户定义的 ID,也可以是 DHCP 客户机 ID。cid 选项之前必须有一个有效的 net= 值。如果未指定带有 net 选项的 cid 选项,密钥将存储在 /etc/netboot/net-ip/keystore 文件中。net-ip 子网上的所有 WAN Boot 客户机均可使用此密钥。

    type=key-type

    指示 wanbootutil keygen 公用程序为客户机创建加密密钥。key-type 可以具有 3desaes 的值。

  6. 在客户机系统上安装密钥。

    有关如何在客户机上安装密钥的说明,请参见在客户机上安装密钥


实例 43–4 为使用 HTTPS 的 WAN Boot 安装创建所需的密钥

以下实例可以为 WAN Boot 服务器创建主 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