安全的 Web 服务器允许 Web 客户机与 Web 服务对话。在安全的 Web 服务器上,不属于 Web 通信的通信必须通过安全检查。以下过程会跳过 Web 通信。此外,此 Web 服务器可以发出不安全的 DNS 客户机请求。所有其他通信都需要使用 AES 和 SHA-1 算法的 ESP。
必须位于全局区域中才能配置 IPsec 策略。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。您已完成了如何使用 IPsec 保证两个系统之间的通信安全,因此实际环境符合以下状况:
两个系统之间的通信受 IPsec 保护。
生成了加密材料(无论是手动生成还是由 IKE 生成)。
已检验是否对包进行了保护。
在系统控制台上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。
确定哪些服务需要跳过安全策略检查。
对于 Web 服务器,这些服务包括 TCP 端口 80 (HTTP) 和 443 (安全 HTTP)。如果 Web 服务器提供 DNS(域名系统)名称查找,则服务器还可能需要针对 TCP(传输控制协议)和 UDP(用户数据报协议)包括端口 53。
为 Web 服务器创建 IPsec 策略,并将其启用。
对于所有 Solaris 发行版,步骤 12 均是可选的。
将以下行添加到 /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-1. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
此配置仅允许安全通信访问系统,跳过检查的例外情况在步骤 4 中进行了介绍。
检验 IPsec 策略文件的语法。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
刷新 IPsec 策略。
# svcadm refresh svc:/network/ipsec/policy:default |
刷新 IPsec 的密钥。
如果在如何使用 IPsec 保证两个系统之间的通信安全的步骤 5 中配置了 IKE,请重新启动 ike 服务。
# svcadm restart svc:/network/ipsec/ike |
如果在如何使用 IPsec 保证两个系统之间的通信安全的步骤 5 中手动配置了密钥,请刷新 manual-key 服务。
# svcadm refresh svc:/network/ipsec/manual-key:default |
您的设置已完成。(可选)您可以执行步骤 12。
在 /etc/inet 目录中为 Web 服务器策略创建一个文件。
以下步骤用于配置运行 Solaris 10 4/09 发行版之前的发行版的 Web 服务器。
为此文件指定一个表明其用途的名称,例如 IPsecWebInitFile。在此文件中键入以下行:
# 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-1. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
此配置仅允许安全通信访问系统,跳过检查的例外情况在步骤 4 中进行了介绍。
将您在步骤 8 中创建的文件的内容复制到 /etc/inet/ipsecinit.conf 文件中。
使用只读权限保护 IPsecWebInitFile 文件。
# chmod 400 IPsecWebInitFile |
在不重新引导的情况下保证 Web 服务器的安全。
选择以下选项之一:
如果您使用 IKE 管理密钥,请停止并重新启动 in.iked 守护进程。
# pkill in.iked # /usr/lib/inet/in.iked |
如果您手动管理密钥,请使用 ipseckey 和 ipsecconf 命令。
请使用 IPsecWebInitFile 作为 ipsecconf 命令的参数。如果您使用 ipsecinit.conf 文件作为参数,则当文件中的策略已经在系统上实现时,ipsecconf 命令会生成错误。
# ipseckey -c -f /etc/inet/secret/ipseckeys # ipsecconf -a /etc/inet/IPsecWebInitFile |
在执行 ipsecconf 命令时应阅读警告。已锁定的套接字(即已使用的套接字)提供了通向系统的不安全的后门。有关更广泛的讨论,请参见ipsecinit.conf 和 ipsecconf 的安全注意事项。该警告也适用于重新启动 in.iked 守护进程。
您也可以重新引导。重新引导可确保 IPsec 策略在所有 TCP 连接上都有效。重新引导时,TCP 连接使用 IPsec 策略文件中的策略。
(可选的)使远程系统与 Web 服务器进行非 Web 通信。
在远程系统的 ipsecinit.conf 文件中键入以下策略:
# Communicate with web server about nonweb stuff # {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
仅当系统的 IPsec 策略匹配时,远程系统才能与 Web 服务器安全地进行非 Web 通信。