系统管理指南:IP 服务

Procedure如何使用 IPsec 保证两个系统之间的通信安全

假设此过程具有以下设置:

开始之前

必须位于全局区域中才能为系统或共享 IP 区域配置 IPsec 策略。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。

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

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


    注 –

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


  2. 在每个系统上,检查主机项。

    在当前发行版中,将主机项添加到 /etc/inet/hosts 文件。

    在运行 Solaris 10 7/07 之前的发行版的系统上,将 IPv4 和 IPv6 项添加到 /etc/inet/ipnodes 文件中。一个系统的项在文件中必须是连续的。有关系统配置文件的更多信息,请参见TCP/IP 配置文件第 11 章

    如果您仅连接具有 IPv4 地址的系统,则需要修改 /etc/inet/hosts 文件。在此示例中,连接的系统运行的是早期的 Solaris 发行版并且使用的是 IPv6 地址。

    1. 在名为 enigma 的系统上,将以下内容键入到 hostsipnodes 文件中:


      # Secure communication with partym
      192.168.13.213 partym
      2001::eeee:3333:3333 partym
    2. 在名为 partym 的系统上,将以下内容键入到 hostsipnodes 文件中:


      # Secure communication with enigma
      192.168.116.16 enigma
      2001::aaaa:6666:6666 enigma

    将名称服务用于符号名称是不安全的。

  3. 在每个系统上,创建 IPsec 策略文件。

    该文件名为 /etc/inet/ipsecinit.conf。有关示例,请参见 /etc/inet/ipsecinit.sample 文件。

  4. 将 IPsec 策略项添加到 ipsecinit.conf 文件。

    1. enigma 系统上添加以下策略:


      {laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. partym 系统上添加相同的策略:


      {laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

      有关 IPsec 策略项的语法,请参见 ipsecconf(1M) 手册页。

  5. 在每个系统上,添加两个系统之间的一对 IPsec SA。

    您可以配置 Internet 密钥交换 (Internet Key Exchange, IKE) 来自动创建 SA,也可以手动添加 SA。


    注 –

    您应该使用 IKE,除非您有充分的理由手动生成和维护密钥。IKE 密钥管理比手动密钥管理更为安全。


  6. 启用 IPsec 策略。

    • 如果您运行的是 Solaris 10 4/09 发行版之前的发行版,请重新引导系统。


      # init 6
      

      然后,转至如何检验包是否受 IPsec 保护

    • 从 Solaris 10 4/09 发行版开始,请刷新 IPsec 服务并启用密钥管理服务。

      完成步骤 7步骤 10

  7. 检验 IPsec 策略文件的语法。


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    

    修复任何错误、检验文件的语法,然后继续。

  8. 刷新 IPsec 策略。


    # svcadm refresh svc:/network/ipsec/policy:default
    

    IPsec 策略缺省情况下处于启用状态,因此要对其进行刷新。如果您已禁用了 IPsec 策略,请将其启用。


    # svcadm enable svc:/network/ipsec/policy:default
    
  9. 激活 IPsec 的密钥。

    • 如果在步骤 5 中配置了 IKE,请执行以下操作之一:

      • 如果未启用 ike 服务,请将其启用。


        # svcadm enable svc:/network/ipsec/ike:default
        
      • 如果已启用 ike 服务,请重新启动此服务。


        # svcadm restart svc:/network/ipsec/ike:default
        
    • 如果在步骤 5 中手动配置了密钥,请执行以下操作之一:

      • 如果未启用 manual-key 服务,请将其启用。


        # svcadm enable svc:/network/ipsec/manual-key:default
        
      • 如果已启用 manual-key 服务,请刷新此服务。


        # svcadm refresh svc:/network/ipsec/manual-key:default
        
  10. 验证是否对包进行了保护。

    有关过程,请参见如何检验包是否受 IPsec 保护


示例 20–1 使用 ssh 连接时添加 IPsc 策略

在此示例中,管理员作为超级用户通过使用 ssh 命令访问第二个系统,在两个系统上配置 IPsc 策略和密钥。有关更多信息,请参见 ssh(1) 手册页。

下次这两个系统进行通信(包括使用 ssh 连接)时,此通信将会受 IPsec 保护。



示例 20–2 在不重新引导的情况下使用 IPsec 保证通信安全

以下示例适用于运行 Solaris 10 4/09 发行版之前的发行版的情况。即,在您的发行版中,不将 IPsec 作为服务来管理。此示例介绍了如何在测试环境中实现 IPsec。在生产环境中,重新引导比运行 ipsecconf 命令更为安全。有关安全注意事项,请参见此示例的结尾。

选择以下选项之一,而不是在步骤 6 进行重新引导:

安全注意事项-请在执行 ipsecconf 命令时阅读警告。已锁定的套接字(即已使用的套接字)提供了通向系统的不安全的后门。有关更广泛的讨论,请参见ipsecinit.confipsecconf 的安全注意事项