SSL es un protocolo estándar del sector que se utiliza para proteger las conexiones de red entre el cliente y el servidor. Después de la versión 3.0 de SSL, el nombre se cambió a TLS, pero a menudo nos referimos al protocolo como SSL. Amazon RDS admite el cifrado SSL para las instancias de bases de datos de Amazon RDS para Db2. Con SSL/TLS puede cifrar una conexión entre el cliente de la aplicación y la instancia de base de datos de RDS para Db2. La compatibilidad con SSL/TLS está disponible en todas las Regiones de AWS para RDS para Db2.
A fin de habilitar el cifrado SSL/TLS para una instancia de base de datos de RDS para Db2, agregue la opción Db2 SSL al grupo de parámetros asociado a la instancia de base de datos. Amazon RDS utiliza un segundo puerto, según lo requiera Db2, para las conexiones SSL/TLS. Esto permite que se produzca la comunicación cifrada de SSL y de texto sin cifrar al mismo tiempo entre una instancia de base de datos y un cliente Db2. Por ejemplo, es posible utilizar el puerto con la comunicación de texto sin cifrar para ponerse en contacto con otros recursos dentro de una VPC mientras se utiliza el puerto con comunicación cifrada SSL para ponerse en contacto con recursos situados fuera de la VPC.
Crear una conexión SSL/TLS
Para crear una conexión SSL/TLS, elija una autoridad de certificación (CA), descargue un paquete de certificados para todas las Regiones de AWS y agregue parámetros a un grupo de parámetros personalizado.
Paso 1: elegir una CA y descargar un certificado
Elija una autoridad de certificación (CA) y descargue un paquete de certificados para todas las Regiones de AWS. Para obtener más información, consulte Uso de SSL/TLS para cifrar una conexión a una instancia o clúster de base de datos.
Paso 2: actualizar los parámetros de un grupo de parámetros personalizado
importante
Si utiliza el modelo traiga su propia licencia (BYOL) para RDS para Db2, modifique el grupo de parámetros personalizado que creó para su IBM Customer ID y su IBM Site ID. Si utiliza un modelo de licencia diferente para RDS para Db2, siga el procedimiento para agregar parámetros a un grupo de parámetros personalizado. Para obtener más información, consulte Opciones de licencias de Amazon RDS para Db2.
No puede modificar los grupos de parámetros predeterminados de las instancias de base de datos de RDS para Db2. Por lo tanto, debe crear un grupo de parámetros personalizado, modificarlo y asociarlo a las instancias de base de datos de RDS para Db2. Para obtener información acerca de los grupos de parámetros, consulte Grupos de parámetros de base de datos para instancias de Amazon RDS.
Utilice la configuración de parámetros en la tabla siguiente.
Parámetro | Valor |
---|---|
DB2COMM |
TCPIP,SSL o SSL |
SSL_SVCENAME |
<any port number except the number used for the non-SSL
port> |
Para actualizar los parámetros de un grupo de parámetros personalizado
-
Cree un grupo de parámetros personalizado ejecutando el comando create-db-parameter-group.
Incluya las siguientes opciones obligatorias:
-
--db-parameter-group-name
: un nombre para el grupo de parámetros que se está creando. -
--db-parameter-group-family
: la edición y la versión principal del motor de Db2. Valores válidos:db2-se-11-5
,db2-ae-11.5
. -
--description
: la descripción para este grupo de parámetros.
Para obtener más información acerca de cómo crear un grupo de parámetros de base de datos, consulte Creación de un grupo de parámetros de base de datos en Amazon RDS.
-
-
Modifique los parámetros del grupo de parámetros personalizado que creó ejecutando el comando modify-db-parameter-group.
Incluya las siguientes opciones obligatorias:
-
--db-parameter-group-name
: el nombre del grupo de parámetros creado. -
--parameters
: una matriz de los nombres de parámetros, valores y métodos de aplicación para la actualización del parámetro.
Para obtener más información acerca de cómo modificar un grupo de parámetros, consulte Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon RDS.
-
-
Asocie el grupo de parámetros a la instancia de base de datos de RDS para Db2. Para obtener más información, consulte Asociación de un grupo de parámetros de base de datos con una instancia de base de datos en Amazon RDS.
Conexión a su servidor de bases de datos Db2
Las instrucciones para conectarse al servidor de bases de datos Db2 son específicas del lenguaje.
Para conectarse a su servidor de bases de datos Db2 mediante Java
-
Descargue el controlador JDBC. Para obtener más información, consulte DB2 JDBC Driver Versions and Downloads
en el servicio de asistencia de IBM. -
Cree un archivo de script de shell con el siguiente contenido. Este script agrega todos los certificados del paquete a un Java KeyStore.
importante
Compruebe que
keytool
exista en la ruta del script para que el script pueda localizarlo. Si utiliza un cliente de Db2, puede localizar elkeytool
en~sqlib/java/jdk64/jre/bin
.#!/bin/bash PEM_FILE=$1 PASSWORD=$2 KEYSTORE=$3 # number of certs in the PEM file CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l) for N in $(seq 0 $(($CERTS - 1))); do ALIAS="${PEM_FILE%.*}-$N" cat $PEM_FILE | awk "n==$N { print }; /END CERTIFICATE/ { n++ }" | keytool -noprompt -import -trustcacerts -alias $ALIAS -keystore $KEYSTORE -storepass $PASSWORD done
-
Para ejecutar el script de shell e importar el archivo PEM con el paquete de certificados en un Java KeyStore, ejecute el siguiente comando. Sustituya
shell_file_name.sh
por el nombre del archivo de script de shell ypassword
por la contraseña de su Java KeyStore../
shell_file_name.sh
global-bundle.pempassword
truststore.jks -
Para comprobar la conexión a su servidor Db2, ejecute el siguiente comando. Sustituya los siguientes marcadores de posición del ejemplo por la información de la instancia de base de datos de RDS para Db2.
-
ip_address
: la dirección IP del punto de conexión de la instancia de base de datos. -
port
: número de puerto de la conexión SSL. Puede ser cualquier número de puerto, excepto el número que se utiliza para el puerto que no es SSL. -
database_name
: el nombre de la base de datos en su instancia de base de datos. -
master_username
: el nombre de usuario maestro para la instancia de base de datos. -
master_password
: la contraseña maestra de la instancia de base de datos.
export trustStorePassword=MyPassword java -cp ~/dsdriver/jdbc_sqlj_driver/linuxamd64/db2jcc4.jar \ com.ibm.db2.jcc.DB2Jcc -url \ "jdbc:db2://
ip_address
:port
/database_name
:\ sslConnection=true;sslTrustStoreLocation=\ ~/truststore.jks;\ sslTrustStorePassword=${trustStorePassword};\ sslVersion=TLSv1.2;\ encryptionAlgorithm=2;\ securityMechanism=7;" \ -usermaster_username
-passwordmaster_password
-