Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

O Cronapp agora dá suporte a autenticação mútua adicionando um novo fator de segurança a sua aplicação.


Image Modified

Figura 1 - Login com Certificado digital


Aviso

A autenticação mútua (certificado digital) no Cronapp não funciona com as aplicações mobile.

Nota

As configurações apresentadas nessa documentação Estas configurações se aplicam ao ambiente servidor para a da aplicação.

Instalando


Instalar e

configurando

configurar seu certificado SSL

Depois de validar e emitir seu certificado SSL, você pode instalá-lo no servidor Apache (onde o CSR foi gerado) e configurar o servidor para usar o certificado.

Como instalar e configurar seu certificado SSL no servidor Apache

  • Copie os arquivos
de
  • do certificado para o seu servidor.
  • Copie os arquivos (SeuCert.crt) e seu certificado primário (Seu_Dominio.crt).
  • Copie esses arquivos, juntamente com o arquivo *.key que você gerou ao criar o CSR, para o diretório no servidor em que você mantém o certificado e os arquivos de chave.

    Aviso
    titleNota
:
  • Torne-os legíveis pela raiz apenas para aumentar a segurança

.
  • Encontre o arquivo de configuração do Apache (httpd.conf) que você precisa editar.
  • O local e o nome do arquivo de configuração podem variar de servidor para servidor, especialmente se você estiver usando uma interface especial para gerenciar a configuração do servidor.
  • O arquivo de configuração principal do Apache geralmente é chamado httpd.conf ou apache2.conf. Os locais possíveis para esse arquivo incluem /etc/httpd/ou/etc/apache2/.

Geralmente, a configuração do certificado SSL está localizada em um bloco <VirtualHost> em um arquivo de configuração diferente. Os arquivos de configuração podem estar em um diretório como /etc/httpd/vhosts.d/, /etc/httpd/sites/ ou em um arquivo chamado httpd-ssl.conf. Uma maneira de localizar a configuração SSL nas distribuições do Linux é pesquisar usando grep, conforme mostrado no exemplo abaixo.Execute o seguinte comando:


grep -i -r "SSLCertificateFile" /etc/httpd/

Aviso
titleNota
:

Certifique-se de substituir / etc / httpd / pelo diretório base para sua instalação do Apache.


  • Identifique o bloco SSL <VirtualHost> que você precisa configurar.
  • Se o seu site precisar ser acessível por conexões seguras (https) e não seguras (http), você precisará de um host virtual para cada tipo de conexão. Faça uma cópia do host virtual não seguro existente e configure-o para SSL, conforme descrito
na etapa 4
  • acima.
  • Se seu site precisar ser acessado apenas com segurança, configure o host virtual existente para SSL, conforme descrito
na etapa 4
  • acima.
  • Configure o bloco <VirtualHost> para o site habilitado para SSL

Abaixo está um exemplo muito simples de um host virtual configurado para SSL.

1
Bloco de código
2
language
3
xml
4
theme
5
Eclipse
6
firstline
7
1
8
linenumbers
9
10
11
12
13
14
15
16
17
18<VirtualHost 
true
<VirtualHost 192.168.0.1:443>

 
    <Location 

	<Location "/mutual">

 
   SSLVerifyClient require
   SSLVerifyDepth 5
   SSLOptions +StdEnvVars
   RequestHeader set

		SSLVerifyClient require
		SSLVerifyDepth 5
		SSLOptions +StdEnvVars
		RequestHeader set SSL_CLIENT_S_DN "%{SSL_CLIENT_S_DN}s"

 
   </Location>
 
    DocumentRoot

	</Location>
	
	DocumentRoot /var/www/html2

    

	ServerName www.seudominio.com

        SSLEngine ativado
        SSLCertificateFile

	SSLEngine on
	SSLProtocol TLSv1.2
	SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder on
	SSLCertificateFile /caminho/para/Seu_Dominio.crt

        

	SSLCertificateKeyFile /caminho/para/Sua_chave_privada.key

        

	SSLCertificateChainFile /caminho/para/SeuCert.crt


</
VirtualHost>
VirtualHost>


