Atualização da chave GPG para produtos NGINX

NGINX | 08 de agosto de 2016

Se você usa o NGINX Plus, o NGINX Amplify ou os binários pré-compilados do NGINX Open Source do nginx.org, talvez seja necessário atualizar agora a chave GPG do seu software NGINX.

As chaves de alguns softwares da NGINX — os detalhes são explicados abaixo — expirarão na quarta-feira, 17 de agosto, e você não poderá verificar as assinaturas dos seus softwares até atualizar sua chave. Este anúncio não afeta você caso obtenha o NGINX Open Source de outros fornecedores que não sejam a NGINX, Inc. — por exemplo, por meio de distribuições de sistemas operacionais.

Uma chave GPG faz parte do Gnu Privacy Guard, ou GnuPG. O GnuPG é uma implementação gratuita do padrão OpenPGP – amplamente conhecido como PGP. As chaves GPG são usadas para verificar se os pacotes de um repositório foram criados pelo proprietário da chave.

Quem precisa atualizar a chave?

A NGINX, Inc. usa chaves GPG em seus pacotes RPM e repositórios Debian/Ubuntu para que você possa verificar a integridade e a origem do pacote baixado. Muitos usuários de chaves GPG configuram suas chaves para expirar periodicamente, e a chave GPG da NGINX, Inc. expira no próximo dia 17 de agosto. Portanto, você precisa atualizar sua chave GPG se:

  • Use o NGINX Plus
  • Use o NGINX Amplify
  • Use os binários do NGINX Open Source fornecidos pela NGINX, Inc.

Você não precisa atualizar sua chave GPG se usa o NGINX Open Source que:

  • De um pacote do sistema operacional. A maioria dos sistemas operacionais inclui o NGINX em seus repositórios.
  • Compilado por você a partir do código-fonte. Você pode verificar a assinatura do pacote de código-fonte diretamente usando o comando gpg --verify.

Atualizando a chave GPG

Para usar a chave atualizada, basta baixá-la novamente e reimportá-la. O processo varia de acordo com o sistema operacional.

Atualizando a chave no Debian/Ubuntu

Se você tiver chaves configuradas incorretamente, verá um dos seguintes erros ao executar apt-get update:

nginx/x86_64/signature                                                   | 2.9 kB  00:00:10 !!!http://nginx.org/packages/mainline/centos/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for nginx
nginx/x86_64/signature                                                   | 2.9 kB  00:00:00 !!!http://nginx.org/packages/mainline/centos/7/x86_64/repodata/repomd.xml: [Errno -1] Gpg Keys not imported, cannot verify repomd.xml for repo nginx

Para atualizar sua chave, baixe a nova chave GPG e substitua a antiga:

# curl -O https://nginx.org/keys/nginx_signing.key && apt-key add ./nginx_signing.key

Para verificar a data de expiração da nova chave, execute apt-key list:

# apt-key list
...
pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <signing-key@nginx.com>
...

Atualizando a chave no Amazon Linux, CentOS, Oracle Linux, RHEL e SLES

Verifique se o seu repositório está configurado para verificar e validar chaves GPG. Por padrão, a verificação está desabilitada para os repositórios do NGINX e do NGINX Plus, mas habilitada para os repositórios do NGINX Amplify. A verificação estará desabilitada se os arquivos de repositório do yum em /etc/yum.repos.d incluírem a seguinte linha:

gpgcheck=0

Veja um exemplo de arquivo de repositório, /etc/yum.repos.d/nginx.repo, com a verificação desativada:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

Nesse caso, nenhuma ação é necessária. (Observe que, com a verificação desativada, um aviso é exibido ao instalar novos pacotes, mas a instalação ainda é concluída com sucesso.)

Se você configurou explicitamente a verificação de GPG, será necessário substituir a chave.

Você pode verificar a autenticidade dos pacotes baixados localmente executando o comando rpm -K:

  • Se a chave estiver ausente, você verá este erro:
# rpm -K nginx-1.11.3-1.el7.ngx.x86_64.rpmnginx-1.11.3-1.el7.ngx.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#7bd9bf62)
  • Se a chave estiver configurada corretamente, você verá esta mensagem:
# rpm -K nginx-1.11.3-1.el7.ngx.x86_64.rpmnginx-1.11.3-1.el7.ngx.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

