跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:IP 服务 Oracle Solaris 11 Information Library (简体中文) |
本节提供保证两个系统之间的通信安全以及保证 Web 服务器的安全的过程。要保护 VPN,请参见使用 IPsec 保护 VPN。有关管理 IPsec 以及将 SMF 命令与 IPsec 和 IKE 结合使用的其他过程,请参见管理 IPsec 和 IKE。
以下信息适用于所有的 IPsec 配置任务:
IPsec 和区域-要管理共享 IP 非全局区域的 IPsec 策略和密钥,请在全局区域中创建 IPsec 策略文件,然后从全局区域运行 IPsec 配置命令。请使用对应于要配置的非全局区域的源地址。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。
IPsec 和 RBAC-要使用角色来管理 IPsec,请参见《Oracle Solaris 管理:安全服务》中的第 9 章 "使用基于角色的访问控制(任务)"。有关示例,请参见如何配置网络安全角色。
IPsec 和 SCTP-可以使用 IPsec 来保护流控制传输协议 (Streams Control Transmission Protocol, SCTP) 关联,但使用时必须谨慎。有关更多信息,请参见IPsec 和 SCTP。
IPsec 和 Trusted Extensions 标签-在配置有 Oracle Solaris 的 Trusted Extensions 功能的系统上,可以为 IPsec 包添加标签。有关更多信息,请参见《Trusted Extensions 配置和管理》中的"有标签 IPsec 的管理"。
IPv4 和 IPv6 地址-本指南中的 IPsec 示例使用 IPv4 地址。Oracle Solaris 还支持 IPv6 地址。要为 IPv6 网络配置 IPsec,请将示例中的地址替换为对应的 IPv6 地址。使用 IPsec 保护隧道时,您可以对内部地址和外部地址混用 IPv4 和 IPv6 地址。例如,通过此类配置,可以在 IPv4 网络上以隧道方式传输 IPv6。
以下任务列表提供了指向在一个或多个系统之间设置 IPsec 的过程的链接。ipsecconf(1M)、ipseckey(1M) 和 ipadm(1M) 手册页也在各自的“示例”部分中介绍了有用的过程。
|
假设此过程具有以下设置:
两个系统的名称为 enigma 和 partym。
每个系统都有 IP 地址。该地址可以是 IPv4 地址、IPv6 地址或这两类地址。
每个系统都需要采用 AES 算法的 ESP 加密(此算法需要 128 位的密钥)和采用 SHA-2 消息摘要算法的 ESP 验证(此算法需要 512 位的密钥)。
每个系统都使用共享安全关联。
如果使用共享 SA,则仅需要一对 SA 来保护两个系统。
注 - 要在 Trusted Extensions 系统上使用带标签的 IPsec,请参见《Trusted Extensions 配置和管理》中的"如何在多级别 Trusted Extensions 网络中应用 IPsec 保护"中此过程的扩展。
开始之前
可以在全局区域或专用 IP 栈区域中配置 IPsec 策略。共享 IP 栈区域的策略必须在全局区域中配置。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。如果您以远程方式登录,请使用 ssh 命令实现安全的远程登录。有关示例,请参见示例 15-1。
此步骤使服务管理工具 (Service Management Facility, SMF) 能够使用系统名称,而不需要依赖于不存在的命名服务。有关更多信息,请参见 smf(5) 手册页。
# Secure communication with enigma 192.168.116.16 enigma
# Secure communication with partym 192.168.13.213 partym
该文件名为 /etc/inet/ipsecinit.conf。有关示例,请参见 /etc/inet/ipsecinit.sample 文件。
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
有关 IPsec 策略项的语法,请参见 ipsecconf(1M) 手册页。
按照配置 IKE(任务列表)中的配置过程之一来配置 IKE。有关 IKE 配置文件的语法,请参见 ike.config(4) 手册页。
# ipsecconf -c -f /etc/inet/ipsecinit.conf
修复任何错误、检验文件的语法,然后继续。
# svcadm refresh svc:/network/ipsec/policy:default
IPsec 策略缺省情况下处于启用状态,因此要对其进行刷新。如果您已禁用了 IPsec 策略,请将其启用。
# svcadm enable svc:/network/ipsec/policy:default
# svcadm enable svc:/network/ipsec/ike:default
# svcadm restart svc:/network/ipsec/ike:default
如果在步骤 5中手动配置了密钥,请完成如何手动创建 IPsec 密钥以激活密钥。
有关过程,请参见如何检验包是否受 IPsec 保护。
示例 15-1 使用 ssh 连接时添加 IPsc 策略
在此示例中,root 角色的管理员通过使用 ssh 命令访问第二个系统,在两个系统上配置 IPsec 策略和密钥。有关更多信息,请参见 ssh(1) 手册页。
接着,在不同的终端窗口中,管理员使用 ssh 命令登录到第二个系统。
local-system # ssh other-system other-system #
然后,管理员结束 ssh 会话。
other-system # exit local-system #
下次这两个系统进行通信(包括使用 ssh 连接)时,此通信将会受 IPsec 保护。
安全的 Web 服务器允许 Web 客户机与 Web 服务对话。在安全的 Web 服务器上,不属于 Web 通信的通信必须通过安全检查。以下过程会绕过 Web 通信。此外,此 Web 服务器可以发出不安全的 DNS 客户机请求。所有其他通信都需要使用 AES 和 SHA-2 算法的 ESP。
开始之前
必须位于全局区域中才能配置 IPsec 策略。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。您已完成了如何使用 IPsec 保证两个系统之间的通信安全,因此实际环境符合以下状况:
两个系统之间的通信受 IPsec 保护。
生成了加密材料。
已检验是否对包进行了保护。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。如果您以远程方式登录,请使用 ssh 命令实现安全的远程登录。有关示例,请参见示例 15-1。
对于 Web 服务器,这些服务包括 TCP 端口 80 (HTTP) 和 443 (安全 HTTP)。如果 Web 服务器提供 DNS(域名系统)名称查找,则服务器还可能需要针对 TCP(传输控制协议)和 UDP(用户数据报协议)包括端口 53。
将以下行添加到 /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}
此配置仅允许安全通信访问系统,绕过检查的例外情况在步骤 2 中进行了介绍。
# ipsecconf -c -f /etc/inet/ipsecinit.conf
# svcadm refresh svc:/network/ipsec/policy:default
重新启动 ike 服务。
# svcadm restart svc:/network/ipsec/ike
如果手动配置了密钥,请按照如何手动创建 IPsec 密钥中的说明操作。
您的设置已完成。(可选)您可以执行步骤 7。
将以下行添加到远程系统的 /etc/inet/ipsecinit.conf 文件:
# Communicate with web server about nonweb stuff # {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
验证语法,然后刷新 IPsec 策略将其激活。
remote-system # ipsecconf -c -f /etc/inet/ipsecinit.conf remote-system # svcadm refresh svc:/network/ipsec/policy:default
仅当系统的 IPsec 策略匹配时,远程系统才能与 Web 服务器安全地进行非 Web 通信。
当您发出不带任何参数的 ipsecconf 命令时,便可以查看在系统中配置的策略。
开始之前
必须在全局区域中运行 ipsecconf 命令。对于专用 IP 区域,请在非全局区域中运行 ipsecconf 命令。
要为网络安全创建独立角色并将该角色指定给用户,请参见如何配置网络安全角色。