Certifique-se de ajustar os campos e os nomes dos arquivos para corresponder aos seus arquivos de certificado.

  • SSLEngine: habilita o protocolo SSL.
  • SSLProtocol: determina quais os protocolos SSL serão permitidos, estamos definindo apenas o TLSv1.2.
  • SSLCipherSuite: algoritmo utilizado para encriptação. Nessa configuração não será usado o MD5.
  • SSLHonorCipherOrder: estabelece que a ordem do cipher deve ser respeitada.
  • SSLCertificateFile
é o
  • : seu arquivo de certificado (por exemplo, Seu_Dominio.crt).
  • SSLCertificateKeyFile
é o
  • : arquivo .key gerado
quando
  • no memento que você criou o CSR (por exemplo, Sua_chave_privada.key).
  • SSLCertificateChainFile
é o
  • : arquivo de certificado intermediário (por exemplo, SeuCert.crt).


Aviso
titleNota
:

Se a diretiva SSLCertificateChainFile não funcionar, tente usar a diretiva SSLCACertificateFile.

Teste seu arquivo de configuração do Apache antes de reiniciar.

Como prática recomendada, verifique se há erros no arquivo de configuração do Apache antes de reiniciar o Apache.

Aviso
titleCuidado
:

O Apache não será iniciado novamente se seus arquivos de configuração tiverem erros de sintaxe.


  • Execute o seguinte comando para testar seu arquivo de configuração (em alguns sistemas, é apache2ctl):
    apachectl configtest
  • Reinicie o Apache
.


Você pode usar os comandos apachectl para parar e iniciar o Apache com suporte a SSL. parada apachectl
apachectl Mas antes, verifique se possui algum erro de sintax no que foi configurado:

Bloco de código
languagebash
apachectl configtest


Após o Apache retornar a mensagem "Syntax OK", pare e inicie em seguida usando os comandos:

Bloco de código
languagebash
apachectl stop 
apachectl start

Reinicie o Notes

:

Se o Apache não reiniciar com o suporte SSL, tente usar o apachectl beginsl em vez do apachectl start. Se o suporte a SSL for carregado apenas com apachectl runssl, recomendamos que você ajuste a configuração de inicialização do apache para incluir suporte SSL no comando apachectl start regular. Caso contrário, seu servidor poderá exigir a reinicialização manual do Apache usando o apachectl winssl no caso de uma reinicialização do servidor. Isso geralmente envolve a remoção das tags <IfDefine SSL> e </IfDefine> que incluem sua configuração SSL.

Parabéns! Você instalou seu certificado SSL com sucesso.

Configurando o apache como proxy Reverso

Para utilizar a autenticação mútua com certificado SSL, precisaremos configurar um servidor de Web como Proxy Reverso:.

Adicione as seguintes confiruações configurações no seu Virtual Host

Bloco de código
languagebash
ProxyPreserveHost on


RequestHeader set X-Forwarded-Proto https


RequestHeader set X-Forwarded-Port 443

ProxyPass /
 http
 http://<URL_DO_Servidor>:<PORTA>/


ProxyPassReverse /
 http
 http://<URL_DO_Servidor>:<PORTA>/

Habilitando o login com certificado no Cronapp

Faça o login utilizando o login seu usuário e sua senha normalmente.

Image Removed

Clique em Perfil > Vincular Certificado

Image Removed


Image Added

Figura 2 - Login com Certificado digital (habilitando o certificado)


Na página Home, clique em Perfil (profile) > Vincular Certificado (Link certificate), como na figura 2.1.


Image Added

Figura 2.1 - Opção de vincular certificado


Aguarde a confirmação da aplicação (Figura 2.2).

Informações

Neste passo a aplicação irá referenciar o certificado que consta no servidor com o certificado que está sendo enviado pela aplicação. 

Image Removed


Image Added

Figura 2.2 - Notificação de vinculo do certificado


Pronto! Seu certificado estará vinculado ao seu usuário e você poderá logar utilizando-o na próxima vez clicando no botãoImage Removeda partir do botão Login with certificate na tela de Login da aplicação (Figura 2).


Nessa página

Índice
Obs.: Essa documentação será atualizada em breve.