JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:IP 服务     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分系统管理介绍:IP 服务

1.  Oracle Solaris TCP/IP 协议套件(概述)

第 2 部分TCP/IP 管理

2.  规划 TCP/IP 网络(任务)

3.  IPv6 介绍(概述)

4.  规划 IPv6 网络(任务)

5.  配置 TCP/IP 网络服务和 IPv4 寻址(任务)

6.  管理网络接口(任务)

7.  配置 IPv6 网络(任务)

8.  管理 TCP/IP 网络(任务)

9.  对网络问题进行故障排除(任务)

10.  TCP/IP 和 IPv4 详解(参考)

11.  IPv6 详解(参考)

第 3 部分DHCP

12.  关于 DHCP(概述)

13.  规划 DHCP 服务(任务)

14.  配置 DHCP 服务(任务)

15.  管理 DHCP(任务)

16.  配置和管理 DHCP 客户机

17.  对 DHCP 问题进行故障排除(参考)

18.  DHCP 命令和文件(参考信息)

第 4 部分IP 安全性

19.  IP 安全体系结构(概述)

20.  配置 IPsec(任务)

21.  IP 安全体系结构(参考信息)

22.  Internet 密钥交换(概述)

23.  配置 IKE(任务)

配置 IKE(任务列表)

使用预先共享的密钥配置 IKE(任务列表)

使用预先共享的密钥配置 IKE

如何使用预先共享的密钥配置 IKE

如何刷新 IKE 预先共享密钥

如何查看 IKE 预先共享密钥

如何为 ipsecinit.conf 中的新策略项添加 IKE 预先共享密钥

如何检验 IKE 预先共享密钥是否完全相同

使用公钥证书配置 IKE(任务列表)

使用公钥证书配置 IKE

如何使用自签名的公钥证书配置 IKE

如何使用 CA 签名的证书配置 IKE

如何在硬件中生成和存储公钥证书

如何处理证书撤销列表

为移动系统配置 IKE(任务列表)

为移动系统配置 IKE

如何为站点外系统配置 IKE

将 IKE 配置为查找连接的硬件(任务列表)

将 IKE 配置为查找连接的硬件

如何将 IKE 配置为查找 Sun Crypto Accelerator 1000 板

如何将 IKE 配置为查找 Sun Crypto Accelerator 4000 板

如何将 IKE 配置为查找 Sun Crypto Accelerator 6000 板

更改 IKE 传输参数(任务列表)

更改 IKE 传输参数

如何更改阶段 1 IKE 密钥协商的持续时间

24.  Internet 密钥交换(参考信息)

25.  Oracle Solaris 中的 IP 过滤器(概述)

26.  IP 过滤器(任务)

第 5 部分IPMP

27.  IPMP 介绍(概述)

28.  管理 IPMP(任务)

第 6 部分IP 服务质量 (IP Quality of Service, IPQoS)

29.  IPQoS 介绍(概述)

30.  规划启用了 IPQoS 的网络(任务)

31.  创建 IPQoS 配置文件(任务)

32.  启动和维护 IPQoS(任务)

33.  使用流记帐和统计信息收集功能(任务)

34.  IPQoS 的详细介绍(参考信息)

词汇表

索引

使用预先共享的密钥配置 IKE

使用预先共享的密钥是验证 IKE 的最简单方法。如果要将两个系统配置为使用 IKE,而且您是这两个系统的管理员,则使用预先共享的密钥是一个良好的选择。但是,与公钥证书不同,预先共享的密钥与特定的 IP 地址相关联。预先共享的密钥不能用于移动系统或可能重新编号的系统。

如何使用预先共享的密钥配置 IKE

IKE 实现提供了采用可变密钥长度的算法。所选的密钥长度是由站点安全性确定的。通常,密钥越长,提供的安全性就越高。

