Autenticando tráfico de punto final de ubicación

Todo el tráfico de punto final está cifrado de forma predeterminada. Sin embargo, puede optar por proporcionar sus propios certificados para implementar la autenticación de origen y destino. En el caso de los puntos finales de TLS o HTTPS, existen dos conexiones de TLS en el flujo de solicitud del punto final que requieren configuración. El primer intercambio de datos TLS tiene lugar entre la fuente y el servicio Satellite Link. El segundo intercambio de datos de TLS tiene lugar entre el servicio Satellite Link y tu servidor de destino. Puede proporcionar certificados para una o ambas de estas conexiones.

Si no configura ningún ajuste de autenticación de punto final, el tráfico de punto final sigue estando cifrado, pero Satellite Link actúa únicamente como servicio de tránsito. Esto se aplica incluso a los puntos finales que utilizan el protocolo TCP o HTTP. En el caso de los puntos finales con el protocolo TLS o HTTPS, el tráfico que pase por Satellite Link intentará utilizar la autenticación simple de forma predeterminada, basándose en sus certificados integrados bien conocidos, lo que puede ser suficiente o no.

Revisa las siguientes opciones de autenticación.

Autenticación simple entre el servicio Satellite Link y el destino
El servidor de destino se autentica con el servicio Satellite Link. Para configurar la autenticación simple con el destino, su punto final debe tener un protocolo de destino de TLS. Si el certificado del servidor de destino no está firmado por una autoridad de certificación conocida o no está autofirmado, deberá configurar un certificado o cadena de CA de confianza para validar el certificado del servidor de destino.
Autenticación sencilla con el servicio Satellite Link
El servicio Satellite Link se autentica en la fuente. Para configurar la autenticación simple con el servicio Satellite Link, debe establecer el protocolo de origen del punto final en TLS o HTTPS. La configuración del certificado depende entonces del tipo de destino del endpoint.
Para los puntos finales con tipo de destino "nube", debe proporcionar un certificado de servidor y una clave que el servicio Satellite Link utilizará para autenticarse con el origen. Tenga en cuenta que si el certificado de su servidor no está firmado por una autoridad de firma conocida, también deberá instalar un certificado raíz CA en su entorno de origen.
Para los endpoints con tipo de destino 'location', no es necesario configurar ningún certificado de servicio Satellite Link porque Satellite Link utiliza su propio certificado firmado por DigiCert. Los certificados DigiCert son compatibles con todos los navegadores y plataformas modernas, pero si su fuente no tiene un certificado CA raíz, necesitará descargar uno de DigiCert e instalarlo en su entorno fuente.
Autenticación mutua entre Satellite Link y el servidor de destino
Con la autenticación mutua, el servidor de destino se autentica ante el servicio Satellite Link y el servicio Satellite Link debe autenticarse ante el destino. Para configurar la autenticación mutua entre el servicio Satellite Link y el servidor de destino, debe configurar la autenticación del servicio Satellite Link del mismo modo que en el caso de autenticación de destino simple. Sin embargo, también tendrá que proporcionar un certificado y una clave de cliente que el servicio Satellite Link utiliza para autenticarse con el destino.
Autenticación mutua entre la fuente y el servicio de Satellite Link
Con la autenticación mutua, el servicio Satellite Link se autentica ante el origen y el origen debe autenticarse ante el servicio Satellite Link. Para configurar la autenticación mutua entre el origen y el servicio Satellite Link, debe configurar la autenticación del servicio Satellite Link del mismo modo que en el caso de autenticación de origen simple. Sin embargo, también es necesario configurar un certificado de CA que el servicio Satellite Link utiliza para validar el certificado de cliente del origen.
Autenticación mutua entre el origen y el Satellite Link servicio, así como Satellite Link y el servidor de destino
Las solicitudes tanto al servicio Satellite Link como al servidor de destino se autentican. Es necesario verificar dos handshakes de TLS antes de permitir el tráfico. Para esta configuración, crea un punto final con un protocolo de origen TLS o HTTPS y un protocolo de destino TLS. A continuación, proporcione los certificados necesarios para los casos de autenticación mutua de origen y destino, tal y como se ha descrito anteriormente.

Si elige proporcionar sus propios certificados para la autenticación de punto final, es responsable de rotar los certificados y gestionar las fechas de caducidad. Si tu certificado caduca, el tráfico se interrumpe.

Configuración de la autenticación en la CLI

Las opciones source se refieren al protocolo de enlace TLS entre la fuente y el servicio Satellite Link. Las opciones dest se refieren al protocolo de enlace TLS entre el servicio Satellite Link y su servidor de destino. Puede proporcionar certificados para una o ambas de estas conexiones. Los valores no especificados se establecen en sus valores predeterminados.

