Capítulo 6. Seguridad


Lea este capítulo con el fin de aprender a cómo habilitar y configurar los diferentes sistemas de seguridad en la plataforma JBoss Enterprise BRMS. Los diferentes temas que abordamos aquí son:
  • Autenticación
  • Autorización
  • Firma de paquetes de reglas

6.1. Autenticación

La plataforma JBoss Enterprise BRMS usa el servicios de autorización y autenticación Java para verificar las credenciales del usuario. Este servicio lo proporciona el servidor de aplicaciones y se utiliza para acceder un sistema de autenticación separado. El sistema separado puede ser un protocolo LDAP (del inglés Lightweight Directory Access Protocol), un servidor de directorios activos o una base de datos JDBC.

Importante

Cuando se le otorga acceso a los usuarios a la instalación de JBoss Enterprise BRMS Platform potencialmente se les brinda la habilidad de afectar la lógica empresarial de otras aplicaciones. Use la autorización con base en roles para definir lo que puede hacer cada usuario. Consulte Sección 6.2, “ Autorización” para aprender más sobre este tema.
Configure el método de autenticación a utilizar por medio del archivo jboss-brms.war/WEB-INF/components.xml. La configuración predeterminada tiene muchas opciones "con comentarios" pero la configuración en sí se ve así:
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/> 
<component name="org.jboss.seam.security.roleBasedPermissionResolver">
     <property name="enableRoleBasedAuthorization">false</property>
    </component>
Copy to Clipboard Toggle word wrap

Nota

El archivo components.xml cambió en BRMS 5.2. En BRMS 5.1 y versiones anteriores el archivo se ve así:
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/> 
<security:role-based-permission-resolver enable-role-based-authorization="false"/>
Copy to Clipboard Toggle word wrap

Importante

Esta configuración predeterminada usa los nombres de cuentas, contraseñas y roles que se definen en la política de autenticación jmx-console. Red Hat recomienda el modificar esta política para personalizarla de acuerdo con su entorno especifico.
Para configurar la autenticación siga estos pasos:
  1. Modifique el módulo de inicio de sesión apropiado de JBoss del servidor de aplicaciones.
  2. Configure JBoss Enterprise BRMS Platform para que utilice ese módulo.

Nota

Muchos módulos de inicio de sesión de JBoss brindan una manera de especificar uno o más roles para cada usuario. JBoss Enterprise BRMS Platform tiene su propio mecanismo para administrar roles de usuarios.

Aviso

Si se inhabilita la autorización basada en roles de manera efectiva todos los usuarios tienen el papel del administrador. Esto les da completo acceso a JBoss Enterprise BRMS Platform.

Importante

Red Hat recomienda habilitar la authorización basada en roles. Antes de hacerlo asigne por lo menos un usuario para el rol de administrador en la interaz BRMS Permissions. Una vez que se habilita esto solo los usuarios con los privilegios administrativos pueden realizar muchas de las tareas administrativas incluyendo el administrar los roles de los usuarios (esto se explica en más detalle en Sección 6.2, “ Autorización”).

6.1.1. Ejemplo de autenticación: UserRolesLoginModule

Este ejemplo ilustra el uso del módulo de inicio de sesión org.jboss.security.auth.spi.UsersRolesLoginModule para acceder a un grupo de cuentas de usuarios almacenados en los archivos props/brms-users.properties y props/brms-roles.properties.

