Strategy ONE
Configurar SSL para el consumidor de PostgreSQL y Platform Analytics
La comunicación entre el consumidor de Platform Analytics y una base de datos de PostgreSQL se puede configurar para utilizar SSL para el cifrado y la autenticación. Para obtener más información, consulte la Documentación de PostgreSQL.
- Windows
- Linux
Configuración del servidor PostgreSQL
Debe tener OpenSSL versión 1.1.0 o posterior instalada.
-
Ejecutar
OpenSSL como administrador para generar una clave privada. Debe proporcionar una frase de contraseña al generar la clave privada:openssl no está incluido al principio de cada línea porque los comandos se están ejecutando con la aplicación OpenSSL. Si los certificados y las claves se generan en un sistema Unix, es posible que tenga que incluir openssl antes de cada línea.
Copiargenrsa -des3 -out server.key 1024
rsa -in server.key -out server.key -
Cree el certificado de servidor:
Es posible que tenga que volver a lanzar la aplicación OpenSSL para crear correctamente el certificado de servidor.
-subj es un acceso directo para evitar la solicitud de información.
-x509 genera un certificado autofirmado en lugar de una solicitud de certificado.
Copiarreq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP or HOSTNAME"
-
Abra el símbolo del sistema o el explorador de archivos y navegue hasta la ubicación del certificado del servidor.
-
Copie el certificado de servidor recién creado para crear la autoridad de certificación:
Copiarcopy server.crt root.crt
-
Añada lo siguiente a la postgres.conf archivo:
Copiarlisten_addresses = '*' # what IP address(es) to listen on;
Elimine los comentarios y modifique lo siguiente:
Copiarssl = on
ssl_ca_file = '\\LOCATION_OF_FILE\\root.crt'
ssl_cert_file = '\\LOCATION_OF_FILE\\server.crt'
ssl_key_file = '\\LOCATION_OF_FILE\\server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on -
En el pg_hba.conf , añada o modifique lo siguiente:
Es posible que tenga que comentar las entradas de host.
hostssl aplica SSL para DB_USERNAME.
clientcert=1 aplica la autenticación de cliente (autenticación bidireccional).
Copiarhostssl platform_analytics_wh DB_USERNAME
CLIENT_IP/32 cert clientcert=1 -
Guarde los cambios en los dos archivos.
- Abrir Iniciar > Servicios y reinicie PostgreSQL o MicroStrategy Repository.
Configuración del cliente
-
Cree la clave privada y el certificado:
Copiargenrsa -des3 -out postgresql.key 1024
rsa -in postgresql.key -out postgresql.key
req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserialSi recibe un error, puede que tenga que comentar tsa_policy1 en el openssl.cnf archivo. Guarde y vuelva a lanzar openssl como administrador.
Copiar# Policies used by the TSA examples.
#tsa_policy1 = 1.2.3.4.1
tsa_policy2 = 1.2.3.4.5.6
tsa_policy3 = 1.2.3.4.5.7 -
Convierta la clave privada al formato DER con el siguiente comando:
El controlador JDBC PostgreSQL que utiliza Platform Analytics requiere que el archivo de clave esté en formato DER y no en formato PEM.
Copiarpkcs8 -topk8 -inform PEM -in postgresql.key -outform
DER -nocrypt -out postgresql.key.der -
Dependiendo del controlador de ODBC que se utilice para PostgreSQL, puede ser necesario un almacén de claves. Para crear un almacén de claves:
Copiarpkcs12 -export -in postgresql.crt -inkey
postgresql.key -out postgresql.p12 -
Copie los archivos que se crearon en el equipo cliente y actualice los PAConsumerConfig.yaml con la ruta siguiente al certificado y la clave.
La clave de cliente está en DER formato.
CopiarpgWarehouseDbConnection:
pgWhHost: YOUR_HOST
pgWhUser: DB_USERNAME
pgWhPasswd: YOUR_PASSWORD
pgWhPort: 5432
pgWhDb: platform_analytics_wh
pgWhSSLcert: \LOCATION_OF_FILE\postgresql.crt
pgWhSSLkey: \LOCATION_OF_FILE\postgresql.key.der
pgWhSSLrootcert: \LOCATION_OF_FILE\root.crt
pgWhSSLmode: verify-ca
Configuración del servidor PostgreSQL
-
Genere una clave privada con OpenSSL. Debe proporcionar una frase de contraseña al generar una clave privada:
Copiaropenssl genrsa -des3 -out server.key 1024
-
Eliminar la frase de contraseña:
Copiaropenssl rsa -in server.key -out server.key
-
Conceda acceso al archivo de clave.
Los permisos sobre server.key debe deshabilitar cualquier acceso al mundo o grupo. Para ello, ajuste el chmod permiso para 0600. De forma alternativa, el archivo puede ser propiedad de root y tener acceso de lectura de grupo, es decir, chmod 0640 permisos. Esta configuración está pensada para instalaciones en las que el sistema operativo administra los archivos de certificados y claves. El usuario bajo el que se ejecuta el servidor de PostgreSQL debe convertirse en miembro del grupo que tiene acceso a esos archivos de certificado y clave.
Cambie los permisos y el propietario del archivo al usuario del sistema que ejecuta PostgreSQL:
Copiarchown PSQL_OWNER:PSQL_OWNER server.key
chmod 0600 server.keySi es propiedad de root:
Copiarchown root:root server.key
chmod 06040 server.key -
Cree el certificado de servidor y la autoridad de certificación:
-subj es un acceso directo para evitar que se pida la información.
-x509 genera un certificado autofirmado en lugar de una solicitud de certificado.
Copiaropenssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
cp server.crt root.crt -
Haga lo siguiente para todos los certificados creados:
Copiarchown PSQL_OWNER:PSQL_OWNER server.crt
chmod 0600 server.crt
chown PSQL_OWNER:PSQL_OWNER root.crt
chmod 0600 root.crt -
Añada lo siguiente a la postgres.conf archivo:
Copiarlisten_addresses = '*' # what IP address(es) to listen on;
Elimine los comentarios y modifique lo siguiente:
Copiarssl = on
ssl_ca_file = '/LOCATION_OF_FILE/root.crt'
ssl_cert_file = '/LOCATION_OF_FILE/server.crt'
ssl_key_file = '/LOCATION_OF_FILE/server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on -
En el pg_hba.conf , añada o modifique lo siguiente:
Es posible que tenga que comentar las entradas de host.
hostssl aplica SSL para DB_USERNAME.
clientcert=1 aplica la autenticación de cliente (autenticación bidireccional).
Copiarhostssl platform_analytics_wh DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
Reinicie PostgreSQL o MicroStrategy Repository.
Si PostgreSQL se instaló fuera de MicroStrategy, use un comando como el siguiente:
Copiarsystemctl restart postgresql-11
Si se utiliza MicroStrategy Repository para Platform Analytics, use el siguiente comando:
Este comando no puede ejecutarse ya que root.
Copiarcd /opt/MicroStrategy/PlatformAnalytics/bin
./mstr_pg_ctl restart
Configuración del cliente
-
Cree la clave privada y el certificado:
Copiaropenssl genrsa -des3 -out postgresql.key 1024
openssl rsa -in postgresql.key -out postgresql.key
openssl req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
openssl x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial -
Convierta la clave privada al formato DER con el siguiente comando:
El controlador JDBC PostgreSQL que utiliza Platform Analytics requiere que el archivo de clave esté en formato DER y no en formato PEM.
Copiaropenss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
-
Dependiendo del controlador de ODBC que se utilice para PostgreSQL, puede ser necesario un almacén de claves. Para crear un almacén de claves:
Copiaropenss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
-
Copie los archivos que se crearon en el equipo cliente y actualice los PAConsumerConfig.yaml con la ruta siguiente al certificado y la clave.
La clave de cliente está en DER formato.
CopiarpgWarehouseDbConnection:
pgWhHost: YOUR_HOST
pgWhUser: DB_USERNAME
pgWhPasswd: YOUR_PASSWORD
pgWhPort: 5432
pgWhDb: platform_analytics_wh
pgWhSSLcert: /LOCATION_OF_FILE/postgresql.crt
pgWhSSLkey: /LOCATION_OF_FILE/postgresql.key.der
pgWhSSLrootcert: /LOCATION_OF_FILE/root.crt
pgWhSSLmode: verify-ca