Arquivos mensais: dezembro 2014

Gerar e instalar certificado SSL para servidor Apache com OpenSSL

0. Crie um diretório para gerar os certificados:
Exemplo:
mkdir /etc/httpd/certificados

1. Gere o certificado em seu servidor:

1
openssl req -new -newkey rsa:2048 -nodes -out MEUDOMINIO.csr -keyout MEUDOMINIO.key -subj "/C=BR/ST=MG/L=BH/O=MinhaOraganizacao/OU=TI/CN=*.MEUDOMINIO.com.br"

Obs.:  tudo na mesma linha!
Obs 2.: observe as aspas (“) quando copiar a linha acima, pode dar “biziuu” quando colar no console. Melhor refazer as aspas quando colar.

2. Copie o conteúdo do arquivo MEUDOMINIO.csr, vá até seu certificador (startssl por exemplo), informe o domínio ou sub-domínio que deseja gerar o certificado e quando solicitado, cole o conteúdo do arquivo MEUDOMINIO.csr.

3. O certificador gerará o arquivo de retorno “.cst”, copie o conteúdo deste arquivo, vá até seu servidor (no mesmo diretório que gerou o “.csr”) e crie um arquivo chamado MEUDOMINIO.cst e cole o conteúdo neste arquivo.

4. Agora você precisa fazer o download do arquivo de permissão do certificador:

wget http://www.startssl.com/certs/sub.class1.server.ca.pem
obs.: no mesmo diretório que gerou os arquivos (a ideia é centralizar o conteúdo).

5. No apache em seu “VirtualHost” acrescente as seguintes linhas:

1
2
3
4
5
6
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/httpd/certificados/MEUDOMINIO.cst
SSLCertificateKeyFile /etc/httpd/certificados/MEUDOMINIO.key
SSLCertificateChainFile /etc/httpd/certificados/sub.class1.server.ca.pem

6. Exemplo de configuração do VirtualHost completa:

1
2
3
4
5
6
7
8
9
10
<VirtualHost *:443>
DocumentRoot /var/www/sites/
ServerName MEUDOMINIO.com.br
 SSLEngine on
 SSLProtocol all -SSLv2
 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
 SSLCertificateFile /etc/httpd/certificados/MEUDOMINIO.cst
 SSLCertificateKeyFile /etc/httpd/certificados/MEUDOMINIO.key
 SSLCertificateChainFile /etc/httpd/certificados/sub.class1.server.ca.pem
</VirtualHost>

Nota:

Os certificados gratuitos na startssl não são WildCard (*.seudominio.com), ou seja, para seu domínio e todos os sub-domínios. Então repare que geramos o arquivo “.csr” do domínio como se fosse um WildCard :(/C=BR/ST=MG/L=BH/O=MinhaOraganizacao/OU=TI/CN=*.MEUDOMINIO.com.br – passo 1).

Isso não é um problema, do contrário, geramos o certificado assim, com o * (asterisco) para ser genérico e poder ser utilizado futuramente para outros sub-domínios sem a necessidade de gerar um novo “.csr”.

Confuso mais legal!

Deus é bom, sempre bom!