El comando ibmcloud sat endpoint authn solo se utiliza para configurar certificados para el servicio Satellite Link, que actúa como servidor en el lado de origen y como cliente en el lado de destino. Es posible que también tenga que configurar certificados para el origen (cliente) y el destino (servidor) en sus correspondientes entornos de aplicación.

Revisa los siguientes ejemplos de situaciones.

Autenticación simple entre el servicio Satellite Link y el destino

  1. Cree un endpoint HTTPS hacia un servidor HTTPS.

    ibmcloud sat endpoint create
      --location ID \
      --name myEndpoint \
      --dest-hostname example.com \
      --dest-port 443 \
      --source-protocol HTTPS \
      --dest-type location
    
  2. Configura una conexión sencilla de TLS con el servidor de destino.

    Este ejemplo proporciona el certificado de la CA de confianza para validar el certificado del servidor de destino.

    ibmcloud sat endpoint authn set \
      --location ID \
      --endpoint myEndpoint \
      --dest-tls-mode simple \
      --dest-ca-cert-file /path/to/serverCACerts.pem
    
  3. Antes de que caduquen los certificados, rotándolos sustituyendo los certificados de autenticación existentes por otros nuevos. Solo se sustituyen los certificados que especifiques.

    ibmcloud sat endpoint authn rotate \
      --location ID \
      --endpoint myEndpoint \
      --dest-ca-cert-file /path/to/serverCACerts.pem
    

Autenticación sencilla con el servicio Satellite Link

A diferencia de la mayoría de las configuraciones, que pueden funcionar con un endpoint --dest-type de location o cloud, ésta debe utilizar --dest-type cloud porque no se admite la configuración de certificados de origen para endpoints de destino de ubicación.

  1. Cree un endpoint HTTPS hacia un servidor HTTP.

    ibmcloud sat endpoint create \
      --location ID \
      --name myEndpoint \
      --dest-hostname example.com \
      --dest-port 80 \
      --dest-protocol TCP \
      --source-protocol HTTPS \
      --dest-type cloud
    
  2. Configura una TLS sencilla entre la fuente y el servicio Satellite Link.

    Este ejemplo proporciona el certificado del servidor para que el servicio Satellite Link Link se autentique con el origen.

    ibmcloud sat endpoint authn set \
      --location ID \
      --endpoint myEndpoint \
      --source-tls-mode simple \
      --source-cert-file /path/to/serverCertificate.pem \
      --source-key-file /path/to/serverKey.pem
    
  3. Antes de que caduquen los certificados, rotándolos sustituyendo los certificados de autenticación existentes por otros nuevos. Solo se sustituyen los certificados que especifiques.

    ibmcloud sat endpoint authn rotate \
      --location ID \
      --endpoint myEndpoint \
      --source-cert-file /path/to/serverCertificate.pem \
      --source-key-file /path/to/serverKey.pem
    

Autenticación mutua entre el servicio Satellite Link y el destino

  1. Cree un endpoint HTTP hacia un servidor HTTPS.

    ibmcloud sat endpoint create \
      --location ID \
      --name myEndpoint \
      --dest-hostname example.com \
      --dest-port 443 \
      --dest-protocol TLS \
      --source-protocol HTTP \
      --dest-type location
    
  2. Configura el TLS mutuo con el servidor de destino.

    De forma similar al ejemplo de autenticación simple, --dest-ca-cert-file valida el certificado del servidor de destino. Para realizar el intercambio de datos TLS, --dest-key-file se utilizan y --dest-cert-file.

    ibmcloud sat endpoint authn set \
      --location ID \
      --endpoint myEndpoint \
      --dest-tls-mode mutual \
      --dest-cert-file /path/to/clientCertificate.pem \
      --dest-key-file /path/to/clientKey.pem \
      --dest-ca-cert-file /path/to/serverCACerts.pem
    
  3. Antes de que caduquen los certificados, rotándolos sustituyendo los certificados de autenticación existentes por otros nuevos. Solo se sustituyen los certificados que especifiques.

    ibmcloud sat endpoint authn rotate \
      --location ID \
      --endpoint myEndpoint \
      --dest-cert-file /path/to/clientCertificate.pem \
      --dest-key-file /path/to/clientKey.pem \
      --dest-ca-cert-file /path/to/serverCACerts.pem
    

Autenticación mutua entre la fuente y el servicio Satellite Link