Procedimiento 6.1. Ejemplo de autenticación: UserRolesLoginModule

  1. Asegúrese de que el sistema de autenticación está configurado correctamente

    Este módulo de inicio de sesión usa dos archivos para almacenar el nombre de inicio de sesión, la contraseña y los roles asignados a cada usuario. Cree los archivos brms-users.properties y brms-roles.properties en el directorio jboss-as-web/server/PROFILE/conf/props/ y luego especique por lo menos un usuario en brms-users.properties usando este formato: username=password (el archivo brms-roles.properties se puede dejar vacío).
  2. Apagar

    Apague el servidor de aplicaciones antes de realizar estos cambios.
  3. Configure el módulo de inicio de sesión de JBoss

    Para configurar los módulos de inicio de sesión de JBoss abra jboss-as-web/server/PROFILE/conf/login-config.xml en un editor de texto. Es un archivo XML que contiene un elemento <policy> con varios elementos hijos <application-policy>. Cada elemento <application-policy> define un esquema de autenticación diferente. Agregue el siguiente pedazo XML <application-policy> como un nuevo hijo del elemento <policy>:
    <!--BRMS Platform Security Domain-->
    <application-policy name="brms">
       <authentication>
           <login-module
               code="org.jboss.security.auth.spi.UsersRolesLoginModule"
               flag="required">
                <module-option name="usersProperties">
                    props/brms-users.properties
                </module-option>
                <module-option name="rolesProperties">
                    props/brms-roles.properties
                </module-option>
            </login-module>
        </authentication>
    </application-policy>
    
    Copy to Clipboard Toggle word wrap
  4. Configure la plataforma BRMS para utilizar el módulo de inicio de sesión

    Abra el archivo jboss-as-web/server/PROFILE/deploy/JBoss-BRMS.war/WEB-INF/components.xml. Contiene un elemento <components> con varios elementos hijos incluyendo <security:identity> .
    Agregue Comente el elemento <security:identity> para evitar conflictos. Agregue el siguiente elemento <security:identity>:
    <security:identity authenticate-
    method="#{authenticator.authenticate}" jaas-config-name="brms"/>
    
    Copy to Clipboard Toggle word wrap
    La propiedad jaas-config-name debe ser igual que application-policy. Si se cambió la propiedad application-policy en el paso anterior entonces modifique la propiedad jaas-config-name para que coincidan.
  5. Reiniciar

    Reinicral el servidor de aplicaciones.

6.1.2. Ejemplo de autenticación: LDAP

LDAP es una opción popular para compañias grandes. Los pasos básicos de configuración son los mismos que el ejemplo anterior aunque los detalles de la configuración serán diferentes.

Procedimiento 6.2. Ejemplo de autenticación dos: LDAP

  1. Asegúrese de que el servidor LDAP está configurado correctamente

    Aegúrese de que la configuración de la red y del cortafuegos no estén evitando la comunicación enter el servidor de aplicaciones y el servidor LDAP.
  2. Apagar

    Apague el servidor de aplicaciones antes de realizar estos cambios.
  3. Configure el módulo de inicio de sesión de JBoss

    Para configurar los módulos de inicio de sesión de JBoss abra jboss-as-web/server/PROFILE/conf/login-config.xml en un editor de texto. Es un archivo XML que contiene un elemento <policy> con varios elementos hijos <application-policy>. Cada elemento <application-policy> define un esquema de autenticación diferente. Agregue el siguiente pedazo XML <application-policy> como un nuevo hijo del elemento <policy>:
    <application-policy name="brms">
     <authentication>
      <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" 
          flag="required" >
        <module-option name="java.naming.provider.url">
            ldap://ldap.company.com:389
        </module-option>
        <module-option name="bindDN">DEPARTMENT\someadmin</module-option>
        <module-option name="bindCredential">password</module-option>
        <module-option name="baseCtxDN">cn=Users,dc=company,dc=com
        </module-option>
        <module-option name="baseFilter">(sAMAccountName={0})</module-option>
        <module-option name="rolesCtxDN">cn=Users,dc=company,dc=com
        </module-option>
        <module-option name="roleFilter">(sAMAccountName={0})</module-option>
        <module-option name="roleAttributeID">memberOf</module-option>
        <module-option name="roleAttributeIsDN">true</module-option>
        <module-option name="roleNameAttributeID">cn</module-option>
        <module-option name="roleRecursion">-1</module-option>
        <module-option name="searchScope">ONELEVEL_SCOPE</module-option>
      </login-module>
     </authentication>
    </application-policy>
    Copy to Clipboard Toggle word wrap
    Actualice los valores en este archivo de configuración con los valores apropiados para su servidor LDAP.
  4. Configure la plataforma BRMS para utilizar el módulo de inicio de sesión

    Abra el archivo jboss-as-web/server/PROFILE/deploy/jboss-brms.war/WEB-INF/components.xml. Contiene un elemento <components> con varios elementos hijos incluyendo <security:identity>.
    Agregue Comente el elemento <security:identity> para evitar conflictos. Agregue el siguiente elemento <security:identity>:
    <security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="brms"/>
    Copy to Clipboard Toggle word wrap
    La propiedad jaas-config-name debe ser igual que application-policy. Si se cambió la propiedad application-policy en el paso anterior entonces modifique la propiedad jaas-config-name para que coincidan.
  5. Reiniciar

    Reinicral el servidor de aplicaciones.

