Informações |
---|
|
Esta página foi revisada para considerar as configurações do fluig TOTVS Fluig Plataforma na atualização 1.6.5 - Liquid ou superior. Caso possua uma atualização 1.6.4 - Waterdrop ou inferior, acesse: Configuração HTTPS no fluig da release 1.6.0 à a 1.6.4. |
Nota |
---|
|
Clientes cloud precisam entrar em contato com o time de Cloud para que eles realizem esse procedimento. |
...
Dica |
---|
|
Caso encontre dificuldades para cadastrar o serviço, essa documentação pode lhe ajudar: Resolução de inconsistência (PKIX path validation failed) ao cadastrar serviço. |
Índice |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Objetivo
...
O objetivo deste guia é expor apresentar os passos necessário necessários para utilização do fluig sobre TOTVS Fluig Plataforma com o protocolo HTTPS.
Pré-requisitos
...
- Possuir um certificado digital válido;
- Ter um host no DNS configurado para o fluig a plataforma em um domínio específico.
...
Para o certificado ser válido para a internet, este deve ser emitido para um domínio específico (WildCard) ou para um host deste domínio, o que torna obrigatório configurar o fluig a plataforma com o mesmo domínio do certificado caso deseje o uso de HTTPS (ex: *.suaempresa.com.br).
Informações |
---|
|
Se o certificado for vinculado ao fluig Fluig e o acesso continuar sendo via IP (e não pelo domínio), constantes mensagens de certificado não confiável serão apresentadas, pois o navegador tentará validar a URL de acesso com o domínio do certificado, retornando erro. |
Caso sua empresa ainda não possua nenhum certificado, o mesmo deve ser adquirido de uma autoridade certificadora. Não é recomendado o uso de certificados self-signed (auto-assinado), já que alguns navegadores não aceitam este tipo de certificado e podem provocar comportamentos inesperados durante a utilização do fluigda plataforma.
Dica |
---|
|
- Uma alternativa gratuita é oferecida pela Linux Foundation através do site Let's Encrypt. Saiba mais acessando a
FAQ - Caso tenha dúvidas sobre os procedimentos realizados no OpenSSL, consulte a
FAQ - Você também pode conferir se sua configuração HTTPS está funcionando corretamente, através da ferramenta: https://www.
|
Procedimentos de configuração de SSL
Navegue nos passos abaixo para configuração do SSL no servidor de aplicação:
Configuração de HTTPS pelo wcmadmin
...
A partir da atualização Crystal Lake (1.7.1), a configuração de HTTPS pode ser realizada diretamente pelo Painel de controle da plataforma, para isso é necessário seguir os passos abaixo.
Deck of Cards |
---|
history | false |
---|
id | Passos_wcmadmin |
---|
|
Card |
---|
| - Acessar a plataforma com o usuário wcmadmin.
- No menu principal, acionar Painel de Controle, logo depois verificar o agrupador WCM e acionar Configurações do sistema.
Image Added |
Card |
---|
| - Na aba Portal, marcar a opção HTTPS no campo Protocolo.
Painel |
---|
Será apresentada uma mensagem informando que, ao alterar o protocolo para HTTPS, será necessário configurá-lo. |
- Acionar Configurar para prosseguir com a configuração em tela.
Image Added |
Card |
---|
| - Selecionar no campo Plataforma como será configurado o protocolo HTTPS. As opções são: Apache, Nginx ou TOTVS Fluig Plataforma.
Painel |
---|
A opção Apache ou Nginx é utilizada quando a plataforma é configurada através de um proxy reverso. Sempre recomendamos configurar um ambiente distribuído (com topologia DMZ) para reforçar a segurança de seu ambiente. Para mais detalhes consulte a documentação de Proxy reverso. |
- Configurar o certificado digital de acordo com a opção escolhida:
Column |
---|
| TOTVS Fluig Plataforma
Veja a imagem Preencha os campos abaixo: - Certificado
Selecione o certificado digital que será utilizado para estabelecer a conexão segura da plataforma. Os formatos de arquivos permitidos são: .p12 e .pfx - Senha
Informe a senha do certificado digital para estabelecer a conexão segura da plataforma. - Caminho da chave
Informe o caminho completo (com extensão), da chave privada do certificado para estabelecer a conexão segura da plataforma.
|
Column |
---|
| Apache ou Nginx
Veja a imagem Primeiramente, preencha os campos abaixo: - Caminho do certificado
Informe o caminho completo (com extensão .crt, .pem ou .p12), do certificado digital gerado para estabelecer a conexão segura da plataforma. - Caminho da chave
Informe o caminho completo (com extensão .key ou .pem), da chave privada do certificado para estabelecer a conexão segura da plataforma.
Após isso, acione a opção Gerar arquivo para gerar um template com as configurações HTTPS. Por último, baixe o arquivo gerado e utilize para finalizar a configuração na plataforma selecionada (Nginx ou Apache). |
|
Card |
---|
| Painel |
---|
Serão realizadas algumas verificações, para validar se o certificado está correto, se a senha informada corresponde ao certificado, entre outras. Se estiver tudo certo, a plataforma realiza as alterações necessárias para concluir a configuração. Ao final, será apresentada a mensagem de sucesso. |
|
Card |
---|
| - Reiniciar os serviços da plataforma.
Painel |
---|
Após configurar o HTTPS na instalação da plataforma, é recomendável conferir se está funcionando corretamente. O teste pode ser feito através da ferramenta SSL Checker. Com a configuração, será possível acessar também o aplicativo Fluig Mobile com HTTPS, sem necessidade de configurações adicionais. |
|
|
Configuração de HTTPS manual
...
Caso opte por fazer a configuração manual ou esteja em uma atualização anterior a 1.7.1, os procedimentos de configuração de SSL devem ser realizados conforme os passos abaixo:
Painel |
---|
|
Observação interna: A explicação abaixo foi repassada ao artigo: https://centraldeatendimento.fluig.com/hc/pt-br/articles/360027390832 (Como configurar a plataforma com o protocolo HTTPS) Caso tenha alguma alteração, lembrar de repassar a esse artigo! |
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | ssl |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
- Parar os serviços do fluig Fluig (fluig, fluig_indexer, fluig_RealTime e cache, caso estiver utilizando cache externo e.g: MemCached ou redis).
|
Card |
---|
default | true |
---|
id | 2 |
---|
label | Passo 2 |
---|
|
- No arquivo domain.xml, localizado em [Instalação fluigFluig]/appserver/domain/configuration, incluir a tag <https-listener> no subsystem "undertow". Não deve ser retirado retirada a tag contendo as configurações HTTP.
- Na tag HTTP, acrescente o atributo proxy-address-forwarding="true" conforme mostrado abaixo:
Caso deseje restringir o tráfego de cookie de sessão em conexões seguras (HTTPS), basta incluir nas configurações do subsystem undertow a tag session-cookie informando o atributo secure ="true". (Opcional) Dica |
---|
| A partir da atualização Crystal Lake (1.7.1), é possível habilitar a opção Flags "HttpOnly" e "Secure" nos cookies nas Configurações do sistema, não sendo mais necessário definir essa configuração manualmente. |
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| <subsystem xmlns="urn:jboss:domain:undertow:23.01">
<...>
<server name="default-server">
<http-listener max-post-size="1073741824" name="default" socket-binding="http" proxy-address-forwarding="true"/> <!-- 2- Adicionar nesta linha o atributo -->
<https-listener max-post-size="1073741824" name="https" secure="true" security-realm="TOTVSTech" socket-binding="https"/> <!-- 1- Incluir esta linha para validaçãovalidacao do certificado -->
<...>
</server>
<servlet-container name="default" stack-trace-on-error="local-only">
<...>
<session-cookie http-only="true" secure="true"/> <!-- 3- Incluir esta linha para restringir o tráfegotrafego de cookie de sessãosessao -->
</servlet-container>
<...>
</subsystem> |
|
Card |
---|
| - No arquivo host.xml, localizado em [Instalação fluig]/appserver/domain/configuration, altere o <security-realm name="TOTVSTech"> incluindo as configurações de certificadoA partir da atualização 1.7.0 (Lake), a tag <security-realm> não existirá mais, porém pode ser incluída conforme desejo do usuário em habilitar o uso do HTTPS. Nesse caso, será preciso procurar a tag <security-realm> no arquivo host.xml.
Disponibilizamos as instruções de configuração do repositório de certificados no formato PKCS12 (p12) portanto, siga as instruções abaixo: - Incluir a tag <server-identities></server-identities> juntamente com <ssl> e o <keystore> conforme exemplicado no código abaixo;
- No atributo path, informe o diretório do repositório de certificados (keystore.p12).
- Em key-password e keystore-password, substitua a valor "suasenha" pela senha utilizada na criação do repositório de certificados (keystore).
Nota |
---|
| Em <security-realm name="ApplicationRealm"> também contém as configurações de certificado porém, suas informações não devem ser modificadas, deixando os valores padrões salvos. |
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | host.xml |
---|
| <security-realm name="TOTVSTech">
<server-identities>
<ssl>
<ssl>
<keystore path="certs\fluig.p12" keystore-password="suasenha" key-password="suasenha" relative-to="jboss.domain.config.dir"/>
</ssl>
</server-identities>
<...>
</security-realm> |
Dica |
---|
| O diretório "certs" é relativo ao diretório de configuração do servidor de aplicação, por exemplo, "C:\fluig\appserver\domain\configuration\certs"se refere à pasta onde os certificados são guardados. Recomendamos que esse diretório seja criado dentro do volume, para evitar que, em uma atualização ou migração de tecnologia, a pasta seja afetada. Dúvidas sobre a utilização do OpenSSL ou sobre os comandos de exportação do PKCS12 (p12), consulte a FAQ documentação Utilizando OpenSSL para configurar HTTPS. |
|
Card |
---|
|
- Iniciar novamente os serviços do fluig Fluig em sua ordem correta (cache, caso estiver utilizando cache externo e.g: MemCached ou redis, fluig_indexer, fluig_RealTime e fluig).
- O acesso será realizado via HTTPS, na porta 8443.
|
Card |
---|
|
- Após configurar o HTTPS na instalação do TOTVS Fluig Plataforma, é necessário ajustar o domínio de acesso com o novo protocolo.
- Para isto, será necessário acessar a plataforma com o usuário wcmadmin, e nas configurações do sistema, na aba Portal, alterar o Protocolo para HTTPS. Caso não esteja utilizando um web server, é necessário também informar a Porta de acesso do servidor da plataforma. Para mais informações, consulte a documentação Gerenciar configurações do sistema.
|
|
Nota |
---|
|
É recomendável revisar o limite de tempo das requisições lentas, como forma de trazer mais segurança à plataforma. Acesse a documentação de Prevenção de ataques DDoS Slow Post e Slow Headers e saiba mais. |
Configurações adicionais
...
Configuração para utilização do
...
Fluig Studio com SSL
A alteração abaixo é necessária para o correto funcionamento do plugin fluig Fluig Studio no TOTVS Developer Studio ou Eclipse quando o SSL está habilitado.
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | studio |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
- No diretório em que o fluig Fluig Studio foi instalado, editar o arquivo eclipse.ini;
- Adicione a linha abaixo no final do arquivo.
Bloco de código |
---|
language | bash |
---|
theme | Eclipse |
---|
title | eclipse.ini |
---|
| -Djsse.enableSNIExtension=false |
|
Card |
---|
|
- Para chamadas de Web Service é importante configurar o arquivo de configuração domain.xml localizado em [Instalação fluigFluig]/appserver/domain/configuration.
- Procurar o trecho abaixo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| ...
<subsystem xmlns="urn:jboss:domain:webservices:2.0">
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>10.80.73.203</wsdl-host>
<endpoint-config name="Standard-Endpoint-Config"/>
... |
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| ...
<subsystem xmlns="urn:jboss:domain:webservices:12.20">
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>jbossws.undefined.host</wsdl-host>
<wsdl-uri-scheme>https</wsdl-uri-scheme>
<wsdl-secure-port>443</wsdl-secure-port>
<endpoint-config name="Standard-Endpoint-Config"/>
... |
Nota |
---|
| Alterar a porta da tag "<wsdl-secure-port>443</wsdl-secure-port>" para a porta de acesso utilizada (Portas padrões 443 e 8443). |
|
|
O serviço responsável pelas notificações em tempo real (entrega de dados do servidor para os clientes) também deve ser preparado para funcionar via HTTPS, quando essa configuração for realizada no fluig.
Nota |
---|
|
- Não é permitido utilizar barra invertida ou contra barras "\" para informar os caminhos do certificado e chave privada no arquivo package.json. Caso for utilizada, o serviço de RealTime (Node) não irá subir.
- Caso o certificado possua uma senha na chave informada, é necessário remover a senha. Caso contrário, o Node.js não será iniciado.
- Se o servidor possuir proxy, é necessário liberar as portas do serviço de notificações em tempo real para SSL nesse proxy.
- Caso seu certificado e chave estiverem no formato de repositório de certificados PKCS12 (p12), consulte a FAQ documentação Utilizando OpenSSL para configurar HTTPS para obter os comandos de exportação dos mesmos. Para isso, é preciso que o pacote OpenSSL esteja instalado no servidor.
- Importante mencionar que a linha que contém a porta nas configurações do SSL no arquivo package.json deve ser apagada.
|
...
Atributo | Descrição |
usessl | Informar true, para caracterizar a utilização de configuração HTTPS. |
key | Informar o caminho do arquivo de chave. |
cert | Informar o caminho do arquivo de certificado. |
ca | Informar o caminho do arquivo de certificado. |
passphrase | Esse parâmetro não é obrigatório. Caso tenha sido usada uma senha para geração do certificado, pode ser necessário adicionar esse parâmetro indicando a senha. |
Após a alteração do package.json, o serviço RealTime (Node.js) deve ser reiniciado.
As plataformas de dispositivos móveis (iOS, Android) possuem limitações com relação aos certificados digitais. Por padrão, apenas o certificados homologados por elas são reconhecidos como confiáveis.
...
Plataforma | Como consultar |
---|
iOS | A lista de certificados confiáveis para o iOS está disponível aqui. |
Android | É necessário verificar no aparelho em: Configurações > Segurança > Credenciais Confiáveis Na Aba Sistema existe a lista de certificados confiáveis para aquela versão do Android. Nota |
---|
| Cada versão do Android pode ter uma lista de certificados confiáveis diferente. |
|
Em caso de dúvidas, procure a unidade certificadora para assegurar que seu certificado é homologado pelas plataformas mencionadas acima.
Nota |
---|
|
Caso o seu certificado não esteja na lista dos homologados, realize o procedimento descrito no item Procedimentos de configuração de SSL, mas lembre-se de que o arquivo .p12 que você utilizar deve conter também o certificado intermediário. Para gerar o arquivo .p12 com todos os certificados juntos siga esses passos: - Para gerar o Bundle (intermediário + root):
cat intermediario.pem root.pem > bundle.pem
- Para gerar o PEM do fluig.com:
cat fluig.crt fluig.key bundle.pem > fluig.pem
- Para gerar o PKCS#12 do fluig.com:
openssl pkcs12 -export -out fluig.p12 -inkey fluig.key -in fluig.crt -certfile bundle.pem
|
URL do portal
Após configurar o HTTPS na instalação do fluig, é necessário ajustar a URL do portal com o novo protocolo. Para isto, siga os passos abaixo:
Nota |
---|
|
Para acessar a plataforma com HTTPS através do Fluig |
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | url |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
- Acessar a plataforma com o usuário wcmadmin;
- Abrir o Painel de controle;
- Agrupador WCM;
- Configurações do Sistema.
Image Removed
Card |
---|
|
- Na aba Portal, altere o Protocolo para HTTPS;
- Caso não esteja utilizando um web server, é necessário informar a Porta de acesso do servidor da plataforma.
- Acionar Salvar.
Image Removed
Nota |
---|
Para acessar o fluig com HTTPS através do fluig Mobile, basta adicionar uma conta com a nova URL do portal no aplicativo. Para mais detalhes sobre o acesso, confira a documentação por sistema (Android ou iOS). |
HTML |
---|
<script>
$("b:contains('oculto')").parent().parent().hide();
</script> |