第 1 章 保护服务器及其接口


1.1. 构建块

1.1.1. 接口和套接字绑定

JBoss EAP 利用其主机的接口,如 inet-addressnic,以及用于其 Web 应用及其管理接口通信的端口。这些接口和端口通过 JBoss EAP 中的 接口套接字绑定组 设置进行定义和配置。

有关如何定义和配置 接口socket-binding-groups 的更多信息,请参见 JBoss EAP 配置指南 中的 Socket Bindings 部分。

示例:接口

<interfaces>
  <interface name="management">
    <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
  </interface>
  <interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
  </interface>
</interfaces>
Copy to Clipboard Toggle word wrap

示例:Socket Binding Group

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
    <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
    <socket-binding name="http" port="${jboss.http.port:8080}"/>
    <socket-binding name="https" port="${jboss.https.port:8443}"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>
Copy to Clipboard Toggle word wrap

1.1.2. Elytron 子系统

1.1.2.1. 在服务器中启用 Elytron Security

可以通过简单的方式在服务器中启用 Elytron。JBoss EAP 7.1 引入了使 Elytron 作为安全提供商的示例配置脚本。此脚本驻留在服务器安装中的 EAP_HOME/docs/examples 目录中。

执行以下命令,以启用服务器间的 Elytron 安全性。

$ EAP_HOME/bin/jboss-cli.sh --file=EAP_HOME/docs/examples/enable-elytron.cli
Copy to Clipboard Toggle word wrap

1.1.2.2. 创建 Elytron 安全域

elytron 子系统中的安全域与安全域结合使用时,既用于核心管理身份验证,也用于应用身份验证。

重要

部署仅限于在每个部署中使用一个 Elytron 安全域。现在,可以使用一个 Elytron 安全域来完成可能需要多个传统安全域的情况。

使用管理 CLI 添加安全域
/subsystem=elytron/security-domain=domainName:add(realms=[{realm=realmName,role-decoder=roleDecoderName}],default-realm=realmName,permission-mapper=permissionMapperName,role-mapper=roleMapperName,...)
Copy to Clipboard Toggle word wrap
使用管理控制台添加安全域
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Other Settings 并点 View
  3. 选择 SSL Security Domain ,然后使用 Add 按钮配置新的安全域。

1.1.2.3. 创建 Elytron Security Realm

elytron 子系统中的安全域与安全域结合使用时,既用于核心管理身份验证,也用于应用身份验证。安全域也专门根据其身份存储键入,如 jdbc-realm、systemsystem-realmsystemsystem-realmproperties-realm 等。

使用管理 CLI 添加安全域
/subsystem=elytron/type-of-realm=realmName:add(....)
Copy to Clipboard Toggle word wrap

可以在前面的章节中找到添加特定域的示例,如 jdbc-realm、filesystem -realm 和 properties -realm。

使用管理控制台添加安全域
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Security Realms 并点 View
  3. Security Realm 选项卡中选择适当的安全域类型,再单击 Add 以配置新的安全域

1.1.2.4. 创建 Elytron Role Decoder

角色解码器将安全域提供的身份的属性转换为角色。角色解码器还根据其功能专门键入,如 empty-role-decoder、simple-role-decodercustom-role-decoder

使用管理 CLI 添加角色解码器
/subsystem=elytron/ROLE-DECODER-TYPE=roleDeoderName:add(....)
Copy to Clipboard Toggle word wrap
使用管理控制台添加角色解码器
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Mappers / Decoders 并点 View
  3. 单击 Role Decoder,选择适当的角色解码器类型,再单击 Add 以配置新角色解码器

1.1.2.5. 创建 Elytron Role Mapper

角色映射器会在角色解码到其他角色后对其进行映射。例如,角色名称规范化,或者在主体被解码后添加和删除特定角色。角色映射器也根据自己的功能专门键入,如 add-prefix-role-mapper、add-suffix-role-mapper 和 constant -role-mapper