Nota

Para aprender más sobre los diferentes escenarios de configuración de LDAP, lea la información disponible en estas dos páginas web: http://www.jboss.org/community/wiki/LdapLoginModule y http://www.jboss.org/community/wiki/LdapExtLoginModule.

6.2. Autorización

BRMS usa autorización basada en roles para asignar permisos a los usuarios. Por defecto la autorización basada en roles está inhabilitada y se debe habilitar, de manera similar los roles se deben asignar a los usuarios. Si no se habilita la autorización basada en roles entonces todos los usuarios tienen todos los privilegios administrativos.

Figura 6.1. Administración de los permisos de usuario

Procedimiento 6.3. Habilitar la autorización con base en roles

  1. Asignar privilegios administrativos a un usuario

    Antes de habilitar la autorización con base en roles es necesario asignar por lo menos un usuario confiable al rol de administrador.
  2. Apagar

    Apague el servidor de aplicaciones antes de realizar estos cambios.
  3. Abra components.xml

    Abra el archivo jboss-as-web/server/PROFILE/deploy/jboss-brms.war/WEB-INF/components.xml en un editor de texto.
  4. Ubique el elemento <property name="enableRoleBasedAuthorization">

    En el archivo predeterminado components.xml, este elemento XML es un hijo de <components>.
    <component name="org.jboss.seam.security.roleBasedPermissionResolver">
       <property name="enableRoleBasedAuthorization">false</property>
    </component>
    
    Copy to Clipboard Toggle word wrap

    Nota

    En las versions 5.1 y anteriores ubique el siguiente XML
    <security:role-based-permission-resolver 
        enable-role-based-authorization="false"/>
    
    Copy to Clipboard Toggle word wrap
  5. Actualice el valor del atributo como "Verdadero"

    Actualice el valor de la propiedad enable-role-based-authorization como true y guarde el archivo.
    <component name="org.jboss.seam.security.roleBasedPermissionResolver">
       <property name="enableRoleBasedAuthorization">true</property>
    </component>
    
    Copy to Clipboard Toggle word wrap

    Nota

    En las versions 5.1 y anteriores ubique el siguiente XML
    <security:role-based-permission-resolver 
        enable-role-based-authorization="true"/>
    
    Copy to Clipboard Toggle word wrap
  6. Reiniciar

    Reinicral el servidor de aplicaciones.
JBoss Enterprise BRMS Platform no administra la identidad de los usuarios. Solo los usuarios que son asignados como usuarios BRMS serán visibles en los permisos de usuarios de JBoss Enterprise BRMS Platform.

Procedimiento 6.4. Agregue un nuevo usuario a BRMS

  1. Seleccione los detalles de los permisos

    Seleccione Administration del navigation pane, luego escoja User Permissions.
  2. Agregue el mapeo de usuarios

    Haga clic en el botón Create new user mapping. Escriba el nombre del usuario en la ventana que aparece y luego haga clic en OK.

    Nota

    El nombre de usuario que se especifica para el rol debe coincidir con un nombre de usuario en el servicio de autenticación o no funcionará.
  3. Agregar permisos

Procedimiento 6.5. Administración de los permisos de usuario

  1. Seleccionar permisos de usuario

    Seleccione Administration del navigation pane, luego escoja User Permissions.
  2. Seleccionar el usuario

    Haga clic Open al lado del nombre de usuario.

    Figura 6.2. Detalles sobre los permisos

  3. Asignar permisos de usuarios

    Haga clic en el ícono con el signo mas para agregar permisos y seleccione los permisos apropiados del menú desplegable Permission type. Haga clic en OK para confirmar.

    Figura 6.3. Modifique los permisos del usuario

  4. Borre permisos de usuario

    Haga clic en el ícono con el menos al lado del permiso que se va a borrar y haga clic en OK para confirmar.