以下过程使用系统名称 enigmapartym。请用您的系统名称替换名称 enigmapartym

  1. 在系统控制台上,承担主管理员角色或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。有关如何创建该角色并将其指定给用户,请参见《Oracle Solaris 管理:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"


    注 - 远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。


  2. 在每个系统上,将文件 /etc/inet/ike/config.sample 复制到文件 /etc/inet/ike/config
  3. 在每个系统上的 ike/config 文件中输入规则和全局参数。

    此文件中的规则和全局参数应该允许系统的 ipsecinit.conf 文件中的 IPsec 策略可以成功实施。以下是与如何使用 IPsec 保证两个系统之间的通信安全中的 ipsecinit.conf 示例配合使用的 ike/config 示例。

    1. 例如,在 enigma 系统上修改 /etc/inet/ike/config 文件:
      ### ike/config file on enigma, 192.168.116.16
      
      ## Global parameters
      #
      ## Phase 1 transform defaults
      p1_lifetime_secs 14400
      p1_nonce_len 40
      #
      ## Defaults that individual rules can override.
      p1_xform
        { auth_method preshared oakley_group 5 auth_alg sha encr_alg 3des }
      p2_pfs 2
      #
      ## The rule to communicate with partym
      #  Label must be unique
      { label "enigma-partym"
        local_addr 192.168.116.16
        remote_addr 192.168.13.213
        p1_xform
          { auth_method preshared oakley_group 5 auth_alg sha1 encr_alg aes }
        p2_pfs 5
      }
    2. partym 系统上修改 /etc/inet/ike/config 文件:
      ### ike/config file on partym, 192.168.13.213
      ## Global Parameters
      #
      p1_lifetime_secs 14400
      p1_nonce_len 40
      #
      p1_xform
        { auth_method preshared oakley_group 5 auth_alg sha encr_alg 3des }
      p2_pfs 2
      
      ## The rule to communicate with enigma
      #  Label must be unique
      { label "partym-enigma"
        local_addr 192.168.13.213
        remote_addr 192.168.116.16
      p1_xform
        { auth_method preshared oakley_group 5 auth_alg sha1 encr_alg aes }
      p2_pfs 5
      }
  4. 在每个系统上,检验该文件的语法。
    # /usr/lib/inet/in.iked -c -f /etc/inet/ike/config
  5. 生成随机数以用作加密材料。

    如果站点具有随机数生成器,请使用该生成器。在 Oracle Solaris 10 系统上,可以使用 od 命令。例如,以下命令列显两行十六进制数:

    % od -X -A n /dev/random | head -2
             f47cb0f4 32e14480 951095f8 2b735ba8
             0a9467d0 8f92c880 68b6a40e 0efe067d

    有关 od 命令的说明,请参见如何在 Oracle Solaris 系统上生成随机数od(1) 手册页。


    注 - 其他操作系统可能需要 ASCII 加密材料。要以十六进制格式和 ASCII 格式生成相同的密钥,请参见示例 23-1


  6. 利用步骤 5 的输出构造一个密钥。
    f47cb0f432e14480951095f82b735ba80a9467d08f92c88068b6a40e

    此过程中的验证算法是 SHA–1,如步骤 3 所示。散列的大小(即验证算法输出的大小)确定预先共享密钥的最小建议大小。SHA–1 算法的输出是 160 位或 40 个字符。示例密钥的长度是 56 个字符,这将提供其他加密材料供 IKE 使用。

  7. 在每个系统上创建文件 /etc/inet/secret/ike.preshared

    在每个文件中放置预先共享的密钥。

    1. 例如,在 enigma 系统上,ike.preshared 文件的显示与以下信息类似:
      # ike.preshared on enigma, 192.168.116.16
      #…
      { localidtype IP
          localid 192.168.116.16
          remoteidtype IP
          remoteid 192.168.13.213
          # enigma and partym's shared key in hex (192 bits)
          key f47cb0f432e14480951095f82b735ba80a9467d08f92c88068b6a40e
          }
    2. partym 系统上,ike.preshared 文件的显示与以下信息类似:
      # ike.preshared on partym, 192.168.13.213
      #…
      { localidtype IP
          localid 192.168.13.213
          remoteidtype IP
          remoteid 192.168.116.16
          # partym and enigma's shared key in hex (192 bits)
          key f47cb0f432e14480951095f82b735ba80a9467d08f92c88068b6a40e
          }

    注 - 每个系统上的预先共享密钥必须完全相同。


示例 23-1 为运行不同操作系统的两个系统生成相同的加密材料

Oracle Solaris 的 IPsec 功能可与其他操作系统上的 IPsec 交互操作。如果您的系统与需要 ASCII 预先共享密钥的系统通信,则需要以两种格式(十六进制格式和 ASCII 格式)生成一个密钥。

在此示例中,Oracle Solaris 系统管理员需要 56 个字符的加密材料。该管理员使用以下命令从 ASCII 口令短语中生成十六进制的密钥。在所有 Oracle Solaris 系统中,-tx1 选项每次输出一个字节。

# /bin/echo "papiermache with cashews and\c" | od -tx1 | cut -c 8-55 | \
tr -d '\n' | tr -d ' ' | awk '{print}'
7061706965726d616368652077697468206361736865777320616e64

通过删除偏移和串联十六进制输出,Oracle Solaris 系统的十六进制密钥为 7061706965726d616368652077697468206361736865777320616e64 。管理员可以将该值放入 Oracle Solaris 系统上的 ike.preshared 文件中。

# Shared key in hex (192 bits)
key 7061706965726d616368652077697468206361736865777320616e64

