IBM Cloud Docs
Extracción de origen autenticado

Extracción de origen autenticado

Los servidores web de origen validan que una solicitud web proviene de IBM Cloud® Internet Services mediante tirones de origen autenticados. CIS utiliza la autenticación de certificado de cliente TLS, una característica compatible con la mayoría de los servidores web, para presentar una CIS certificado al establecer una conexión entre CIS y el servidor web de origen. Al validar este certificado en el servidor web de origen, el acceso está limitado a conexiones de CIS.

Una extracción de origen autenticado es importante cuando se aprovecha el cortafuegos de aplicaciones web (WAF). Después de que su servidor web de origen aplique extracciones de origen autenticado, todas las solicitudes HTTPS fuera de CIS no pueden llegar a su origen.

La extracción de origen autenticado se configura mediante una de las siguientes opciones:

  • Extracción de origen autenticado a nivel de zona mediante el uso CIS certificados
  • Extracción de origen autenticado a nivel de zona mediante certificados de cliente
  • Extracción de origen autenticado por nombre de host mediante certificados de cliente

Los certificados de cliente no se suprimen de CIS después de que caduquen a menos que se envíe una solicitud de supresión o sustitución a la API de CIS. Sin embargo, las solicitudes se descartan en su origen si su origen sólo acepta un certificado de cliente válido.

La extracción de origen autenticado no funciona en SSL mode OFF (not secure) o Client-to-Edge.

Extracción de origen autenticado a nivel de zona con certificados CIS

CIS utiliza la siguiente CA siguiente para firmar certificados para el servicio de extracción de origen autenticado:

Descargue el certificado y guarde el archivo en su servidor web de origen, por ejemplo en /path/to/origin-pull-ca.pem.

Para habilitar el origen autenticado, extraiga globalmente una zona:

  1. Instale el certificado en el servidor web de origen para autenticar todas las conexiones
  2. Configure CIS con End-to-End flexible
  3. Configure el servidor web de origen para que acepte certificados de cliente
  4. Habilite la extracción de origen autenticado utilizando la CLI deCIS

Extracción de origen autenticado a nivel de zona con certificados de cliente

  1. Si utiliza una clave de ECC generada por OpenSSL, elimine primero -----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS----- del archivo de certificado

  2. Asegúrese de que el certificado y la clave están en el formato siguiente antes de cargarlos en CIS:

    $ cat app_example_com.pem
    -----BEGIN CERTIFICATE-----
    MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5Nz2gdUySbfzANBgkqhkiG9w0BAQsFADBN
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
    ...
    SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
    OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
    -----END CERTIFICATE-----
    
  3. Sustituya los finales de línea por la serie \n:

    MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')" $ MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'| sed -e's/..$//')"
    
    echo $MYCERT -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/ 2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/ 3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
    
  4. Cree la carga útil:

    $ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF ))

  5. Cargue el certificado de cliente y la clave privada mediante la CLI de CIS

  6. Habilite la extracción de origen autenticado mediante la CLI de CIS

Extraiga el origen autenticado por nombre de host mediante certificados de cliente

Cuando se habilita la extracción de origen autenticado por nombre de host, todo el tráfico de proxy destinado al nombre de host especificado se autentica en el servidor web de origen. Puede utilizar certificados de cliente de su propia infraestructura de claves públicas para autenticar conexiones procedentes de CIS.

Para cargar un certificado de cliente en CIS:

  1. Si utiliza una clave de ECC generada por OpenSSL, elimine primero -----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS----- del archivo de certificado

  2. Asegúrese de que el certificado tenga el formato siguiente antes de cargarlo en CIS.

    $ cat app_example_com.pem
    -----BEGIN CERTIFICATE-----
    MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
    ...
    SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
    OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
    -----END CERTIFICATE-----
    
  3. Sustituya los finales de línea por la serie \n:

    MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')" $ MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')"
    
    echo $MYCERT -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
    
  4. Cree la carga útil:

    $ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF ))

  5. Cargue el certificado de cliente y la clave privada mediante la CLI de CIS

  6. Habilite la extracción de origen autenticado en el nombre de host especificado mediante la CLI de CIS. Enlace el certificado de cliente con el nombre de host específico

Sustitución de un certificado de cliente sin inactividad

Para nombre de host:

  1. Cargue el nuevo certificado
  2. Enlace el nuevo ID de certificado y el nombre de host y los valores habilitados

Para global:

  1. Cargue el nuevo certificado
  2. Compruebe que el nuevo certificado esté en estado Activo
  3. Una vez que el certificado está activo, suprima el certificado antiguo

Aplique otro certificado de cliente (a nivel de zona y nombre de host) simultáneamente

  1. Cargue un certificado siguiendo los pasos del Extracción de origen autenticado a nivel de zona sección
  2. Cargue varios certificados siguiendo los pasos del Extracción de origen autenticado por nombre de host mediante certificados de cliente sección

Instalación en Apache y NGINX

Utilice las instrucciones siguientes para configurar los grupos de origen autenticado de TLS para los servidores web de origen NGINX o Apache.

Configuración de Apache

Utilice End-to-End flexible y actualice la configuración SSL del servidor web de origen siguiendo estos pasos.

  1. Descargue el certificado de extracción de origen autenticado (origin-pull-ca.pem)

  2. Guarde el certificado en un archivo del servidor web de origen, por ejemplo en /path/to/origin-pull-ca.pem

  3. Añada las líneas siguientes a la configuración de SSL para su servidor web de origen:

    SSLVerifyClient require
    SSLVerifyDepth 1
    SSLCACertificateFile /path/to/origin-pull-ca.pem
    

Configuración de NGINX

Utilice End-to-End flexible y actualice la configuración SSL del servidor web de origen siguiendo estos pasos.

  1. Descargue el certificado de extracción de origen autenticado (origin-pull-ca.pem)

  2. Guarde el certificado en un archivo del servidor web de origen, por ejemplo en /etc/nginx/certs/cloudflare.crt

  3. Añada las líneas siguientes a la configuración de SSL para su servidor web de origen:

    ssl_client_certificate /etc/nginx/certs/cloudflare.crt;
    ssl_verify_client on;