Configuración de las opciones de seguridad para las conexiones - Amazon Redshift

Configuración de las opciones de seguridad para las conexiones

Amazon Redshift admite las conexiones de capa de conexión segura (SSL) para cifrar datos y los certificados de servidor para validar el certificado del servidor al que se conecta el cliente.

Conexión mediante una SSL

Para admitir las conexiones SSL, Amazon Redshift crea e instala un certificado SSL emitido por AWS Certificate Manager (ACM) en cada clúster. La mayoría de los sistemas operativos, navegadores web y clientes confían públicamente en los certificados ACM. No obstante, este cambio lo afectará en caso de que sus clientes o aplicaciones SQL se conectan a Amazon Redshift mediante SSL con el conjunto de opciones de conexión sslmode establecido como require, verify-ca o verify-full. Si su cliente necesita un certificado, Amazon Redshift proporciona un certificado de paquete de la siguiente manera:

  • Descargue el paquete desde https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt.

    • El número de suma de comprobación MD5 esperado es 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • El número de suma de comprobación sha256 es 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    No utilice el paquete de certificados anterior que se encontraba enhttps://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt.

  • En la Región de AWS China, descargue el paquete desde https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt.

    • El número de suma de comprobación MD5 esperado es 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • El número de suma de comprobación sha256 es 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    No utilice los paquetes de certificados anteriores que se encontraban en https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/redshift-ca-bundle.crt y https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem

importante

Amazon Redshift ha cambiado la forma en que se administran los certificados SSL. Es posible que tenga que actualizar sus certificados de CA raíz de confianza actuales para seguir conectándose a los clústeres que usan SSL. Para obtener más información, consulte Migración a certificados de ACM para las conexiones SSL.

De manera predeterminada, las bases de datos del clúster aceptan una conexión, independientemente de que use una SSL o no. Para configurar que su clúster requiera una conexión SSL, establezca el parámetro require_SSL en true en el grupo de parámetros asociado al clúster.

Amazon Redshift admite un modo SSL conforme con el Estándar de procesamiento de la información federal (FIPS, Federal Information Processing Standard) 140-2. El modo SSL compatible con FIPS está deshabilitado de manera predeterminada.

importante

Habilite el modo SSL compatible con FIPS solo si el sistema debe ser compatible con FIPS.

Para habilitar el modo SSL compatible con FIPS, establezca tanto el parámetro use_fips_ssl como require_SSL en true en el grupo de parámetros asociado al clúster. Para obtener información acerca de cómo modificar un grupo de parámetros, consulte Grupos de parámetros de Amazon Redshift.

Amazon Redshift es compatible con el protocolo de acuerdo de clave de Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). Con ECDHE, tanto el cliente como el servidor tienen un par de claves pública-privada de curva elíptica que se usa para establecer un código secreto compartido sobre un canal inseguro. No es necesario que configure nada en Amazon Redshift para habilitar ECDHE. Si se conecta desde una herramienta de cliente SQL que usa ECDHE para cifrar la comunicación entre el cliente y el servidor, Amazon Redshift usará la lista de cifrado proporcionada para realizar la conexión adecuada. Para obtener más información, consulte Elliptic Curve Diffie-Hellman en Wikipedia y Ciphers en el sitio web de OpenSSL.

Uso de certificados SSL y de entidad de certificación de confianza en ODBC

Si se conecta usando los controladores ODBC de Amazon Redshift más recientes (versión 1.3.7.1000 o posterior), puede omitir esta sección. Para descargar los controladores más recientes, consulte Configuración de una conexión ODBC.

Es posible que tenga que actualizar sus certificados de CA raíz de confianza actuales para seguir conectándose a los clústeres que usan SSL. Para obtener más información, consulte Conexión mediante una SSL.

Puede verificar que el certificado que descargó concuerda con el número de suma de comprobación MD5 esperado. Para hacer esto, puede usar el programa Md5sum en sistemas operativos Linux u otra herramienta en sistemas operativos Windows y Mac OS X.