在需要 ASCII 预先共享密钥的系统中,口令短语就是预先共享的密钥。Oracle Solaris 系统管理员使用口令短语 papiermache with cashews and 给其他管理员打电话。

如何刷新 IKE 预先共享密钥

此过程假定您希望按固定的时间间隔替换现有的预先共享密钥。

  1. 在系统控制台上,承担主管理员角色或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。有关如何创建该角色并将其指定给用户,请参见《Oracle Solaris 管理:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"


    注 - 远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。


  2. 生成随机数,并构造适当长度的密钥。

    有关详细信息,请参见如何在 Oracle Solaris 系统上生成随机数。如果要生成预先共享密钥的 Oracle Solaris 系统与需要 ASCII 的操作系统通信,请参见示例 23-1

  3. 将当前密钥替换为新密钥。

    例如,在主机 enigmapartym 上,将 /etc/inet/secret/ike.preshared 文件中 key 的值替换为一个相同长度的新数值。

  4. 将新密钥读入内核。
    • 从 Solaris 10 4/09 发行版开始,请重新启动 ike 服务。
      # svcadm enable ike
    • 如果您运行的是 Solaris 10 4/09 发行版之前的发行版,请中止并重新启动 in.iked 守护进程。
      1. 检查 in.iked 守护进程的特权级别。
        # /usr/sbin/ikeadm get priv
        Current privilege level is 0x0, base privileges enabled

        如果该命令返回特权级别 0x10x2,则您可以更改加密材料。级别 0x0 不允许执行修改或查看加密材料的操作。缺省情况下,in.iked 守护进程按特权级别 0x0 运行。

      2. 如果特权级别是 0x0,请先中止再重新启动该守护进程。

        守护进程重新启动时,它将读取新版本的 ike.preshared 文件。

        # pkill in.iked
        # /usr/lib/inet/in.iked
      3. 如果特权级别是 0x10x2,则读入新版本的 ike.preshared 文件。
        # ikeadm read preshared

如何查看 IKE 预先共享密钥

缺省情况下,ikeadm 命令会阻止您在阶段 1 SA 的转储中查看实际密钥。在调试期间查看密钥很有用。

要查看实际密钥,您必须提高守护进程的特权级别。有关特权级别的说明,请参见ikeadm 命令


注 - 要在 Solaris 10 4/09 发行版之前的发行版中执行此过程,请参见示例 23-2


开始之前

已配置 IKE,并且 ike 服务正在运行。

  1. 查看 IKE 预先共享密钥。
    # ikeadm
    ikeadm> dump preshared
  2. 如果出现错误,请提高 in.iked 守护进程的特权级别。
    1. 提高 SMF 系统信息库中 in.iked 守护进程的特权级别。
      # svcprop -p config/admin_privilege ike
      base
      # svccfg -s ike setprop config/admin_privilege=keymat
    2. 提高正在运行的 in.iked 守护进程的特权级别。
      # svcadm refresh ike ; svcadm restart ike
    3. 可选确认特权级别为 keymat
      # svcprop -p config/admin_privilege ike
      keymat
    4. 通过再次运行步骤 1 查看密钥。
  3. 将 IKE 守护进程恢复为 base 特权级别。
    1. 查看密钥后,将特权级别恢复为缺省级别。
      # svccfg -s ike setprop config/admin_privilege=base
    2. 刷新 IKE,然后再重新启动 IKE。
      # svcadm refresh ike ; svcadm restart ike

示例 23-2 在 Solaris 10 4/09 发行版之前的发行版中检验 IKE 预先共享密钥

在以下示例中,管理员要在运行非当前 Oracle Solaris 10 发行版的 Solaris 系统中查看密钥。管理员想要检验该系统中的密钥是否与通信系统中的密钥完全相同。检验两个系统中的密钥是否完全相同后,管理员将特权级别恢复为 0。

如何为 ipsecinit.conf 中的新策略项添加 IKE 预先共享密钥

如果将 IPsec 策略项添加到相同对等方之间的工作配置,则需要刷新 IPsec 策略服务。无需重新配置或重新启动 IKE。

如果将新的对等方添加到 IPsec 策略,则除了进行 IPsec 更改之外,还必须修改 IKE 配置。


注 - 要在 Solaris 10 4/09 发行版之前的发行版中执行此过程,请参见示例 23-3


开始之前

