Este documento explica como obter um certificado Let's Encrypt, instalá-lo no Cisco Business Dashboard e configurar a renovação automática usando a Interface de Linha de Comando (CLI). Se quiser obter informações gerais sobre o gerenciamento de certificados, consulte o artigo Gerenciar certificados no Cisco Business Dashboard.
Vamos criptografar é uma autoridade de certificação que fornece certificados SSL (Secure Sockets Layer) gratuitos para o público usando um processo automatizado. Vamos Criptografar fornece um mecanismo facilmente acessível para obter certificados assinados para servidores Web, dando ao usuário final a confiança de que está acessando o serviço correto. Para obter mais informações, visite o site Let’s Encrypt.
Usar os certificados Let’s Encrypt com o Cisco Business Dashboard é razoavelmente simples. Embora o Cisco Business Dashboard tenha alguns requisitos especiais para a instalação do certificado, além de apenas disponibilizar o certificado para o servidor Web, ainda é viável automatizar a emissão e a instalação do certificado usando as ferramentas de linha de comando fornecidas. O restante deste documento passa pelo processo de emissão de um certificado e automação da renovação do certificado.
Este documento usa desafios HTTP para validar a propriedade do domínio. Isso exige que o servidor Web do Painel esteja acessível da Internet nas portas padrão TCP/80 e TCP/443. Se o servidor Web não estiver acessível a partir da Internet, considere o uso de desafios de DNS. Confira Using Let’s Encrypt for Cisco Business Dashboard with DNS para obter detalhes.
A primeira etapa é obter o software que usa o certificado de protocolo ACME. Neste exemplo, estamos usando o certbot client, mas há muitas outras opções disponíveis.
Para permitir que a renovação do certificado seja automatizada, o cliente certbot deve ser instalado no Painel. Para instalar o cliente certbot no servidor Dashboard, use os seguintes comandos:
É importante observar que, neste artigo, as seções azuis são prompts e saída do CLI. O texto em branco lista comandos. Os comandos com cor verde, incluindo dashboard.example.com, pnpserver.example.com e user@example.com devem ser substituídos por nomes DNS apropriados para o seu ambiente.
Em seguida, o servidor Web do Painel precisa ser configurado para hospedar os arquivos de desafio necessários para verificar a propriedade do nome do host. Para fazer isso, criamos um diretório para esses arquivos e atualizamos o arquivo de configuração do servidor Web. Em seguida, reiniciamos o aplicativo Painel para que as alterações tenham efeito. Use os seguintes comandos:
cbd:~$sudo mkdir /usr/lib/ciscobusiness/dashboard/www/letsencrypt cbd:~$sudo chmod 755 /usr/lib/ciscobusiness/dashboard/www/letsencrypt cbd:~$sudo bash -c 'cat > /var/lib/ciscobusiness/dashboard/nginx/nginx-loc-letsencrypt.conf' << EOFSolicite um certificado usando o seguinte comando:
cbd:~$sudo certbot certonly —webroot -w /usr/lib/ciscobusiness/dashboard/www/letsencrypt/ -d dashboard.example.com -d pnpserver.example.com —deploy-hook "cat /etc/letsencrypt/live/dashboard.example.com/fullchain.pem /etc/ssl/certs/DST_Root_CA_X3.pem > /tmp/cbdchain.pem; /usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard example.com/privkey.pem -c /tmp/cbdchain.pemEsse comando instrui o serviço Let’s Encrypt a validar a propriedade dos nomes de host fornecidos pela conexão ao serviço da Web hospedado em cada um dos nomes. Isso significa que o serviço Web do painel deve estar acessível da Internet e hospedado nas portas 80 e 443. O acesso ao aplicativo de painel pode ser restrito usando as configurações de Controle de Acesso na página Sistema > Configurações de Plataforma > Servidor Web na Interface do Usuário (UI) de administração do painel. Consulte o Cisco Business Dashboard Administration Guide para obter mais informações.
Os parâmetros no comando são necessários pelas seguintes razões:
certonly | Solicite um certificado e faça o download dos arquivos. Não tente instalá-los. No caso do Cisco Business Dashboard, o certificado não é usado apenas pelo servidor Web, mas também pelo serviço PnP e outras funções. Como resultado, o cliente certbot não pode instalar o certificado automaticamente. |
—webroot -w ... | Instale os arquivos de desafio no diretório criado acima para que eles possam ser acessados por meio do servidor Web do painel. |
-d dashboard.example.com -d pnpserver.example.com |
O FQDN que deve ser incluído no certificado. O nome listado será incluído no campo Nome comum do certificado e todos os nomes serão listados no campo Assunto-Alt-Nome. O nome pnpserver.<domain> é um nome especial usado pelo recurso Network Plug and Play ao executar a descoberta de DNS. Consulte o Guia de Administração do Cisco Business Dashboard para obter mais detalhes. |
—deploy-hook "..." | Use o utilitário de linha de comando cisco-business-dashboard para pegar a chave privada e a cadeia de certificados recebidos do serviço Let’s Encrypt e carregá-los no aplicativo do painel da mesma forma como se os arquivos fossem carregados por meio da interface do usuário do painel de controle (IU). O certificado raiz que ancora a cadeia de certificados também é adicionado ao arquivo de certificado aqui. Isso é exigido por determinadas plataformas que estão sendo implantadas usando o Network Plug and Play. |
Siga o processo de criação do certificado seguindo as instruções geradas pelo cliente certbot:
cbd:~$sudo certbot certonly —webroot -w /usr/lib/ciscobusiness/dashboard/www/letsencrypt/ -d dashboard.example.com -d pnpserver.example.com —deploy-hook "cat /etc/letsencrypt/live/dashboard.example.com/fullchain.pem /etc/ssl/certs/DST_Root_CA_X3.pem > /tmp/cbdchain.pem; /usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard example.com/privkey.pem -c /tmp/cbdchain.pem"Digite o endereço de e-mail ou C para cancelar.
Digite o endereço de e-mail (usado para renovações urgentes e avisos de segurança) (Digite 'c' paraDigite A para concordar ou C para cancelar.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Digite Y para Sim ou N para Não.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -O certificado foi emitido e pode ser encontrado no subdiretório /etc/letsencrypt/live no sistema de arquivos:
Obter um novo certificadoO diretório que contém os certificados tem permissões restritas, de modo que somente o usuário raiz pode exibir os arquivos. O arquivo privkey.pem, em particular, é sensível e o acesso a esse arquivo deve ser restrito apenas a pessoal autorizado.
O Painel deve estar em execução com o novo certificado. Se você abrir a Interface do Usuário (UI) do Painel em um navegador da Web inserindo qualquer um dos nomes especificados ao criar o certificado na barra de endereços, o navegador da Web deverá indicar que a conexão é confiável e segura.
Observe que os certificados emitidos pela Let’s Encrypt têm uma vida útil relativamente curta, atualmente de 90 dias. O pacote certbot para Ubuntu Linux é configurado para verificar a validade do certificado duas vezes por dia e renovar o certificado se ele estiver se aproximando da expiração, portanto, nenhuma ação deve ser necessária para manter o certificado atualizado. Para verificar se as verificações periódicas estão ocorrendo corretamente, aguarde pelo menos doze horas após a criação inicial do certificado e, em seguida, verifique o arquivo de log do certbot em busca de mensagens semelhantes às seguintes: cbd:~$ sudo tail /var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,783:DEBUG:certbot.main:certbot versão: 0.31.0
2020-07-31 16:50:52,784:DEBUG:certbot.main:Argumentos: ['-q']
2020-07-31 16:50:52,785:DEBUG:certbot.main:Plug-ins descobertos:
(Plug-inEntryPoint#manual,
PluginEntryPoint#nulo,PluginEntryPoint#autônomo,PluginEntryPoint#webroot)
2020-07-31 16:50:52,793:DEBUG:certbot.log:Nível de log raiz definido como 30
2020-07-31 16:50:52,793:INFO:certbot.log:Salvar log de depuração em
/var/log/letsencrypt/letsencrypt.log
2020-07-31 16:50:52,802:DEBUG:certbot.plugins.selection:
Autenticador solicitado <certbot.cli.
_Objeto padrão em 0x7f1152969240> e instalador <certbot.cli.
_Objeto padrão em 0x7f1152969240>
2020-07-31 16:50:52,811:INFO:certbot.Renewal:Cert ainda não vencido para renovação
2020-07-31 16:50:52,812:DEBUG:certbot.plugins.selection:Autenticador solicitado
webroot e installer Nenhum
2020-07-31 16:50:52,812:DEBUG:certbot.Renewal:sem falhas de renovação
Depois de um tempo suficiente para que a data de expiração do certificado seja de trinta dias, o cliente certbot renovará o certificado e aplicará o certificado atualizado ao aplicativo de painel automaticamente.
Para obter mais informações sobre o uso do cliente certbot, consulte a página de documentação certbot.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
27-Aug-2020 |
Versão inicial |