Strategy ONE

Configurar SSL para PostgreSQL y el servicio de almacenamiento

La comunicación entre los Strategy El servicio de almacenamiento y la base de datos PostgreSQL pueden configurarse para utilizar SSL para el cifrado y la autenticación. Ver la Documentación de PostgreSQL para obtener más información.

Configuración del lado del servidor de PostgreSQL

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

Si ya tiene el lado del servidor de PostgreSQL configurado 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 se incluye 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, es posible 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 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.

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

  4. Copie el certificado de 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. Elimine los comentarios 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 tenga que comentar las entradas de 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 los cambios en los dos archivos.

  9. Seleccionar Iniciar > Servicios y reinicie PostgreSQL o Strategy Repositorio.

Configuración del lado del cliente

Una vez finalizada la configuración del lado del servidor de PostgreSQL, puede comenzar la configuración e instalació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 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 
  2. Convierta la clave privada al formato DER con el comando siguiente.

    El controlador JDBC PostgreSQL que utiliza Storage Service requiere que el archivo de clave esté en formato DER, en lugar de PEM.

    Copiar
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
  3. De forma 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:

    Windows: <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