Vamos criptografar + certbot: onde está a chave privada

5

Estou usando openssl para criar chave e certificado para o meu site. O que funciona bem, mas leva a reclamações do navegador.

Agora, gostaria de mudar para o Let's Encrypt para obter um certificado adequado.

A configuração foi muito simples, instalei o certbot e segui o tutorial em seu site.

Fiquei surpreso ao ler que certbot deve ser usado com o sinalizador certonly . Intuitivamente, isso deve significar que apenas um certificado é criado. Ele deve me perguntar por uma chave existente durante a configuração. O que não é, em vez disso, cria um novo certificado e uma nova chave.

sudo certbot certonly --standalone -d xxxx

...

Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

....

Mas esta chave parece não existir. Se eu digitar o caminho no meu servidor, ele reclama por não encontrar a chave.

Eu tive problemas com permissões de leitura no meu certificado, resolvido por esta pergunta: link

A solução foi mudar os direitos de acesso.

Mas estou hesitante em fazer isso com minha chave privada. A segurança da Internet é tão complexa que, na verdade, não conheço as conseqüências da alteração de permissões em relação a algo tão importante quanto a chave privada.

Como devo usar o certificado recém-gerado? Onde posso encontrar a chave privada correspondente e devo aplicar uma configuração adicional?

    
por lhk 01.04.2017 / 12:47

1 resposta

11

Ignore as csr e keys dirs; eles basicamente contêm apenas arquivos temporários durante a emissão.

O Certbot sempre coloca a versão mais recente de todos os certificados em /etc/letsencrypt/live :

/etc/letsencrypt/live
├── mail.example.org
│   ├── cert.pem -> ../../archive/mail.example.org/cert8.pem
│   ├── chain.pem -> ../../archive/mail.example.org/chain8.pem
│   ├── fullchain.pem -> ../../archive/mail.example.org/fullchain8.pem
│   └── privkey.pem -> ../../archive/mail.example.org/privkey8.pem
└── www.example.org
    ├── cert.pem -> ../../archive/www.example.org/cert7.pem
    ├── chain.pem -> ../../archive/www.example.org/chain7.pem
    ├── fullchain.pem -> ../../archive/www.example.org/fullchain7.pem
    └── privkey.pem -> ../../archive/www.example.org/privkey7.pem

Portanto, você configuraria serviços como este:

SSLCertificateFile     /etc/letsencrypt/live/www.example.org/fullchain.pem
SSLCertificateKeyFile  /etc/letsencrypt/live/www.example.org/privkey.pem

Desta forma, os serviços só precisam ser recarregados, não reconfigurados, após cada renovação. Use o recurso "deploy hook" do certbot para automatizar as mudanças de permissão, recarregamentos de serviço e qualquer outra coisa que precise ser automatizada.

    
por 01.04.2017 / 13:00