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.


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 4acima.
  • Se seu site precisar ser acessado apenas com segurança, configure o host virtual existente para SSL, conforme descrito na etapa 4acima.
  • 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 192
true
<VirtualHost 192.168.0.1:443>

 
<Location 

	<Location "/mutual">

   

		SSLVerifyClient require

   

		SSLVerifyDepth 5

   

		SSLOptions +StdEnvVars

   

		RequestHeader set SSL_CLIENT_S_DN "%{SSL_CLIENT_S_DN}s"

 

	</Location>

 
    DocumentRoot

	
	DocumentRoot /var/www/html2

    ServerName

	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

	SSLCertificateKeyFile /caminho/para/Sua_chave_privada.key

    SSLCertificateChainFile

	SSLCertificateChainFile /caminho/para/SeuCert.crt

</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: 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. 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 parada apachectl
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 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://<URL_DO_Servidor>:<PORTA>/
ProxyPassReverse / 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.


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


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


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. 


Figura 2.1 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ão

Image Removed

Figura 2.1 - Opção de logar com o certificado digital

a 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.