Solaris 9 9/04 安装指南

(可选)使用 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


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

在以下实例中,您将使用 PKCS#12 文件安装位于子网 192.168.255.0 上的客户机 010003BA152A42。此命令样例从 PKCS#12 文件 client.p12 中提取了一个证书, 然后将信任证书的内容放入客户机的 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 可以具有 3des 的值,也可以具有 aes 的值。

  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