跳过导航链接 | |
退出打印视图 | |
在 Oracle Solaris 11.1 中保护网络安全 Oracle Solaris 11.1 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 11.1 管理:安全服务》中的第 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 策略。
要运行配置命令,您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。要编辑系统文件并创建密钥,您必须承担 root 角色。有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"。
如果您以远程方式登录,请使用 ssh 命令实现安全的远程登录。有关示例,请参见示例 7-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 -f -c /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
如果在步骤 4 中手动配置了密钥,请完成如何手动创建 IPsec 密钥以激活密钥。
有关过程,请参见如何检验包是否受 IPsec 保护。
示例 7-1 使用 ssh 连接时添加 IPsc 策略
在此示例中,root 角色的管理员通过使用 ssh 命令访问第二个系统,在两个系统上配置 IPsec 策略和密钥。管理员在两个系统上具有相同的定义。有关更多信息,请参见 ssh(1) 手册页。
接着,在不同的终端窗口中,管理员使用定义相同的用户名和 ID 通过 ssh 命令远程登录。
local-system $ ssh -l jdoe other-system other-system $ su - root Enter password: other-system #
然后,管理员结束 ssh 会话。
other-system # exit local-system $ exit
下次这两个系统进行通信(包括使用 ssh 连接)时,此通信将会受 IPsec 保护。
安全的 Web 服务器允许 Web 客户机与 Web 服务对话。在安全的 Web 服务器上,不属于 Web 通信的通信必须通过安全检查。以下过程会绕过 Web 通信。此外,此 Web 服务器可以发出不安全的 DNS 客户机请求。所有其他通信都需要使用 AES 和 SHA-2 算法的 ESP。
开始之前
必须位于全局区域中才能配置 IPsec 策略。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。
您已完成了如何使用 IPsec 保证两个系统之间的通信安全,因此实际环境符合以下状况:
两个系统之间的通信受 IPsec 保护。
生成了加密材料。
已检验是否对包进行了保护。
要运行配置命令,您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。要编辑系统文件,您必须承担 root 角色。有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"。
如果您以远程方式登录,请使用 ssh 命令实现安全的远程登录。有关示例,请参见示例 7-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}
此配置仅允许安全通信访问系统,绕过检查的例外情况在步骤 1 中进行了介绍。
# ipsecconf -f -c /etc/inet/ipsecinit.conf
# svcadm refresh svc:/network/ipsec/policy:default
重新启动 ike 服务。
# svcadm restart svc:/network/ipsec/ike
如果手动配置了密钥,请按照如何手动创建 IPsec 密钥中的说明操作。
您的设置已完成。(可选)您可以执行步骤 6。
将以下行添加到远程系统的 /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 -f -c /etc/inet/ipsecinit.conf remote-system # svcadm refresh svc:/network/ipsec/policy:default
仅当系统的 IPsec 策略匹配时,远程系统才能与 Web 服务器安全地进行非 Web 通信。
当您发出不带任何参数的 ipsecconf 命令时,便可以查看在系统中配置的策略。
开始之前
必须在全局区域中运行 ipsecconf 命令。对于专用 IP 区域,请在非全局区域中运行 ipsecconf 命令。
您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"。