Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
titleAtenção

Esta página foi revisada para considerar as configurações da release 1.6.0 à a 1.6.4 - Waterdrop do fluig.

Se possui uma atualização 1.6.5 do fluigou superior, acesse: Configuração HTTPS no fluig na release 1.6.5.

na plataforma.


Índice

Índice
outlinetrue
exclude.*ndice
stylenone


Objetivo

O objetivo deste guia é expor os passos necessários para utilização do fluig sobre da plataforma sobre 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. 


Obter um certificado válido

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 à plataforma 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 Certificado HTTPS (SSL/TLS) Gratuito.

Caso tenha dúvidas sobre os procedimentos realizados no OpenSSL, consulte a FAQ Utilizando OpenSSL para configurar HTTPS.


Procedimentos de configuração de SSL

Navegue nos passos abaixo para configuração do SSL no servidor de aplicação:

Deck of Cards
effectDuration0.5
historyfalse
idssl
effectTypefade
Card
defaulttrue
id1
labelPasso 1


  • Parar os serviços do fluig da plataforma (fluig, fluig_indexer, fluig_RealTime e cache, caso estiver utilizando cache externo e.g: MemCached ou redis).


Card
defaulttrue
id2
labelPasso 2


  1. No arquivo domain.xml, localizado em [Instalação fluig]/appserver/domain/configuration, incluir a tag <https-listener> no subsystem "undertow". Não deve ser retirado a tag contendo as configurações HTTP.
  2. Na tag HTTP, acrescente o atributo proxy-address-forwarding="true" conforme mostrado abaixo:
  3. 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)
Bloco de código
languagexml
themeEclipse
titledomain.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 validação 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áfego de cookie de sessão -->
	</servlet-container>   
	<...>
</subsystem>
Card
id3
labelPasso 3

Âncora
alias
alias

  • No arquivo host.xml, localizado em [Instalação fluig]/appserver/domain/configuration, altere o <security-realm name="TOTVSTech"> incluindo as configurações de certificado.

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
titleAtenção!

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
languagexml
themeEclipse
titlehost.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" é relativo ao diretório de configuração do servidor de aplicação, por exemplo, "C:\fluig\appserver\domain\configuration\certs".

Dúvidas sobre a utilização do OpenSSL ou sobre os comandos de exportação do PKCS12 (p12), consulte a FAQ Utilizando OpenSSL para configurar HTTPS.

Card
id4
labelPasso 4


  • Iniciar novamente os serviços do fluig da plataforma 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.



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
effectDuration0.5
historyfalse
idstudio
effectTypefade
Card
defaulttrue
id1
labelPasso 1


  1. No diretório em que o fluig Fluig Studio foi instalado, editar o arquivo eclipse.ini;
  2. Adicione a linha abaixo no final do arquivo.
Bloco de código
languagebash
themeEclipse
titleeclipse.ini
-Djsse.enableSNIExtension=false
Card
id2
labelPasso 2


  • 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
languagexml
themeEclipse
titledomain.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"/> 
...
  • Alterar para:
Bloco de código
languagexml
themeEclipse
titledomain.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).


Configurar notificações em tempo real

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 fluigna plataforma.

Nota
titleAtenção!
  • 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 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.

...

Após a alteração do package.json, o serviço RealTime (Node.js) deve ser reiniciado.



Certificado digital mobile

As plataformas de dispositivos móveis (iOS, Android) possuem limitações com relação aos certificados digitais. Por padrão, apenas o os certificados homologados por elas são reconhecidos como confiáveis.

Para evitar a aquisição de certificados não homologados, é preciso consultar a documentação técnica de cada plataforma sobre a lista de certificados reconhecidos como confiáveis:

...

defaulttrue
id1
labelIOS
titleIOS
Plataforma

...

effectDuration0.5
historyfalse
idinstall-windows
effectTypefade
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
titleAtenção

Cada versão do Android pode ter uma lista de certificados confiáveis diferente

...

defaulttrue
id1
labelWindows Phone
titleWindows Phone

...

.


Em caso de dúvidas, procure a unidade certificadora para assegurar que seu certificado é homologado pelas plataformas mencionadas acima.


Nota
titleImportante

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:

  1. Para gerar o Bundle (intermediário + root):
    cat intermediario.pem root.pem > bundle.pem

  2. Para gerar o PEM do fluig.com:
    cat fluig.crt fluig.key bundle.pem > fluig.pem

  3. 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 fluigda plataforma, é necessário ajustar a URL do portal com o novo protocolo.

...

Na aba Portal, definir no campo URL do portal do fluig da plataforma, agora com o "https".

Caso não esteja utilizando um web server, é necessário informar a porta de acesso da URL. Exemplo: https://[host]:[porta]/portal.

Nota

Para acessar o fluig a plataforma com HTTPS através do fluig Fluig Mobile, basta adicionar uma conta com a nova URL do portal no aplicativo.

...