Certificados digitais (Site seguro/HTTPS/SSL)
Configurar o servidor utilizando certificado digital significa que todo o conteúdo que trafega entre o navegador do usuário cliente e o servidor é criptografado, trazendo mais segurança e confidencialidade das informações.
O processo de instalação de um certificado consiste em configurar o servidor web do servidor de aplicação para que use um determinado certificado. Um certificado digital deve ser obtido de uma Entidade Certificadora (CA). Alternativamente, para fins de teste, pode-se gerar um certificado "não assinado", que fará com que todos os dados trafegados sejam criptografados, lembrando que neste caso o navegador cliente vai acusar o certificado como "Inválido".
Particularidades por produto
Observe que no ambiente Portal podem existir outros servidores web envolvidos, tais como servidor HTTP da versão Web 5.0 e do BrowserAccess. É importante que o certificado também seja instalado nesses servidores.
Gerando um certificado não assinado
O Java 1.7 possui uma ferramenta chamada KeyTool que gera certificados. A geração de um certificado pode ser feita com base no comando: <jdk1.7.0_XX\bin\> keytool -genkey -alias nome_certificado -keyalg RSA -keystore mykeystore.keystore
Substitua nome_certificado por um nome relativo ao servidor, que pode ser endereço do servidor ou o nome do servidor (localhost.seudominio.com.br).
Em seguida, converta este certificado para p12 através do comando: keytool -v -importkeystore -srckeystore mykeystore.keystore -srcalias nome_certificado -destkeystore myp12file.p12 -deststoretype PKCS12.
Substitua o myp12file por localhost.seudominio.com.br.
Gestão do Ponto
Passo a passo para utilização do certificado digital em uma instalação da nova interface do Gestão do Ponto, de acordo com o servidor:
- Acesse a pasta gestao-ponto-frontend-server em seu diretório local, previamente extraída durante a instalação do Front-end;
- Edite o arquivo config.js para utilizar o certificado digital:
//config.httpPort='3000'; //Sem certificado
config.httpsPort='443';
Quando comentada, a porta 3000 não será utilizada. Desta maneira, a porta 443, com certificado digital, será utilizada para acessar a nova interface do Gestão do Ponto.
- Ainda no arquivo config.js, informe nas chaves file e passprashe o diretório em que ficará armazenado o certificado digital e a sua senha (String):
Exemplo:
config.certificateConfig = {
// Caminho do p12 ou pfx
file: 'C:\\exemploCert\\cert\\exemplo.com.br.p12',
// Senha
passphrase: '123'
};
- Após estas configurações, retorne ao passo a passo da instalação do Front-end e finalize esta etapa.
- Acesse a pasta conf dentro da pasta de instalação do sistema;
- Edite o arquivo nginx.conf para utilizar o certificado digital.
- No server, altere as propriedades:
- listen 443 ssl;
- server_name servidor.interno.senior.com.br;
- Adicione as novas propriedades:
- ssl_certificate certificado.crt;
- ssl_certificate_key key.rsa;
- No server, altere as propriedades:
- Copie para dentro da pasta conf o certificado e a chave (certificado.crt e key.rsa);
- Após estas configurações, retorne ao passo a passo da instalação do Front-end e finalize esta etapa.
Portal Corporativo
Caso seja necessário redirecionar todas as chamadas para os conteúdos do Portal, é necessário que o administrador da rede configure o redirecionamento de portas nas regras de roteamento da rede, garantindo que todas as solicitações feitas diretamente às portas sem SSL sejam redirecionadas para as portas SSL.
Em um cenário onde existe Web 5.0, BrowserAccess e Portal em portas diferentes, redirecione da seguinte maneira:
Serviço | Caminho sem SSL | Caminho com SSL |
---|---|---|
Web 5.0 | http://servidor | https://servidor |
BrowserAccess | http://servidor:9090 | https://servidor:443 |
Portal | http://servidor:8080 | https://servidor:8443 |
Caso o redirecionamento de Portal seja indesejado ou não seja viável, é possível bloquear as portas não seguras, deixando disponível apenas as portas configuradas com SSL disponíveis e configurando todos os links de acesso a BrowserAccess e Web 5.0apontando para as portas SSL.
Um link para BrowserAccess que sem SSL era configurado da seguinte maneira:
/SLoginPortlet/BAConnector?url=http://servidor/ba&app=Rubi&xmlCmd=<?xml version='1.0' encoding='UTF-8'?><command> <handler type='system'><entrypoint>showform</entrypoint> </handler><inputs><formname>FrFicFin</formname> </inputs></command>
Passa a ser configurado como:
/SLoginPortlet/BAConnector?url=https://servidor/ba&app=Rubi&xmlCmd=<?xml version='1.0' encoding='UTF-8'?><command> <handler type='system'><entrypoint>showform</entrypoint> </handler><inputs><formname>FrFicFin</formname> </inputs></command>