Informações |
---|
|
Esta página foi revisada para considerar as configurações do 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 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 |
---|
|
...
O objetivo deste guia é apresentar os passos necessários para utilização do TOTVS Fluig Plataforma sobre com o protocolo HTTPS.
Pré-requisitos
...
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 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 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 da plataforma.
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.
...
...
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.
|
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.
|
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 Apache/Nginxtopologia DMZ) para reforçar a segurança de seu ambiente. Para mais detalhes consulte a documentação de Configuração de Proxy Reversoreverso. |
- 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: .crt, .pem, .p12, p12 e .pfx - Senha
Informe a senha do certificado digital 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. |
|
|
...
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_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 Fluig]/appserver/domain/configuration, incluir a tag <https-listener> no subsystem "undertow". Não deve ser 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" | . (Opcional)
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| <subsystem xmlns="urn:jboss:domain:undertow:3.1">
<...>
<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 validacao 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 trafego de cookie de sessao -->
</servlet-container>
<...>
</subsystem> |
|
Card |
---|
| - A 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>
<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" 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 documentação Utilizando OpenSSL para configurar HTTPS. |
|
Card |
---|
|
- Iniciar novamente os serviços do 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 |
---|
|
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. |
...
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 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 Fluig]/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:2.0">
<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.
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 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.
...
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
|
Nota |
---|
|
Para acessar a plataforma 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> |
...