Reenvío por túnel SSH

En Datastream, un túnel SSH de reenvío te permite establecer una conexión encriptada con una base de datos de origen a través de una red pública. Para configurar este método de conectividad, elige un host de finalización, permite el tráfico de las direcciones IP de Datastream y configura el túnel en un perfil de conexión.

Paso 1: Elige un host en el que finalizar el túnel

El primer paso para configurar el acceso de túnel SSH para tu base de datos es elegir el host que se usará para finalizar el túnel. El túnel se puede finalizar en el host de la base de datos o en un host independiente (el servidor del túnel).

Usa el servidor de la base de datos

La ventaja de finalizar el túnel en la base de datos es la simplicidad. Hay un host menos involucrado, por lo que no hay máquinas adicionales ni sus costos asociados. La desventaja es que tu servidor de base de datos podría estar en una red protegida que no tiene acceso directo desde Internet.

Usa un servidor de túnel

La finalización del túnel en un servidor independiente tiene la ventaja de mantener el servidor de la base de datos inaccesible desde Internet. Si el servidor de túnel se ve comprometido, está a un paso del servidor de la base de datos. Te recomendamos que quites todos los usuarios y el software no esenciales del servidor de túnel y que lo supervises de cerca con herramientas, como un sistema de detección de intrusiones (IDS).

El servidor de túnel puede ser cualquier host de Unix o Linux que cumpla con los siguientes requisitos:

  1. Se puede acceder a ella desde Internet con SSH.
  2. Pueda acceder a la base de datos.

Paso 2: Crea una lista de IP permitidas

El segundo paso para configurar el acceso al túnel SSH para tu base de datos es permitir que el tráfico de red llegue al servidor del túnel o al host de la base de datos a través de SSH, que suele estar en el puerto TCP 22.

Permite el tráfico de red desde cada una de las direcciones IP de la región en la que se crean los recursos de Datastream.

Paso 3: Usa el túnel SSH

Proporciona los detalles del túnel en la configuración del perfil de conexión. Para obtener más información, consulta Crea un perfil de conexión.

Para autenticar la sesión del túnel SSH, Datastream requiere la contraseña de la cuenta del túnel o una clave privada única. Para usar una clave privada única, puedes usar las herramientas de línea de comandos de OpenSSH o OpenSSL para generar claves.

Datastream almacena la clave privada de forma segura como parte de la configuración del perfil de conexión de Datastream. Debes agregar la clave pública de forma manual al archivo ~/.ssh/authorized_keys del host de bastión.

Genera claves privadas y públicas

Puedes generar claves SSH con el siguiente método:

  • ssh-keygen: Es una herramienta de línea de comandos de OpenSSH para generar pares de claves SSH.

    Marcas útiles:

    • -t: Especifica el tipo de clave que se creará, por ejemplo:

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b: Especifica la longitud de la clave que se creará, por ejemplo:

      ssh-keygen -t rsa -b 2048

    • -y: Lee un archivo de formato OpenSSH privado y, luego, imprime una clave pública de OpenSSH en la salida estándar.

    • -f: Especifica el nombre del archivo de claves, por ejemplo:

      ssh-keygen -y [-f KEY_FILENAME]

    Para obtener más información sobre las marcas compatibles, consulta la documentación de OpenBSD.

Puedes generar una clave PEM privada con el siguiente método:

  • openssl genpkey: Es una herramienta de línea de comandos de OpenSSL para generar una clave privada PEM.

    Marcas útiles:

    • algorithm: Especifica el algoritmo de clave pública que se usará, por ejemplo:

      openssl genpkey -algorithm RSA

    • -out: Especifica el nombre del archivo en el que se generará la clave, por ejemplo:

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    Para obtener más información sobre las marcas compatibles, consulta la documentación de OpenSSL.

¿Qué sigue?