Apache : HTTPS MOD_SSL

 

Neste post vou abordar como configurar o módulo MOD_SSL para que o Apache fique configurado com uma chave SSL .

 

ssl-https-criptografia
 

1) Instalação dos Requisitos

yum install openssl  mod_ssl 

 

2) Geração do Certificado :

O Apache2 com SSL funciona através de um certificado reconhecido na web. Para gerar o certificado (CSR) é necessário a criação de uma chave e  essa chave ficará no arquivo server.key. De dentro do diretório onde ela ficará armazenada.

 

openssl genrsa -des3 -out server.key 1024

 

Com a chave criada é importante acrescentar informações. Após digitar o comando abaixo, ele pedirá a chave e para preencher alguns dados, são os dados que serão visualizados referentes ao criador do certificado:

 

openssl req -new -key server.key -out server.csr

 

Criação do Certificado

 

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

OBS:     Envie a requisição do certificado (arquivo *.csr) para a entidade autenticadora (cartório digital).
Existem diversos cartórios digitais, os mais conhecidos são: Certisign e Verisign.

Após aquisição do certificado junto ao cartório digital, você recebera o certificado digital válido.

 

3) Configuração do Apache :

Configuração do HTTPD.conf :

Adicione a entrada abaixo em /etc/httpd/conf/httpd.conf :

 


SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key

 

4) Cópia da chave e restart do serviço :

cp -Rv server.crt /etc/pki/tls/certs/server.crt
cp -RV server.key /etc/pki/tls/private/server.key
service httpd restart

 

Captura de Tela 2014-10-01 às 12.07.24

 5) Alternativas de como não solicitar o Passphrase:

Removendo a senha :
Com OpenSSL você pode realmente remover a senha da chave SSL completamente. Isso irá evitar Apache pedindo para você digitar a senha toda vez que é iniciado.

openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.bkp
mv server.key.insecure server.key
service httpd restart

 

Usando script :

Podemos definir a configuração abaixo no httpd.conf e fazer que a senha seja digita por script:

No meu exemplo “/root/key.sh” é meu script

SSLPassPhraseDialog exec:/root/key.sh

Código do script key.sh

Onde está fajlinux seria a senha que foi utilizada para gerar a chave, é necessário da permissão de execução para que funcione (chmod +x script)

#!/bin/bash
echo  "fajlinux";

 

 

Referências:

https://wiki.apache.org/httpd/RemoveSSLCertPassPhrase
http://httpd.apache.org/docs/current/mod/mod_ssl.html