在 Oracle® Solaris 11.2 中确保网络安全

退出打印视图

更新时间: 2014 年 9 月
 
 

如何使用 IPsec 保护 Web 服务器与其他服务器的通信

在运行 Web 服务器的系统上可以使用 IPsec 保护除 Web 客户机请求以外的所有通信。受保护的网络通信通常发生在 Web 服务器和其他后端服务器之间。

除了允许 Web 客户机绕过 IPsec 外,此过程中的 IPsec 策略还允许服务器发出 DNS 客户机请求。所有其他通信均受 IPsec 保护。

开始之前

    拥有特定权限的用户可以运行这些命令,不必成为 root

  • 要运行配置命令,您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。

  • 要编辑与 IPsec 相关的系统文件和创建密钥,请使用 pfedit 命令。

  • 要编辑 hosts 文件,您必须承担 root 角色或拥有编辑此文件的显式权限。

有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

如果执行远程管理,请参见Example 7–1在 Oracle Solaris 11.2 中管理安全 Shell 访问 中的如何使用安全 Shell 远程管理 ZFS,了解进行安全的远程登录的说明。

  1. 确定哪些服务需要绕过 IPsec 策略检查。

    对于 Web 服务器,这些服务包括 TCP 端口 80 (HTTP) 和 443 (安全 HTTP)。如果 Web 服务器提供 DNS(域名系统)名称查找,则服务器还可能需要针对 TCP(传输控制协议)和 UDP(用户数据报协议)包括端口 53。

  2. 将 Web 服务器策略添加到 IPsec 策略文件。

    将以下行添加到 ipsecinit.conf 文件:

    # pfedit /etc/inet/ipsecinit.conf
    ...
    # Web traffic that web server should bypass.
    {lport  80 ulp tcp dir both} bypass {}
    {lport 443 ulp tcp dir both} bypass {}
    
    # Outbound DNS lookups should also be bypassed.
    {rport 53 dir both} bypass {}
    
    # Require all other traffic to use ESP with AES and SHA-2.
    # Use a unique SA for outbound traffic from the port
    {} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}

    此配置仅允许安全通信访问系统,绕过检查的例外情况在Step 1 中进行了介绍。

  3. 检验 IPsec 策略文件的语法。
    # ipsecconf -c /etc/inet/ipsecinit.conf
  4. 刷新 IPsec 策略。
    # svcadm refresh ipsec/policy
  5. 刷新 IPsec 的密钥。

    重新启动 ike 服务。

    # svcadm restart ike:ikev2

    注 - 如果与只能运行 IKEv1 协议的系统通信,请指定 ike:default 实例。

    如果手动配置了密钥,请按照如何手动创建 IPsec 密钥中的说明操作。

    您的设置已完成。

  6. (u53ef选) 使远程系统与 Web 服务器进行非 Web 通信。

    将以下行添加到远程系统的 /etc/inet/ipsecinit.conf 文件:

    ## Communicate with web server about nonweb stuff
    ##
    {raddr webserver} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}

    验证语法,然后刷新 IPsec 策略将其激活。

    remote-system # ipsecconf -c /etc/inet/ipsecinit.conf
    remote-system # svcadm refresh ipsec/policy

    仅当系统的 IPsec 策略匹配时,远程系统才能与 Web 服务器安全地进行非 Web 通信。

  7. (u53ef选) 按照匹配项出现的顺序显示 IPsec 策略项,包括每个隧道的项。
    # ipsecconf -L -n