Realmente não importa onde você os coloca, desde que você proteja adequadamente seus arquivos de chave privada . O certificado público é público; nenhuma proteção necessária - privilégios de servidor ou de outra forma.
Para expandir a resposta, eu não uso o local padrão /etc/ssl
.
É mais fácil manter todos os meus em uma área separada devido a backups + outras razões.
Para o Apache SSL, mantenho o meu em /etc/apache2/ssl/private
ou "área de raiz" semelhante em /etc/
.
Exemplo de configuração
Este post é voltado para o Ubuntu (Debian) + Apache, mas deve funcionar na maioria dos sistemas -
Apenas aplique as permissões e atualize o local / caminho em determinada configuração (apache / nginx / etc).
Se os arquivos da chave SSL estiverem protegidos corretamente (diretório & arquivos), você estará bem. Anote as notas!
Crie diretórios:
sudo mkdir /etc/apache2/ssl
sudo mkdir /etc/apache2/ssl/private
sudo chmod 755 /etc/apache2/ssl
sudo chmod 710 /etc/apache2/ssl/private
Observação: chmod 710
suporta ssl-cert
group no Ubuntu. (Ver comentários)
Definir permissão para 700
on /etc/apache2/ssl/private
também funcionará bem .
Definir proprietário:
sudo chown -R root:root /etc/apache2/ssl/
sudo chown -R root:ssl-cert /etc/apache2/ssl/private/
Nota:
Se você não tiver o grupo ssl-cert , use apenas 'root: root' na linha acima ou pule a segunda linha.
Coloque arquivos SSL:
Put public www ssl certificate(s) along with intermediate certificate(s) in
/etc/apache2/ssl
Put private ssl key(s) in /etc/apache2/ssl/private
Definir permissões:
Certificado (s) Público (s)
sudo chmod 644 /etc/apache2/ssl/*.crt
chave privada (s)
sudo chmod 640 /etc/apache2/ssl/private/*.key
Observação:
A permissão do grupo está definida como READ (640) devido ao grupo do ssl-cert do Ubuntu. '600' também está bem.
Ativar o módulo SSL do Apache
sudo a2enmod ssl
Edite qualquer arquivo de site do Apache e ative
(ver último parágrafo) *
sudo nano /etc/apache/sites-available/mysiteexample-ssl.conf
sudo a2ensite mysiteexample-ssl
# ^^^^^^^^^^^^^^^^^ <-Substitute your ".conf" filename(s)
Reinicie o serviço Apache2
sudo service apache2 restart
ou
sudo systemctl restart apache2.service
Feito. Teste seu novo site SSL.
* Novamente, isso vai além da pergunta, mas você pode copiar o arquivo de configuração padrão do site Apache SSL ( sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/mysiteexample-ssl.conf
) como um bom ponto de partida / exemplo de diretivas / diretórios padrão normalmente usados em um Apache simples (Ubuntu / Debian) / SSL 'conf'. Normalmente, ele aponta para um certificado SSL auto-assinado + chave (snakeoil), pacotes da CA, bem como diretivas comuns usado para um determinado site SSL.
Após a cópia, edite o novo arquivo .conf e adicione / remova / atualize conforme necessário com novas informações / caminhos acima e execute sudo a2ensite mysiteexample-ssl
para ativá-lo.