您已更新了对等方系统的 ipsecinit.conf 文件并刷新了 IPsec 策略。

  1. 在系统控制台上,承担主管理员角色或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。有关如何创建该角色并将其指定给用户,请参见《Oracle Solaris 管理:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"


    注 - 远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。


  2. 在此系统中,生成随机数,并构造一个 64 位到 448 位的密钥。

    有关详细信息,请参见如何在 Oracle Solaris 系统上生成随机数。如果要生成预先共享密钥的 Oracle Solaris 系统与需要 ASCII 的操作系统通信,请参见示例 23-1

  3. 以某种方法将密钥发送给远程系统的管理员。

    需要同时添加相同的预先共享密钥。密钥的安全性仅与传输机制的安全性相同。带外机制(如已注册的邮件或受保护的传真机)是最佳的。您也可以使用 ssh 会话管理这两个系统。

  4. 为 IKE 创建一个规则以管理 enigma 和新的对等方 ada 的密钥。
    1. enigma 系统上,将以下规则添加到 /etc/inet/ike/config 文件:
      ### ike/config file on enigma, 192.168.116.16
       
      ## The rule to communicate with ada
      
      {label "enigma-to-ada"
       local_addr 192.168.116.16
       remote_addr 192.168.15.7
       p1_xform
       {auth_method preshared oakley_group 5 auth_alg sha1 encr_alg blowfish}
       p2_pfs 5
          }
    2. ada 系统上,添加以下规则:
      ### ike/config file on ada, 192.168.15.7
       
      ## The rule to communicate with enigma
      
      {label "ada-to-enigma"
       local_addr 192.168.15.7
       remote_addr 192.168.116.16
       p1_xform
       {auth_method preshared oakley_group 5 auth_alg sha1 encr_alg blowfish}
       p2_pfs 5
      }
  5. 确保 IKE 预先共享密钥在重新引导时是可用的。
    1. enigma 系统上,将以下信息添加到 /etc/inet/secret/ike.preshared 文件:
      # ike.preshared on enigma for the ada interface
      # 
      { localidtype IP
        localid 192.168.116.16
        remoteidtype IP
        remoteid 192.168.15.7
        # enigma and ada's shared key in hex (32 - 448 bits required)
        key 8d1fb4ee500e2bea071deb2e781cb48374411af5a9671714672bb1749ad9364d
      }
    2. ada 系统上,将以下信息添加到 ike.preshared 文件:
      # ike.preshared on ada for the enigma interface
      # 
      { localidtype IP
        localid 192.168.15.7
        remoteidtype IP
        remoteid 192.168.116.16
        # ada and enigma's shared key in hex (32 - 448 bits required)
        key 8d1fb4ee500e2bea071deb2e781cb48374411af5a9671714672bb1749ad9364d
      }
  6. 在每个系统上,刷新 ike 服务。
    # svcadm refresh ike
  7. 检验系统是否可以进行通信。

    请参见如何检验 IKE 预先共享密钥是否完全相同

示例 23-3 为新的 IPsec 策略项添加 IKE 预先共享密钥

在以下示例中,管理员要将预先共享的密钥添加到运行非当前 Oracle Solaris 10 发行版的 Solaris 系统。管理员遵循前面的过程来修改 ike/configike.preshared 文件,然后生成密钥并联系远程系统。

接下来的步骤

如果建立 IPsec 策略未完成,请返回到 IPsec 过程以启用或刷新 IPsec 策略。

如何检验 IKE 预先共享密钥是否完全相同

如果通信系统上的预先共享密钥不是完全相同的,则系统无法进行验证。

开始之前

在要测试的两个系统之间已配置并启用 IPsec。您运行的是当前 Oracle Solaris 10 发行版。


注 - 要在 Solaris 10 4/09 发行版之前的发行版中执行此过程,请参见示例 23-2


  1. 在系统控制台上,承担主管理员角色或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。有关如何创建该角色并将其指定给用户,请参见《Oracle Solaris 管理:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"


    注 - 远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。


  2. 在每个系统上,检查 in.iked 守护进程的权限级别。
    # svcprop -p config/admin_privilege ike
    base
    • 如果特权级别为 keymat,请继续执行步骤 3
    • 如果权限级别为 basemodkeys,请提高权限级别。

      然后,刷新并重新启动 ike 服务。

      # svccfg -s ike setprop config/admin_privilege=keymat
      # svcadm refresh ike ; svcadm restart ike
      # svcprop -p config/admin_privilege ike
      keymat
  3. 在每个系统上,查看预先共享密钥的信息。
    # ikeadm dump preshared
    PSKEY: Preshared key (24 bytes): f47cb…/192
    LOCIP: AF_INET: port 0, 192.168.116.16 (enigma).
    REMIP: AF_INET: port 0, 192.168.13.213 (partym).
  4. 比较两个转储。

    如果预先共享的密钥不是完全相同的,则在 /etc/inet/secret/ike.preshared 文件中将一个密钥替换为另一个密钥。

  5. 检验完成后,在每个系统中将特权级别恢复为缺省级别。
    # svccfg -s ike setprop config/admin_privilege=base
    # svcadm restart ike