Aquellos usuarios con el rol de administradores podrán modificar los roles y los permisos de otros.
A los usuarios se les puede otorgar cualquiera de estos tres roles:
  • admin
  • analyst
  • package
Aquellos usuarios a los que se les ha asignado el rol de administradores tienen acceso completo a todas las áreas de JBoss Enterprise BRMS Platform.
Los permisos para analistas son para aquellos usuarios responsables de mantener los recursos de reglas. A los desarrolladores y analistas empresariales se les debe otorgar este nivel de permiso.

Nota

Al asignar permisos para analistas a un usuario se le pedirá una categoria. Las categorias son una manera de agrupar reglas independiente de los paquetes de conocimiento a los que pertenecen.

Nota

También hay permisos para analistas de sólo lectura para situaciones como cuando un analista es el responsable de mantener reglas en una categoría pero necesita poder examinar reglas en otra.

Importante

Un usuario a quien se le ha otorgado permisos de categoría no podrá ver ninguna vista de paquete ni detalles: solo podrán ver la vista de categorías simples.
Al asignar el rol se le pide que seleccione un paquete al que se limitarán los permisos. Hay tres permisos de paquetes diferentes de dónde escoger al asignarle uno a un usuario:
Administrador de paquetes

El permiso del administrador de paquetes otorga un control completo sobre el paquete especificado incluyendo el derecho a implementarlo. El permiso del administrador de paquetes no otorga ningún derecho administrativo a ninguna otra parte de JBoss Enterprise BRMS Platform.

Desarrollador de paquetes

El desarrollador de paquetes le permite a los usuarios el crear y modificar objetos dentro del paquete especificado. Esto incluye el poder crear y ejecutar pruebas pero no incluye el derecho a implementar el paquete.

Paquete de sólo lectura

El permiso de sólo lectura de paquetes es similar al permiso de sólo lectura de analistas pero le otorga acceso a un paquete en lugar de una categoría.

6.3. Firma de paquetes de reglas

Lea esta sección apara prender sobre la firma de paquetes de reglas y la configuración del almacenamiento de llaves.
La firma de paquetes de reglas asegura que los paquetes no se pueden dañar o alterar durante la descarga del servidor BRMS en las aplicaciones del cliente. La firma de paquetes de reglas no está habilitado por defecto.

Importante

Red Hat le recomienda que habilite la firma de paquetes de reglas en entornors de producción.
La firma de paquetes de reglas se implementa usando criptografía de llaves públicas. Se utiliza el comando JDK keytool para crear una llave privada y un certificado digital público correspondiente. Los paquetes firmados con una llave privada solo se pueden verificar con el certificado correspondiente. La llave privada se almacena en un archivo llamado un almacén de llaves y el servidor lo utiliza para firmar automáticamente cada paquete. El certificado público se hace disponible para cada aplicación cliente en un almacén de llaves conocido como un almacén de confianza. El certificado en el almacén de confianza se utiliza para verificar la autenticidad del los paquetes firmados. Los paquetes de reglas que estén dañados o que sean modificados durante la descarga serán rechazados por el cliente ya que la firma ya no coincidirá con el certificado.
El procedimiento a continuación describe el proceso de configurar el servidor para la firma de paquetes de reglas.
Con este proceso es necesario:
  • Crear una llave privada de firma y un certificado digital público correspondiente.
  • Hacer disponibles la llave privada de firma y el certificado digital público en el servidor en los almacenes de llaves.
  • Configurar el servidor para utilizar los almacenes de llaves.

Procedimiento 6.6. Configurar la firma de paquetes de reglas

  1. Crear un almacén privado de llaves

    Use el comando keytool para crear el almacén privado de llaves:
    keytool -genkey -alias ALIAS -keyalg RSA -keystore PRIVATE.keystore
    Copy to Clipboard Toggle word wrap
    El parámetro -alias especifica el nombre utilizado para enlazar las entidades relacionadas en el almacén de llaves. Use el mismo alias para cada uno de estos pasos. El alias no detalla mayúsculas o minúsculas. El parámetro -keystore proporicona el nombre del archivo que se creará para mantener la llave privada.
    keytool le pedirá su información de identificación así como dos contraseñas. La primera contraseña, la contraseña del almacén de llaves, asegura el almacén de llaves. La segunda contraseña, la contraseña clave, asegura la llave que se está creando.
    [localhost ]$ keytool -genkey -alias BRMSKey -keyalg RSA -keystore PrivateBRMS.keystore
    Enter keystore password:  
    Re-enter new password: 
    What is your first and last name?
       [Unknown]:  John Smith
    What is the name of your organizational unit?
       [Unknown]:  Accounts
    What is the name of your organization?
       [Unknown]:  ACME INC
    What is the name of your City or Locality?
       [Unknown]:  Captital City
    What is the name of your State or Province?
       [Unknown]:  CC
    What is the two-letter country code for this unit?
       [Unknown]:  US
    Is CN=John Smith, OU=Accounts, O=ACME INC, L=Captial City, ST=CC, C=US correct?
       [no]:  yes
    Enter key password for <BRMSKey>
       (RETURN if same as keystore password):  
    Re-enter new password:
    
    Copy to Clipboard Toggle word wrap
  2. Crear un certificado digital

    Use el comando keytool para crear un certificado digital:
    keytool -export -alias ALIAS -file CERTIFICATE.crt -keystore PRIVATE.keystore
    Copy to Clipboard Toggle word wrap
    Use el mismo alias y almacén de llaves que en el paso anterior. El parámetro -file es el nombre del archivo del nuevo certificado que se creará. El parámetro -keystore proporciona el nombre del archivo del almacén privado de llaves.
    Introduzca la contraseña del almacén de llaves cuando se le pida.
    [localhost ]$ keytool -export -alias BRMSKey -file BRMSKey.crt -keystore PrivateBRMS.keystore
    Enter keystore password:  
    Certificate stored in file <BRMSKey.crt>
    Copy to Clipboard Toggle word wrap
  3. Importe el certificado digital en un almacén de confianza

    Use el comando keytool para importar el certificado digital en un almacén de llaves:
    keytool -import -alias ALIAS -file CERTIFICATE.crt -keystore PUBLIC.keystore
    Copy to Clipboard Toggle word wrap
    Esto creará un nuevo almacén de llaves, el almacén de confianza, el cual contiene el certificado digital. El almacén de confianza hace disponible el certificado digital para las aplicaciones clientes.
    [localhost ]$ keytool -import -alias BRMSKey -file BRMSKey.crt -keystore PublicBRMS.keystore
    Enter keystore password:  
    Re-enter new password: 
    Owner: CN=John Smith, OU=Accounts, O=ACME INC, L=Captial City, ST=CC, C=US
    Issuer: CN=John Smith, OU=Accounts, O=ACME INC, L=Captial City, ST=CC, C=US
    Serial number: 4ca0021b
    Valid from: Sun Sep 26 22:31:55 EDT 2010 until: Sat Dec 25 21:31:55 EST 2010
    Certificate fingerprints:
       MD5:  31:1D:1B:98:59:CC:0E:3C:3F:57:01:C2:FE:F2:6D:C9
       SHA1: 4C:26:52:CA:0A:92:CC:7A:86:04:50:53:80:94:2A:4F:82:6F:53:AD
       Signature algorithm name: SHA1withRSA
       Version: 3
    Trust this certificate? [no]:  yes
    Certificate was added to keystore
    Copy to Clipboard Toggle word wrap
  4. Mueva el almacén privado de llaves en un lugar seguro.

    Es necesario mantener el almacén privado de llaves en un lugar seguro en donde solo lo pueda acceder el servidor JBoss Enterprise BRMS Platform. Esto puede ser en la misma máquina o en un lugar asegurado de la red que esté diponible para esa máquina.

    Importante

    JBoss Enterprise BRMS Platform no puede proporcionar cerdenciales de autenticación a recursos en la red. Si el almacén privado de llaves se almacena en un lugar seguro d ela red entonces los procedimientos de autenticación se deben realizar de parte del servidor JBoss Enterprise BRMS para hacer el almacén privado de llaves disponible para este. Por ejemplo, el sistema operativo puede autenticar y montar un archivo compartido que mantenga el lamacén privado de llaves como un directorio local para que el servidor JBoss Enterprise BRMS Platform tenga acceso a el.
  5. Mueva el almacén de confianza a un lugar público

    Es necesario que el almacén de confianza sea accequible para las aplicaciones clientes. Esto se puede lograr poniendo el almacén de confianza en una red compartida o como host en un servidor web.
  6. Configure las propiedades de serialización Drools

    Las propiedades del sistema de serialización Drools tienen que establecerse en el servidor. Estas son las propiedades que almacenan la información requerida para acceder los almacenes de llaves. Ya que JBoss Enterprise BRMS Platform también contiene componentes cliente tanto las propiedades privadas del almacén de llaves como las del almacén de confianza se tienen que configurar en el servidor.
    Consulte Sección 6.3.1, “Configuración de propiedades de serialización” para obtener detalles sobre dónde se pueden establecer las propiedades.
    Las propiedades que es necesario configurar son:
    • drools.serialization.sign - indica si la firma está habilitada. Debe estar configurado como true.
    • drools.serialization.private.keyStoreURL - la URL en donde se encuentra el almacén privado de llaves
    • drools.serialization.private.keyStorePwd - la contraseña para el almacén de llaves
    • drools.serialization.private.keyAlias - el alias utilizado al crear el almacén de llaves
    • drools.serialization.private.keyPwd - la contraseña llave
    • drools.serialization.public.keyStoreURL - la URL en donde se encuentra el almacén de confianza
    • drools.serialization.public.keyStorePwd - la contraseña para el almacén de confianza
  7. Codifique las credenciales del almacén de llaves

    La contraseña del almacén de llaves actualmente está almacenado en texto simple.
    Consulte https://access.redhat.com/kb/docs/DOC-47247 para obtener instrucciones sobre cómo enmascarar las credenciales del almacén de llaves.
  • Consulte el manual del usuario BRMS para obtener instrucciones sobre cómo configurar clientes para que usen paquetes firmados de reglas.

6.3.1. Configuración de propiedades de serialización

Las propiedades del sistema para las credenciales del almacén de llaves se pueden configurar en varios lugares tal como se describe a continuación. Es necesario configurar las propiedades en un sólo lugar y estarán disponibles para todas las aplicaciones ejecutando en la misma instancia del servidor de aplicaciones sin importar en donde se configuran.
Servicio de propiedades JBoss
PAra configurar las propiedades usando el servicio de propiedades JBoss, agregue la siguiente configuración bean administrada al archivo /server/PROFILE/deploy/properties-service.xml, reemplazando los valores del ejemplo con los que sean apropiados para su sistema.
<mbean code="org.jboss.varia.property.SystemPropertiesService"  
      name="jboss:type=Service,name=SystemProperties">
   <attribute name="Properties">
   # Drools Security Serialization specific properties
   drools.serialization.sign=true
   drools.serialization.private.keyStoreURL=file:///opt/secure/PrivateBRMS.keystore
   drools.serialization.private.keyStorePwd=storepassgoeshere
   drools.serialization.private.keyAlias=BRMSKey
   drools.serialization.private.keyPwd=keypassgoeshere
   drools.serialization.public.keyStoreURL=file:///opt/public/PublicBRMS.keystore
   drools.serialization.public.keyStorePwd=keypassgoeshere
   </attribute>
</mbean>
Copy to Clipboard Toggle word wrap
archivo de propiedades jboss-brm.war
PAra configurar las propiedades en el archivo de propiedades jboss-brms.war, agregue el siguiente código al archivo jboss-brms.war/WEB-INF/classes/preferences.properties.
drools.serialization.sign=true
drools.serialization.private.keyStoreURL=file:///opt/secure/PrivateBRMS.keystore
drools.serialization.private.keyStorePwd=storepassgoeshere
drools.serialization.private.keyAlias=BRMSKey
drools.serialization.private.keyPwd=keypassgoeshere
drools.serialization.public.keyStoreURL=file:///opt/public/PublicBRMS.keystore
drools.serialization.public.keyStorePwd=keypassgoeshere
Copy to Clipboard Toggle word wrap
Volver arriba
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2025 Red Hat