Siga as etapas abaixo para atualizar a chave GPG:

  1. Verifique se a chave GPG do NGINX está instalada no momento:
# rpm -qi gpg-pubkey-7bd9bf62-*
  1. Se a chave estiver instalada, a saída incluirá o número da versão e a data da compilação:
...
Release     : 5762b5f8
...
Build Date  : Fri 19 Aug 2011 05:52:34 AM EDT
...
  1. Se ele não estiver instalado, esta mensagem será exibida:
package gpg-pubkey-7bd9bf62-* is not installed
  1. Remova a chave GPG atual do NGINX:
# rpm -e --allmatches gpg-pubkey-7bd9bf62-*
  1. Baixe e instale a nova chave:
# curl -O https://nginx.org/keys/nginx_signing.key# rpm --import ./nginx_signing.key
  1. (Não há nenhuma saída de confirmação nessas plataformas.)
  2. Verifique as informações de lançamento e a data de compilação da nova chave GPG:
# rpm -qi gpg-pubkey-7bd9bf62-*...
Release     : 4e4e3262
...
Build Date  : Thu 16 Jun 2016 10:21:44 AM EDT

Atualizando a chave no FreeBSD

O sistema de gerenciamento de pacotes do FreeBSD não usa uma chave GPG, portanto, nenhuma ação é necessária.

Verificando a autenticidade de uma chave GPG

Você também pode verificar a autenticidade da chave GPG baixada. O GPG usa o conceito de “rede de confiança”: uma chave pode ser assinada com a chave de outra pessoa, que, por sua vez, é assinada por outra chave, e assim por diante.

Essa abordagem geralmente permite criar uma cadeia entre uma chave qualquer e a chave de alguém que você conhece e em quem confia pessoalmente, verificando assim a autenticidade da primeira chave da cadeia. Esse conceito é descrito em detalhes no Miniguia do GPG. As chaves da NGINX, Inc. têm assinaturas suficientes para que sua autenticidade seja relativamente fácil de verificar.

Como obter suporte

Para obter suporte durante a atualização da sua chave GPG:


Compartilhar

Sobre o autor

Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
NGINX | 10/10/2024

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade

Descubra como o F5 NGINX One aprimora o gerenciamento e a observabilidade de ambientes híbridos e multicloud ao oferecer um console web centralizado baseado em SaaS, com insights em tempo real, conformidade automatizada e gerenciamento simplificado de configurações.

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa
NGINX | 17/06/2024

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa

Descubra como transformar uma definição de esquema OpenAPI em uma configuração NGINX totalmente funcional, operando como um API Gateway com a segurança de um Web Application Firewall e um Portal do Desenvolvedor, usando uma abordagem declarativa de API.

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor
NGINX | 14/07/2021

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor

Picos de tráfego e sobrecarga de servidores são preocupações sérias para varejistas online em qualquer época, mas especialmente durante a “Cyber Season” de compras de fim de ano. Detalhamos como você pode aproveitar as soluções de entrega de aplicações de nível de produção da NGINX para se preparar para aumentos repentinos de tráfego.

Distribuição segura de chaves privadas SSL com o NGINX
NGINX | 02/04/2019

Distribuição segura de chaves privadas SSL com o NGINX

Descrevemos três maneiras progressivamente mais seguras de proteger chaves privadas SSL ao configurar o NGINX para processar tráfego HTTPS: permitir acesso de leitura apenas ao usuário root, criptografar as chaves com senhas armazenadas separadamente e distribuir as senhas a partir de um repositório central.

Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX
NGINX | 24/05/2018

Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX

O módulo JavaScript do NGINX lançado com o NGINX Plus R15 oferece suporte a subsolicitações, possibilitando uma classe totalmente nova de casos de uso para o NGINX Plus. Este exemplo completo também usa a API do NGINX Plus e os módulos de chave-valor para converter solicitações de API dos clientes em solicitações separadas para as APIs dos microsserviços que compõem um aplicativo.

Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus
NGINX | 19/04/2016

Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus

Confira dicas para evitar o esgotamento de portas efêmeras com ajustes no kernel do Linux, conexões keepalive e conexões vinculadas dinamicamente a endereços IP locais.