添加 Role Mapper 获取常规表单
/subsystem=elytron/ROLE-MAPPER-TYPE=roleMapperName:add(...)
Copy to Clipboard Toggle word wrap
使用管理控制台添加角色映射器
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Mappers / Decoders 并点 View
  3. 单击 Role Mapper,选择适当的角色映射器类型,再单击 Add 以配置新角色映射器。

1.1.2.6. 创建 Elytron 权限集

权限集可用于为身份分配权限。

使用管理 CLI 添加权限集
/subsystem=elytron/permission-set=PermissionSetName:add(permissions=[{class-name="...", module="...", target-name="...", action="..."}...])
Copy to Clipboard Toggle word wrap

权限 参数由一组权限组成,其中每个权限都有以下属性:

  • class-name 是权限的完全限定类名称。这是唯一所需的权限属性。
  • 模块 是用于加载权限的可选模块。
  • target-name 是在构建时传递给权限的可选目标名称。
  • 操作 是在构建权限时传递给权限的可选操作。

1.1.2.7. 创建 Elytron 权限映射器

除了角色分配到某一身份外,也可以分配权限。权限映射器为身份分配权限。权限映射器也根据其功能专门键入,如 logical-permission-mapper、simple-permission-mappercustom-permission-mapper

使用管理 CLI 添加权限映射器
/subsystem=elytron/simple-permission-mapper=PermissionMapperName:add(...)
Copy to Clipboard Toggle word wrap
使用管理控制台添加权限映射器
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Mappers / Decoders 并点 View
  3. 单击 Principal Decoder,选择适当的主体解码器类型,再单击 Add 以配置新的主体解码器

1.1.2.8. 创建身份验证配置

身份验证配置包含要在连接时使用的凭据。如需有关身份验证配置的更多信息,请参阅如何为 JBoss EAP 配置身份管理中的 Elytron 客户端配置客户端身份验证

注意

您可以将 Elytron 安全域配置为使用访问用户的凭据,而不是凭据存储。例如,安全域可以和 Kerberos 搭配使用,以对传入的用户进行身份验证。按照 配置 Elytron Subsystem 中的说明,了解如何通过 Kerberos 为 JBoss EAP 设置 SSO,并在 Kerberos 安全工厂中设置 get -kerberos-ticket=true

使用管理 CLI 添加身份验证配置
/subsystem=elytron/authentication-configuration=AUTHENTICATION_CONFIGURATION_NAME:add(authentication-name=AUTHENTICATION_NAME, credential-reference={clear-text=PASSWORD})
Copy to Clipboard Toggle word wrap
使用管理控制台添加身份验证配置
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Other Settings 并点 View
  3. 点击 Authentication Authentication Configuration 并点击 Add 来配置新的身份验证配置。

有关 身份验证配置 属性的完整列表,请参阅 Elytron Subsystem 组件参考

1.1.2.9. 创建身份验证上下文

身份验证上下文包含一组规则,以及用于建立连接的身份验证配置或 SSL 上下文如需有关身份验证上下文的更多信息,请参阅如何为 JBoss EAP 配置身份管理中的 Elytron 客户端配置客户端身份验证

使用管理 CLI 添加身份验证上下文

身份验证上下文可以通过以下管理 CLI 命令创建:

/subsystem=elytron/authentication-context=AUTHENTICATION_CONTEXT_NAME:add()
Copy to Clipboard Toggle word wrap

通常,身份验证上下文将包含一组规则以及身份验证配置或 SSL 上下文。以下 CLI 命令提供演示定义仅在主机名是 localhost 时起作用的身份验证上下文:

/subsystem=elytron/authentication-context=AUTHENTICATION_CONTEXT_NAME:add(match-rules=[{authentication-configuration=AUTHENTICATION_CONFIGURATION_NAME, match-host=localhost}])
Copy to Clipboard Toggle word wrap
使用管理控制台添加身份验证上下文
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Other Settings 并点 View
  3. 点击 Authentication Authentication Context 并点击 Add 来配置新的身份验证上下文。

有关 authentication-context 属性的完整列表,请参阅 Elytron Subsystem 组件参考

1.1.2.10. 创建 Elytron 身份验证事实

身份验证工厂是用于特定身份验证机制的身份验证策略。身份验证工厂具体基于身份验证机制,如 http-authentication-factorysasl-authentication-factorykerberos-security-factory

