Solaris 9 12/03 安装指南

(可选)使用 HTTPS 保护数据

要在从 WAN Boot 服务器向客户机传送数据期间保护数据,可以使用基于安全套接字层的 HTTP(即 HTTPS)。要使用安全 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


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

在以下实例中,将使用 PKCS#12 文件在子网 192.168.255.0 上安装客户机 010003BA152A42。此命令样例将从名为 client.p12 的 PKCS#12 文件中提取证书。然后将信任证书的内容放在客户机的 truststore 文件中。


# wanbootutil p12split -i client.p12 \
   -t /etc/netboot/192.168.255.0/010003BA152A42/truststore
# 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. 在客户机系统中安装这些密钥。

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


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

以下实例可以为 WAN Boot 服务器创建主 HMAC SHA1 密钥。此实例还可以为子网 192.168.255.0 上的客户机 01832AA440 创建 HMAC SHA1 散列密钥和 3DES 加密密钥。


# wanbootutil keygen -m
# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=sha1
# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=3des