MicroStrategy ONE

Configurar SSL para PostgreSQL y el servicio de almacenamiento

La comunicación entre el servicio Microstrategy Storage y una base de datos PostgreSQL se puede configurar para utilizar SSL para cifrado y autenticación. Ver la Documentación de PostgreSQL para obtener más información.

Configuración del lado del servidor PostgreSQL

Debe tener instalada la versión 1.1.0 o posterior de OpenSSL.

Si ya ha configurado el lado del servidor de PostgreSQL para Platform Analytics o Colaboration Service, vaya a Configuración del lado del cliente con un server.key y root.crt

  1. Ejecute la aplicación 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 ya que los comandos se ejecutan con la aplicación OpenSSL. Si los certificados y las claves se generan en un sistema Unix o en la línea de comandos de Windows, puede que tenga que incluir openssl antes de cada línea.

    Copiar
    genrsa -out server.key 1024
  2. Cree el certificado de servidor.

    Es posible que sea necesario reiniciar la aplicación OpenSSL para crear correctamente el certificado del 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.

    Copiar
    req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
  3. Abra un símbolo del sistema o el Explorador de archivos y navegue hasta donde se encuentra el certificado del servidor.

  4. Copie el certificado del servidor recién creado para crear la autoridad de certificación.

    Copiar
    copy server.crt root.crt
  5. Añada la línea que se muestra a continuación para postgres.conf.

    Copiar
    listen_addresses = '*' # what IP address(es) to listen on;
  6. Descomente y modifique el código siguiente.

    Copiar
    ssl = 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
  7. En pg_hba.conf, añada o modifique el código siguiente.

    Es posible que necesite comentar las entradas del host.

    hostssl aplica SSL para DB_USERNAME.

    clientcert=1 aplica la autenticación de cliente (autenticación bidireccional).

    Copiar
    hostssl   mstr_library   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. Guarde sus cambios en ambos archivos.

  9. Seleccionar Iniciar > Servicios y reinicie PostgreSQL o MicroStrategy Repository.

Configuración del lado del cliente

Después de finalizar la configuración del lado del servidor de PostgreSQL, puede iniciar la configuración y configuración del lado del cliente. Esto genera certificados y claves para el servicio de Almacenamiento.

Debe crear dos pares de claves y certificados para el mstr_library usuario y el mstr_library_application usuario.

  1. Cree la clave privada y el certificado para el mstr_library usuario:

    Copiar
    genrsa -out mstr_library.key 1024
    req -new -key mstr_library.key -out mstr_library.csr -subj "/CN=mstr_library"
    x509 -req -in mstr_library.csr -CA root.crt -CAkey server.key -out mstr_library.crt -CAcreateserial

    Si recibe un error, puede que tenga que comentar tsa_policy1 en openssl.cnf. Guarde y reinicie 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 
  2. Convierta la clave privada al formato DER usando el siguiente comando.

    El controlador JDBC PostgreSQL utilizado por el servicio de almacenamiento requiere que el archivo de clave esté en formato DER, en lugar de formato PEM.

    Copiar
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
  3. De manera similar a los pasos 1 y 2, cree la clave privada y el certificado para el mstr_library_application usuario:

    Copiar
    genrsa -out mstr_library_application.key 1024
    req -new -key mstr_library_application.key -out mstr_library_application.csr -subj "/CN=mstr_library_application"
    x509 -req -in mstr_library_application.csr -CA root.crt -CAkey server.key -out mstr_library_application.crt -CAcreateserial
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library_application.key -out mstr_library_application.pk8 -nocrypt
  4. Copie los archivos que se crearon en el servidor de Library y actualice configOverride.properties con la ruta absoluta al certificado y la clave.

    El configOverride.properties el archivo se puede encontrar en:

    Ventanas: <DEPLOY_LOCATION>\webapps\MicroStrategyLibrary\WEB-INF\classes\config\ConfigOverride.properties

    Linux: <DEPLOY_LOCATION>/webapps/MicroStrategyLibrary/WEB-INF/classes/config/configOverride.properties

    Copiar
    #postgresql database connection config
    datasource.url=jdbc:postgresql://YOUR_HOST:5432/mstr_library
    datasource.tlsEnabled=true
    datasource.sslMode=require
    datasource.sslRootCert=/LOCATION_OF_FILE/root.crt
    #for Windows: datasource.sslRootCert=Z:\LOCATION_OF_FILE\root.crt

    datasource.username=mstr_library_application
    datasource.password=<any string>
    datasource.sslCert=/LOCATION_OF_FILE/mstr_library_application.crt
    datasource.sslKey=/LOCATION_OF_FILE/mstr_library_application.pk8

    datasource.admin.username=mstr_library
    datasource.admin.password=<any string>
    datasource.admin.sslCert=/LOCATION_OF_FILE/mstr_library.crt
    datasource.admin.sslKey=/LOCATION_OF_FILE/mstr_library.pk8