A diferencia de la mayoría de las configuraciones, que pueden funcionar con un endpoint --dest-type de location o cloud, ésta debe utilizar --dest-type cloud porque no se admite la configuración de certificados de origen para endpoints de destino de ubicación.

  1. Cree un endpoint HTTPS hacia un servidor HTTP.

    ibmcloud sat endpoint create \
      --location ID \
      --name myEndpoint \
      --dest-hostname example.com \
      --dest-port 80 \
      --dest-protocol TCP \
      --source-protocol HTTPS \
      --dest-type cloud
    
  2. Configura el TLS entre el servicio de origen y el servicio Satellite Link.

    Este ejemplo proporciona el certificado de servidor para que el servicio Satellite Link Link se autentique con la fuente y el certificado de la CA de confianza para validar el certificado de cliente de la fuente.

    ibmcloud sat endpoint authn set \
      --location ID \
      --endpoint myEndpoint \
      --source-tls-mode mutual \
      --source-cert-file /path/to/serverCertificate.pem \
      --source-key-file /path/to/serverKey.pem \
      --source-ca-cert-file /path/to/clientCACerts.pem
    
  3. Antes de que caduquen los certificados, rotándolos sustituyendo los certificados de autenticación existentes por otros nuevos. Solo se sustituyen los certificados que especifiques.

    ibmcloud sat endpoint authn rotate \
      --location ID \
      --endpoint myEndpoint \
      --source-cert-file /path/to/serverCertificate.pem \
      --source-key-file /path/to/serverKey.pem \
      --source-ca-cert-file /path/to/clientCACerts.pem
    

Autenticación mutua en el origen y el destino

  1. Cree un endpoint HTTPS hacia un servidor HTTPS.

    ibmcloud sat endpoint create \
      --location ID \
      --name myEndpoint \
      --dest-hostname example.com \
      --dest-port 443 \
      --source-protocol HTTPS \
      --dest-type location
    
  2. Configure la autenticación mutua TLS tanto con el servidor de origen como con el de destino.

    Este ejemplo permite la autenticación mutua entre el origen y el servicio Satellite Link, así como entre el servicio Satellite Link y el servidor de destino.

    ibmcloud sat endpoint authn set \
      --location ID \
      --endpoint myEndpoint \
      --source-tls-mode mutual \
      --source-ca-cert-file /path/to/clientCACerts.pem \
      --dest-tls-mode mutual \
      --dest-cert-file /path/to/clientCertificate.pem \
      --dest-key-file /path/to/clientKey.pem \
      --dest-ca-cert-file /path/to/serverCACerts.pem
    
  3. Antes de que caduquen los certificados, rotándolos sustituyendo los certificados de autenticación existentes por otros nuevos. Solo se sustituyen los certificados que especifiques.

    ibmcloud sat endpoint authn rotate \
      --location ID \
      --endpoint myEndpoint \
      --source-ca-cert-file /path/to/clientCACerts.pem \
      --dest-cert-file /path/to/clientCertificate.pem \
      --dest-key-file /path/to/clientKey.pem \
      --dest-ca-cert-file /path/to/serverCACerts.pem
    

Visualización de la configuración de autenticación

El comando ibmcloud sat endpoint authn get se puede utilizar para mostrar los ajustes de autenticación configurados para su endpoint. Por ejemplo, el siguiente comando se puede utilizar para mostrar los modos y certificados de TLS configurados actualmente para el punto final myEndpoint.

ibmcloud sat endpoint authn get --location ID --endpoint myEndpoint

Asumiendo que myEndpoint está configurado como se muestra en el ejemplo de autenticación mutua de origen y destino, este comando producirá una salida similar a la siguiente.

OK
Destination TLS Mode:          mutual
Destination Certificate:       /path/to/clientCertificate.pem
Destination Key:               /path/to/clientKey.pem
Destination CA Certificates:   /path/to/serverCACerts.pem
Source TLS Mode:               mutual
Source Certificate:            -
Source Key:                    -
Source CA Certificates:        /path/to/clientCACerts.pem

Eliminación de certificados

El comando ibmcloud sat endpoint authn set se puede utilizar para eliminar uno o varios certificados existentes. El comando set elimina todos los certificados que no sean los especificados en las opciones del comando. Por ejemplo, el siguiente comando elimina todos los certificados configurados actualmente para el endpoint myEndpoint.

ibmcloud sat endpoint authn set --location ID --endpoint myEndpoint

Si sólo desea eliminar algunos certificados, dejando otros sin cambios, asegúrese de pasar opciones con los valores actuales de los otros certificados. Por ejemplo, el siguiente comando se puede utilizar para eliminar source certificados que están actualmente establecidos, dejando los dest certificados sin cambios.

ibmcloud sat endpoint authn set \
  --location ID \
  --endpoint myEndpoint \
  --dest-tls-mode mutual \
  --dest-cert-file /path/to/current/clientCertificate.pem \
  --dest-key-file /path/to/current/clientKey.pem \
  --dest-ca-cert-file /path/to/current/serverCACerts.pem