MicroStrategy ONE

Configure SSL para PostgreSQL e o serviço de armazenamento

A comunicação entre o serviço Microstrategy Storage e um banco de dados PostgreSQL pode ser configurada para usar SSL para criptografia e autenticação. Veja o Documentação PostgreSQL Para maiores informações.

Configuração do lado do servidor PostgreSQL

Você deve ter o OpenSSL versão 1.1.0 ou posterior instalado.

Se você já tiver o servidor PostgreSQL configurado para Platform Analytics ou Collaboration Service, vá para Configuração do lado do cliente usando um gerado server.key e root.crt

  1. Execute o aplicativo OpenSSL como administrador para gerar uma chave privada. Você deve fornecer uma senha ao gerar a chave privada.

    openssl não está incluído no início de cada linha, pois os comandos são executados com o aplicativo OpenSSL. Se os certificados e chaves estiverem sendo gerados em um sistema Unix ou linha de comando do Windows, pode ser necessário incluir openssl antes de cada linha.

    Copiar
    genrsa -out server.key 1024
  2. Crie o certificado do servidor.

    O aplicativo OpenSSL pode precisar ser reiniciado para criar o certificado do servidor com êxito.

    -subj é um atalho para evitar a solicitação de informações.

    -x509 produz um certificado autoassinado em vez de uma solicitação de certificado.

    Copiar
    req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
  3. Abra um prompt de comando ou o File Explorer e navegue até onde o certificado do servidor está localizado.

  4. Copie o certificado de servidor recém-criado para criar a autoridade de certificação.

    Copiar
    copy server.crt root.crt
  5. Adicione a linha mostrada abaixo para postgres.conf.

    Copiar
    listen_addresses = '*' # what IP address(es) to listen on;
  6. Remova o comentário e modifique o código abaixo.

    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. Em pg_hba.conf, adicione ou modifique o código abaixo.

    Talvez seja necessário comentar as entradas do host.

    hostssl impõe SSL para DB_USERNAME.

    clientcert=1 impõe a autenticação do cliente (autenticação bidirecional).

    Copiar
    hostssl   mstr_library   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. Salve suas alterações em ambos os arquivos.

  9. Escolher Começar > Serviços e reinicie o PostgreSQL ou MicroStrategy Repositório.

Configuração do lado do cliente

Depois de concluir a configuração do lado do servidor PostgreSQL, você pode iniciar a configuração e configuração do lado do cliente. Isso gera certificados e chaves para o serviço Armazenamento.

Você deve criar dois pares de chaves e certificados para o mstr_library usuário e o mstr_library_application do utilizador.

  1. Crie a chave privada e o certificado para o mstr_library do utilizador:

    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

    Se você receber um erro, talvez seja necessário comentar tsa_policy1 em openssl.cnf. Salve e reinicie o 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. Converta a chave privada para o formato DER usando o comando abaixo.

    O driver JDBC PostgreSQL usado pelo serviço de armazenamento exige que o arquivo de chave esteja no formato DER, em vez do formato PEM.

    Copiar
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
  3. Semelhante às etapas 1 e 2, crie a chave privada e o certificado para o mstr_library_application do utilizador:

    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 os arquivos que foram criados no Library servidor e atualização configOverride.properties com o caminho absoluto para o certificado e a chave.

    O configOverride.properties arquivo pode ser encontrado em:

    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