使用管理 CLI 添加身份验证事实
/subsystem=elytron/AUTH-FACTORY-TYPE=authFactoryName:add(....)
Copy to Clipboard Toggle word wrap
使用管理控制台添加身份验证事实
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Factories / Transformers 并点 View
  3. 单击 HTTP Factories、SASL FactoriesOther Factories,选择适当的工厂类型,然后单击 Add 以配置新工厂

1.1.2.11. 创建 Elytron Keystore

key-store 是密钥 存储或信任存储的定义,包括密钥存储的类型、位置,以及用于访问它的凭据。

要生成用于 elytron 子系统的示例密钥存储,请使用以下命令:

$ keytool -genkeypair -alias localhost -keyalg RSA -keysize 1024 -validity 365 -keystore keystore.jks -dname "CN=localhost" -keypass secret -storepass secret
Copy to Clipboard Toggle word wrap
使用管理 CLI 添加密钥存储

若要在 E lytron 中定义引用新生成的密钥存储的密钥存储,可执行下列管理 CLI 命令:此命令相对于提供的文件系统路径、用于访问密钥存储的凭据引用以及密钥存储的类型,强化密钥存储的路径。

/subsystem=elytron/key-store=newKeyStore:add(path=keystore.jks,relative-to=jboss.server.config.dir,credential-reference={clear-text=secret},type=JKS)
Copy to Clipboard Toggle word wrap
注意

以上命令使用 relative-to 来引用密钥存储文件的位置。或者,您可以在路径中指定密钥存储的完整 路径,并省略 relative-to

使用管理控制台添加密钥存储
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Other Settings 并点 View
  3. 点击 Stores Key Store,然后点击 Add 来配置新的密钥存储。

1.1.2.12. 创建 Elytron 密钥管理器

key-manager 引用 密钥 存储,并与 SSL 上下文结合使用。

使用管理 CLI 添加密钥管理器

以下命令指定要引用的底层密钥存储,初始化密钥管理器时使用的算法,以及用于访问底层密钥存储中的条目的凭据引用。

/subsystem=elytron/key-manager=newKeyManager:add(key-store=KEY_STORE,algorithm="PKIX",credential-reference={clear-text=secret})
Copy to Clipboard Toggle word wrap
重要

如果未指定算法,它将被设置为默认的 KeyManagerFactory 算法名称。

可用的密钥管理器算法由正在使用的 JDK 提供。例如 ,使用 SunJSSE 的 JDK 提供 PKIXSunX509 算法。

使用管理控制台添加密钥管理器
  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Security(Elytron) Other Settings 并点 View
  3. 点击 SSL Key Manager 并点击 Add 来配置新的密钥管理器。

1.1.2.13. 创建 Elytron Truststore

要在 Elytron 中创建信任存储,可执行以下 CLI 命令:

/subsystem=elytron/key-store=default-trust-store:add(type=JKS, relative-to=jboss.server.config.dir, path=application.truststore, credential-reference={clear-text=password})
Copy to Clipboard Toggle word wrap

为成功执行上述命令,您必须在 EAP_HOME/standalone/configuration 目录中有一个 application.truststore 文件。如果端点的证书由 CA 签名,则信任存储必须包含与端点或证书链关联的证书。

红帽建议您避免使用自签名证书。理想情况下,证书应由 CA 签名,您的信任存储应包含代表 your ROOT 和中间 CA 的证书链。

1.1.2.14. 创建 Elytron Trust Manager

要在 Elytron 中定义信任管理器,可执行以下 CLI 命令:

/subsystem=elytron/trust-manager=default-trust-manager:add(key-store=TRUST-STORE-NAME)
Copy to Clipboard Toggle word wrap

这会将定义的信任存储设置为应用服务器信任的证书的来源。

1.1.2.15. 使用 Box Elytron 组件的不足

JBoss EAP 提供一组默认的 Elytron 组件,在 elytron 子系统中配置。您可以在安全架构指南的 Box 部分中找到有关这些预配置的组件的更多详细信息。

