1.2.5. 使用 Elytron 子系统为管理接口启用单向 SSL/TLS
在 JBoss EAP 中,您可以使用 JBoss EAP 管理 CLI 或管理控制台为管理接口启用单向 SSL/TLS。
在管理 CLI 中,可通过两种方式启用单向 SSL/TLS:
- 使用 security 命令.
-
使用
elytron
子系统命令.
使用安全命令
security enable-ssl-management
命令可用于为管理接口启用单向 SSL/TLS。
示例:向导使用
执行命令后,管理 CLI 将重新加载服务器并重新连接该服务器。
使用 Elytron 子系统命令
elytron
子系统命令也可用于为管理接口启用单向 SSL/TLS。
配置
密钥存储.
/subsystem=elytron/key-store=httpsKS:add(path=keystore.jks,relative-to=jboss.server.config.dir,credential-reference={clear-text=secret},type=JKS)
/subsystem=elytron/key-store=httpsKS:add(path=keystore.jks,relative-to=jboss.server.config.dir,credential-reference={clear-text=secret},type=JKS)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意以上命令使用
relative-to
来引用密钥存储文件的位置。或者,您可以在路径中指定密钥存储的完整路径
,并省略relative-to
。如果密钥存储文件尚不存在,使用以下命令来生成示例密钥对:
/subsystem=elytron/key-store=httpsKS:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,credential-reference={clear-text=secret},distinguished-name="CN=localhost") /subsystem=elytron/key-store=httpsKS:store()
/subsystem=elytron/key-store=httpsKS:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,credential-reference={clear-text=secret},distinguished-name="CN=localhost") /subsystem=elytron/key-store=httpsKS:store()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
key-manager
和server-ssl-context
。/subsystem=elytron/key-manager=httpsKM:add(key-store=httpsKS,algorithm="SunX509",credential-reference={clear-text=secret}) /subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=httpsKM,protocols=["TLSv1.2"])
/subsystem=elytron/key-manager=httpsKM:add(key-store=httpsKS,algorithm="SunX509",credential-reference={clear-text=secret}) /subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=httpsKM,protocols=["TLSv1.2"])
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
。这与旧的安全
子系统行为不同,后者默认为遵从客户端密码套件顺序。在管理界面中启用 HTTPS。
/core-service=management/management-interface=http-interface:write-attribute(name=ssl-context, value=httpsSSC) /core-service=management/management-interface=http-interface:write-attribute(name=secure-socket-binding, value=management-https)
/core-service=management/management-interface=http-interface:write-attribute(name=ssl-context, value=httpsSSC) /core-service=management/management-interface=http-interface:write-attribute(name=secure-socket-binding, value=management-https)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载 JBoss EAP 实例。
reload
reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,管理接口启用了单向 SSL/TLS。
如果您 同时 定义了 security-realm
和 ssl-context
,JBoss EAP 将使用由 ssl-context
提供的 SSL/TLS 配置。
您可以使用 disable- ssl-management 命令为管理接口禁用
单向 SSL/TLS。
security disable-ssl-management
security disable-ssl-management
此命令不会删除 Elytron 资源。它将系统配置为使用 ApplicationRealm
传统安全域进行 SSL 配置。
使用管理控制台
您可以使用管理控制台中的 SSL 向导为管理控制台使用的管理界面启用 SSL。
访问向导:
- 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分。
- 导航到 Runtime,单击相应的服务器名称。
- 单击服务器名称旁边的 View。
- 点击 HTTP Manageme… 打开 HTTP Management Interface 配置页面。
单击 Enable SSL 以启动向导。
向导会引导您完成以下场景以启用 SSL:
- 您需要创建证书存储并生成自签名证书。
- 您需要从 Let 的加密认证机构获得证书。
- 您已在文件系统中拥有证书存储,但没有密钥存储配置。
- 您已有使用有效证书存储的密钥存储配置。
使用向导时,您可以选择为相互身份验证创建一个信任存储。