1.10.3. 使用 Elytron 配置域控制器和主机控制器之间的 SSL/TLS
当您将 SSL/TLS 配置为在受管域中的 JBoss EAP 实例之间使用时,每个实例都可以具有客户端或服务器角色,具体取决于交互。这包括所有主机控制器和域控制器。因此,建议您在端点之间设置双向 SSL/TLS。
您可以在受管域中配置 JBoss EAP 实例,以便在主域控制器和主机控制器之间互相通信时使用 SSL/TLS。要使用 Elytron 来完成此操作,请使用以下步骤:
生成和配置所有必要的证书和密钥存储。
为了在端点之间设置双向 SSL/TLS,您需要为主域控制器和每一主机控制器生成和配置证书和密钥存储。您还需要将主控域控制器的证书导入到每一主机控制器的密钥存储中,并将每一主机控制器的证书导入到主控域控制器的密钥存储中。使用 Elytron 子系统的管理接口启用双向 SSL/TLS 中涵盖了此流程的细节。
在主域控制器上添加用户。
用户需要在主域控制器上添加,供从控制器用于身份验证。如果您使用基于文件的默认用户和组身份验证机制,可以通过运行
EAP_HOME/bin/adduser.sh
来完成此操作。出现提示时,添加用户名、密码和其他配置。add-user
实用程序可用于管理ManagementRealm 中的用户和
。ApplicationReal
m 中的用户注意服务器将缓存内存中属性文件的内容。但是,服务器会检查每个身份验证请求上属性文件的修改时间,如果时间已更新,则重新加载。这意味着
add-user
实用程序进行的所有更改都立即应用到任何正在运行的服务器。从控制器尝试使用 HTTP 接口进行身份验证。如果 HTTP 接口已通过
ManagementRealm
Elytron 安全域进行保护,那么您需要向ManagementRealm
添加用户供从控制器使用。注意管理用户的默认域名称为
ManagementRealm
。当add-user
实用程序提示输入域名时,只需接受默认设置,除非您已切换到其他域。以下示例假定使用密码
password1!
的用户从
设备已添加到ManagementRealm
。将主域控制器配置为使用 SSL/TLS。
以下命令为服务器密钥存储
和信任存储配置域控制器
、的
、key-managerkey-
storetrusted-manager 和 server-ssl-context
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要您需要了解您使用的 JDK 提供了哪些关键管理器算法。例如 ,使用 SunJSSE 的 JDK 提供
PKIX
和SunX509
算法。您还需要确定您要支持的 HTTPS 协议。以上示例命令使用TLSv1.2
。您可以使用cipher-suite-filter
参数指定允许哪些密码套件,以及使用-cipher-suites-order
参数来执行服务器密码套件顺序。使用-cipher-suites-order
属性默认设置为true
。这与旧的安全
子系统行为不同,后者默认为遵从客户端密码套件顺序。在每个从属主机控制器上配置身份验证上下文和域控制器位置。
以下示例配置假定
localhost
上存在域控制器:确保为您的环境指定正确的管理用户、密码和域控制器位置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将每个从属主机控制器配置为使用 SSL/TLS。
以下命令配置从属主机控制器的
key-store、key
-manager
、trusted-manager
、client-ssl-context
(用于服务器密钥存储和信任存储)以及authentication-context
。以下示例配置假定
localhost
上存在域控制器:确保为您的环境指定正确的域控制器位置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 重新加载受管域中的所有 JBoss EAP 主机。