1.1.2.15.1. 保护管理接口

您可以找到关于使 JBoss EAP 能够使用开箱即用的 Elytron 组件在用户身份验证中使用 Elytron 保护管理接口的更多详细信息。

1.1.2.15.2. 保护应用

elytron 子系统默认为 http -authentication-factory 提供 application-http -authentication,可用于保护应用的安全。有关如何配置 application-http-authentication 的更多信息,请参阅 安全架构 指南 的 Box 部分。

要将应用程序配置为使用 application-http-authentication,请参阅 如何 配置身份管理指南 中的 Web 应用程序以使用 Elytron 或传统安全性进行身份验证。您还可以使用 JBoss EAP 如何配置身份管理指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/how_to_configure_identity_management/#elytron_override_deployment_config 的覆盖应用身份验证配置部分中的步骤覆盖所有应用的默认行为

1.1.2.15.3. 使用 SSL/TLS

JBoss EAP 利用旧的核心管理身份验证提供默认的单向 SSL/TLS 配置,但不在 elytron 子系统中提供。您可以在以下部分中找到有关为管理接口以及以下部分使用 elytron 子系统配置 SSL/TLS 的更多详细信息:

1.1.2.15.4. 将 Elytron 与其他子系统一起使用

除了保护应用程序和管理接口外,Elytron 还与 JBoss EAP 中的其他子系统集成。

batch-jberet
您可以配置 batch-jberet 子系统,以使用 Elytron 安全域运行批处理作业。 如需更多信息,请参阅《配置指南》中的配置批处理作业安全性
datasources
您可以使用凭据存储或 Elytron 安全域在数据源定义中提供身份验证信息。 如需更多信息,请参阅《配置指南》中的数据源安全性
ejb3
您可以在 ejb3 子系统中为 Elytron 安全域创建映射,供部署引用。如需更多信息,请参阅开发 EJB 应用中的 Elytron 与 EJB 子系统集成
iiop-openjdk
您可以使用 elytron 子系统通过 iiop-openjdk 子系统在客户端和服务器之间配置 SSL/TLS。如需更多信息,请参阅《配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#configure_iiop_ssl 》中的将 IIOP 配置为在 Elytron 子系统中使用 SSL/TLS
jca
您可以使用 elytron-enabled 属性为工作管理器启用 Elytron 安全性。 如需更多信息,请参阅《配置指南》中的配置 JCA 子系统
jgroups
您可以配置 SYM_ENCRYPTASYM_ENCRYPT 协议,以引用 elytron 子系统中定义的密钥存储或凭据引用。如需更多信息,请参阅《配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#securing_cluster 》中的保护集群
mail
您可以使用凭据存储在 mail 子系统的服务器定义中提供身份验证信息。如需更多信息,请参阅《配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#mail_subsystem_cred_store 》中的将凭据存储用于密码
messaging-activemq
您可以保护远程连接的安全性,供 messaging-activemq 子系统使用。如需更多信息,请参阅配置消息传递 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuring_messaging/#using_the_elytron_subsystem 的 Elytron 子系统部分
modcluster
您可以使用 Elytron client ssl-context 与使用 SSL/TLS 的负载均衡器进行通信。如需更多信息,请参阅 Elytron 与 ModCluster 子系统集成
remoting
您可以在远程 子系统 中配置入站和出站连接,以引用身份验证上下文、SASL 身份验证工厂和 elytron 子系统中定义的 SSL 上下文。有关配置每种连接的详情,请参阅 Elytron 与 Remoting Subsystem 集成
resource-adapters
您可以使用 Elytron 保护与资源适配器的连接。您可以在提交由工作管理器执行的工作时,启用安全流来建立安全凭据。 如需更多信息,请参阅《配置指南》中的配置适配器以使用 Elytron 子系统
undertow
您可以使用 elytron 子系统配置 SSL/TLS 和应用身份验证。有关配置应用程序身份验证的更多信息,请参阅如何使用 SSL/TLS 和将 Web 应用程序配置为使用 Elytron 或传统安全性进行身份验证 ,以了解如何配置身份管理

