Configurando SSL
01 | Primeira parte
- Para este exemplo vamos usar o Debian 6. Portanto, após logar no servidor via SSH atualize-o com os comandos:
apt-get update
apt-get upgrade
- Contrate e configure um IP adicional para que possa realizar esta configuração
- Reinicie as interfaces
/etc/init.d/networking restart
- Executando um “ifconfig” você terá algo como:
eth0:0 Link encap:Ethernet HWaddr 56:ff:dc:2f:96:ba inet addr:10.X.X.X Bcast:10.X.X.X Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- Acesse seu painel de servidores e libere no firewall, o que for necessário;
FTP - Protocolo TCP - Porta 21 - Origem 0.0.0.0/0 SSH - Protocolo TCP - Porta 22 - Origem 0.0.0.0/0 HTTP - Protocolo TCP - Porta 80 - Origem 0.0.0.0/0 HTTPS - Protocolo TCP - Porta 443 - Origem 0.0.0.0/0
- Será necessário instalar os serviços: Apache, OpenSSL e CA-Certificates
apt-get install apache2 ca-certificates openssl
- Teste se os dois IPs estão respondendo com HTTP (sem SSL);
http://[PRIMEIRO IP DO SERVIDOR]
http://[SEGUNDO IP DO SERVIDOR].
02 | Segunda parte
Para pular a etapa de enviar o pedido para a certificadora, vamos gerar os dois certificados auto assinados:
- Gerando a chave privada protegida por uma senha:
openssl genrsa -des3 -out server.key 1024
- É possível gerar uma chave privada sem senha, esta deve ser guardada e usada apenas pelo administrador:
openssl rsa -in server.key -out server.key.insecure
- Ajustando a permissão:
chmod 600 server.key.insecure
- Gerando o pedido de certificação:
openssl req -new -key server.key -out server.csr
- Envie os arquivos (server.key e server.csr) para a certificadora contratada para realizar o processo de criação do certificado.
- Quando a certificadora enviar os arquivos do certificado, teremos 4 arquivos: server.key, server.csr, certificado.crt e certificado_intermediario.crt.
- Armazene esses arquivos em alguma pasta específica para que possa apontar no vhost do site.
- Acesse o vhost do site no qual deseja instalar o SSL em /etc/apache2/sites-available/ e edite conforme informações abaixo:
- Mude o IP para o adicional e informe a porta 443
- Adicione as seguintes linhas no final do arquivo antes do /VirtualHost:
SSLEngine on SSLCertificateFile /caminho/certificado.crt SSLCertificateKeyFile /caminho/server.key SSLCACertificateFile /caminho/certificado_intermediario.crt
- No arquivo /etc/apache2/ports.conf, adicione:
Listen 80 Listen 443
- Ative o módulo SSL com o seguinte comando:
a2enmod ssl
- E dentro do caminho /etc/apache2/sites-available/ execute:
a2ensite seusite
- Reinicie o apache:
/etc/init.d/apache2 restart
Obs.: É necessário apontar a Zona de DNS do domínio para o nome IP.