Los DSN de ODBC contienen un valor sslmode que determina cómo se va a administrar el cifrado en las conexiones cliente y la verificación del certificado del servidor. Amazon Redshift admite los siguientes valores sslmode de la conexión de cliente:

  • disable

    SSL está deshabilitada y la conexión no está cifrada.

  • allow

    Se utiliza SSL si el servidor lo requiere.

  • prefer

    Se utiliza SSL si el servidor lo admite. Amazon Redshift es compatible con SSL y, por lo tanto, se utiliza cuando se establece sslmode en prefer.

  • require

    SSL es obligatoria.

  • verify-ca

    Se debe utilizar SSL y se debe comprobar el certificado de servidor.

  • verify-full

    Se debe utilizar SSL. Se debe comprobar el certificado de servidor y el nombre del host debe coincidir con el atributo del nombre de host del certificado.

Puede determinar si se utiliza SSL y si se verifican los certificados del servidor en una conexión entre el cliente y el servidor. Para ello, debe revisar la configuración de sslmode para su DSN de ODBC en el cliente y la configuración de require_SSL para el clúster de Amazon Redshift en el servidor. En la tabla a continuación, se describe el resultado del cifrado para diferentes combinaciones de configuraciones de clientes y servidores:

sslmode (cliente) require_SSL (servidor) Resultado
disable false La conexión no está cifrada.
disable true No se puede establecer la conexión porque el servidor requiere SSL y el cliente tiene SSL deshabilitado para la conexión.
allow true La conexión está cifrada.
allow false La conexión no está cifrada.
prefer o require true La conexión está cifrada.
prefer o require false La conexión está cifrada.
verify-ca true La conexión está cifrada y se comprueba el certificado de servidor.
verify-ca false La conexión está cifrada y se comprueba el certificado de servidor.
verify-full true La conexión está cifrada y se comprueba el certificado de servidor y el nombre de host.
verify-full false La conexión está cifrada y se comprueba el certificado de servidor y el nombre de host.

Conexión a través del certificado de servidor con ODBC en Microsoft Windows

Si desea conectarse al clúster mediante SSL y el certificado de servidor, descargue primero el certificado en el equipo cliente o la instancia de Amazon EC2. A continuación, configure el DSN ODBC.

  1. Descargue el paquete de entidades de certificación de Amazon Redshift en la computadora cliente, en la carpeta lib del directorio de instalación del controlador, y guarde el archivo como root.crt. Para obtener información sobre la descarga, consulte Conexión mediante una SSL.

  2. Abra ODBC Data Source Administrator (Administrador de orígenes de datos de ODBC) y agregue o edite la entrada DSN del sistema de su conexión ODBC. En SSL Mode (Modo SSL), seleccione verify-full a menos que use un alias DNS. Si usa un alias DNS, seleccione verify-ca. A continuación, elija Guardar.

    Para obtener más información acerca de la configuración del DSN de ODBC, consulte Configuración de una conexión ODBC.

Uso de certificados SSL y de servidor en Java

SSL proporciona una capa de seguridad al cifrar los datos que se mueven entre su cliente y el clúster. El uso de un certificado de servidor proporciona una capa adicional de seguridad, ya que comprueba que el clúster sea un clúster de Amazon Redshift. La validación la hace comprobando que el certificado de servidor se instale automáticamente en todos los clústeres que usted aprovisiona. Para obtener más información acerca del uso de certificados de servidor con JDBC, visite Configuring the Client en la documentación de PostgreSQL.

Conexión mediante certificados de entidad de certificación en Java

importante

Amazon Redshift ha cambiado la forma en que se administran los certificados SSL. Es posible que tenga que actualizar sus certificados de CA raíz de confianza actuales para seguir conectándose a los clústeres que usan SSL. Para obtener más información, consulte Conexión mediante una SSL.

Para conectarse mediante certificados de CA de confianza

Puede usar el archivo redshift-keytool.jar para importar los certificados de entidad de certificación del paquete de entidades de certificación de Amazon Redshift en un TrustStore de Java o en su TrustStore privado.

  1. Si usa la opción -Djavax.net.ssl.trustStore de la línea de comandos de Java, elimínela de la línea de comandos, si es posible.

  2. Descargue redshift-keytool.jar.

  3. Realice una de las acciones siguientes:

    • Para importar el paquete de entidades de certificación de Amazon Redshift en un TrustStore de Java, ejecute el siguiente comando.

      java -jar redshift-keytool.jar -s
    • Para importar el paquete de entidades de certificación de Amazon Redshift en su TrustStore privado, ejecute el siguiente comando:

      java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password>