1.1.2.16. 启用和禁用 Elytron 子系统

elytron 子系统预配置了默认的 JBoss EAP 配置文件以及传统的 security 子系统。

如果您使用尚未配置 elytron 子系统的配置文件,您可以通过添加 elytron 扩展并启用 elytron 子系统来添加它。

添加 elytron 子系统所需的 elytron 扩展:

/extension=org.wildfly.extension.elytron:add()
Copy to Clipboard Toggle word wrap

在 JBoss EAP 中启用 elytron 子系统:

/subsystem=elytron:add

reload
Copy to Clipboard Toggle word wrap

在 JBoss EAP 中禁用 elytron 子系统:

/subsystem=elytron:remove

reload
Copy to Clipboard Toggle word wrap
重要

JBoss EAP 中的其他子系统可能具有对 elytron 子系统的依赖性。如果在禁用这些依赖关系之前,您会在启动 JBoss EAP 时看到错误。

1.1.3. 旧安全子系统

1.1.3.1. 启用和禁用安全子系统

在 JBoss EAP 中禁用安全子系统:

/subsystem=security:remove
Copy to Clipboard Toggle word wrap
重要

JBoss EAP 中的其他子系统可能会具有对 security 子系统的依赖性。如果在禁用这些依赖关系之前,您会在启动 JBoss EAP 时看到错误。

在 JBoss EAP 中启用安全子系统:

/subsystem=security:add
Copy to Clipboard Toggle word wrap

1.1.4. 传统安全域

JBoss EAP 使用安全域来定义身份验证和授权机制,如本地、LDAP 和属性,然后可由管理接口使用。有关安全域的更多背景信息,请参阅红帽 JBoss 企业应用平台安全架构指南的安全 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/security_architecture/#security_realms 域部分

示例: Security Realms

<security-realms>
  <security-realm name="ManagementRealm">
    <authentication>
      <local default-user="$local" skip-group-loading="true"/>
      <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
    </authentication>
    <authorization map-groups-to-roles="false">
      <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
    </authorization>
  </security-realm>
  <security-realm name="ApplicationRealm">
    <authentication>
      <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
      <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
    </authentication>
    <authorization>
      <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
    </authorization>
  </security-realm>
</security-realms>
Copy to Clipboard Toggle word wrap

注意

除了更新现有的安全域外,JBoss EAP 还允许您创建新的安全域。您可以通过管理控制台创建新的安全域,也可以从管理 CLI 调用以下命令:

/core-service=management/security-realm=NEW-REALM-NAME:add()
Copy to Clipboard Toggle word wrap

如果您创建新的安全域并希望使用属性文件进行身份验证或授权,您必须专门为新安全域创建新的属性文件。JBoss EAP 不会重复利用由其他安全域使用的现有文件,也不会自动创建新的配置中指定的新文件(如果这些文件不存在)。

默认情况下,JBoss EAP 定义用于连接管理接口的 http-interface

[standalone@localhost:9990 /] /core-service=management:read-resource(recursive=true)
{
    "outcome" => "success",
    "result" => {
        "access" => {...},
        "ldap-connection" => undefined,
        "management-interface" => {"http-interface" => {
            "allowed-origins" => undefined,
            "console-enabled" => true,
            "http-authentication-factory" => "management-http-authentication",
            "http-upgrade" => {
                "enabled" => true,
                "sasl-authentication-factory" => "management-sasl-authentication"
            },
            "http-upgrade-enabled" => true,
            "sasl-protocol" => "remote",
            "secure-socket-binding" => undefined,
            "security-realm" => undefined,
            "server-name" => undefined,
            "socket-binding" => "management-http",
            "ssl-context" => undefined
        }},
        "security-realm" => {...},
        "service" => undefined
    }
}
Copy to Clipboard Toggle word wrap

您可以使用组合 socket-binding、http -authentication-factoryhttp-upgrade 来使用 elytron 子系统保护管理接口。或者,您也可以 将 socket-bindingsecurity-realm 一起使用,以通过传统核心管理身份验证来保护管理接口。您还可以禁用管理接口,并将接口的用户配置为拥有各种角色和访问权限。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat