IBM Cloud Docs
Utilización de TLS mutuo

Utilización de TLS mutuo

La autenticación Mutual Transport Layer Security (mTLS) garantiza que el tráfico es seguro y fiable en las dos direcciones entre un cliente y un servidor. Solo está disponible para clientes en el nivel de plan Empresa o Seguridad.

Cuando mTLS está configurado, el acceso solo se otorga a solicitudes con un correspondiente certificado de cliente. Cuando una solicitud alcanza la aplicación, CIS responde con una solicitud para el certificado de cliente. Si el cliente no presenta el certificado, la solicitud no puede proceder. De lo contrario, el intercambio de llaves procede.

Diagram of mTLS handshake
Diagram of an mTLS handshake

Configuración de TLS mutuo

Mutual TLS no está habilitado de forma predeterminada. Es un servicio adicional que requiere una autorización y habilitación anterior.

Para obtener autorización, debe enviar un caso de soporte de IBM.

Después de activar mTLS para su cuenta, siga los siguientes pasos para habilitarlo.

  1. Vaya a la página Seguridad en la interfaz de usuario de CIS.
  2. Seleccione el separador Mutual TLS.
  3. Pulse Habilitar para habilitar la característica.

Una vez que se activa la función « mTLS », no se puede desactivar.

Para configurar la autenticación mTLS en la interfaz de usuario de IBM Cloud Internet Services para un punto final concreto:

  1. En la tabla de certificados raíz, pulse Añadir para definir un nuevo certificado raíz.

  2. Pegue el contenido de certificado en el campo de contenido, proporcione un nombre para la entidad emisora de certificados raíz y añada uno o más nombres de dominio completos (FQDN) de los puntos finales que desea para utilizar este certificado. Estos FQDN son los nombres de host que se utilizan para los recursos protegidos para la política de aplicación. Debe asociar la entidad emisora de certificados raíz con el nombre de dominio completo (FQDN) que utiliza la aplicación protegida.

  3. Pulse Guardar.

    Si la zona está utilizando un certificado intermedio además del certificado raíz, cargue toda la cadena.

  4. En la tabla de políticas de acceso de MTLS, cree una nueva aplicación de acceso que fuerce la autenticación mTLS. La aplicación debe crearse con un nombre de host que se haya asociado en el modal de carga del certificado. La sección de política se preestablece para imponer una decisión de non_identity y una regla include para coincidir con cualquier certificado válido.

Cómo probar utilizando curl

  1. Pruebe el sitio utilizando mTLS intentando utilizar el mandato curl en el sitio sin un certificado de cliente. Este ejemplo de mandato curl es para el sitio example.com que tiene una política de acceso establecida para https://auth.example.com:

    curl -sv https://auth.example.com
    

    Sin un certificado de cliente en la solicitud, aparece una respuesta «403 prohibido» y no se puede acceder al sitio.

  2. Añada la información de certificado de cliente a la solicitud:

    curl -sv https://auth.example.com --cert example.pem --key key.pem
    

    Cuando el proceso de autenticación se completa correctamente, se devuelve una cabecera CF_Authorization Set-Cookie en la respuesta.

Validación de TLS mutuo

Siga este flujo de trabajo de validación cuando habilite esta política de acceso:

  1. Todas las solicitudes al origen se evalúan para un certificado de cliente válido. El dispositivo cliente envía al cliente un mensaje "hello". La aplicación de acceso responde con un mensaje "hello" y con una solicitud para el certificado de cliente.
  2. El cliente devuelve un certificado válido.
  3. El reconocimiento de autenticación de cliente se completa frente a la entidad emisora de certificados raíz.
  4. Para las cadenas, se comprueba si hay certificados caducados. La verificación de cadenas es aplicable a la validación de certificado.
  5. Cuando el certificado del cliente cuenta con la confianza del certificado raíz, se genera un JSON Web Token (JWT) firmado para el cliente que permite que la solicitud y las solicitudes subsiguientes procedan. Si una solicitud no tiene ningún certificado de cliente válido, se devuelve 403 Forbidden en la respuesta.