CentOS 7 - Não aceita certificados SSL

2

Eu tenho um problema na minha caixa do CentOS 7 fazendo qualquer coisa que requer SSL, incluindo curl, wget ou update via YUM.

A saída é sempre a mesma:

[root@localhost ~]# curl -I -v https://google.com
* About to connect() to google.com port 443 (#0)
*   Trying 74.125.138.100...
* Connected to google.com (74.125.138.100) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Server certificate:
*       subject: CN=*.google.com,O=Google Inc,L=Mountain View,ST=California,C=US
*       start date: Jun 16 08:37:32 2016 GMT
*       expire date: Sep 08 08:29:00 2016 GMT
*       common name: *.google.com
*       issuer: CN=192.168.2.44,C=US
* NSS error -8172 (SEC_ERROR_UNTRUSTED_ISSUER)
* Peer's certificate issuer has been marked as not trusted by the user.
* Closing connection 0
curl: (60) Peer's certificate issuer has been marked as not trusted by the user.
More details here: http://curl.haxx.se/docs/sslcerts.html

Todos os certificados parecem estar "marcados como não confiáveis" (tentei isso com uma dúzia de URLs diferentes). Eu tentei reintalar certificados de CA fazendo isso:

yum --disablerepo="epel" reinstall ca-certificates

mas isso não ajudou. Alguma idéia?

    
por Moses 20.06.2016 / 21:49

2 respostas

2

Eu gostaria de verificar sua instalação do nss. É possível que esteja desatualizado / corrompido de alguma forma.

Verifique a versão que você está executando; mais recente no centos 7 deve ser:

nss-config version
3.21.0

Em seguida, verifique se algum pacote nss foi modificado / corrompido:

rpm -Vv nss-*

Dependendo de seus resultados, uma atualização ou reinstalação do nss pode ser necessária.

Você pode ver de forma semi-definitiva se é um problema com o nss, alterando temporariamente as permissões nesse diretório (como root):

chmod 400 /etc/pki/nssdb/*

Em seguida, emita o comando curl como um usuário comum - se funcionar, ele produzirá algo assim:

* Connected to google.com (172.217.4.206) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* Unable to initialize NSS database
* Initializing NSS with certpath: none
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Server certificate:
<clipped>

O que indica que ele usou apenas os certificados da CA e não a autenticação baseada em nssdb.

Se este não for um problema relacionado a nss, aqui está um guia RHEL que se aplica também ao CentOS através da garantia de que você tenha uma configuração cert limpa do CA. Eu não acredito que esse link esteja por trás de seu paywall; deixe-me saber se você precisa e não pode acessá-lo.

    
por 21.06.2016 / 05:43
1

Em que ambiente você está executando o CentOS7?

Existe um erro desagradável relacionado com Centos 6.8 update / NSS 3.21.0-8.el6 em sistemas sob virtualização (Zen) e / ou suporte a CPU AES. Eu experimentei o problema após o CentOS 6.8 & Atualização do NSS em ambos Rackspace & Instâncias do AWS t1.micro.

Acredito que você esteja tendo um problema relacionado com uma atualização do NSS do Centos7.

link

link

Como verificar se o AES-NI é suportado pela minha CPU? link

Em 6.8 , algumas pessoas conseguiram fazer downgrade do NSS ao definir a variável de ambiente: "NSS_DISABLE_HW_GCM = 1"

# NSS_DISABLE_HW_AES=1
# yum downgrade nss nss-util nss-tools nss-sysinit
# yum install yum-plugin-versionlock
# yum versionlock add! nss-3.21.0-0.3.el6_7.x86_64 nss-sysinit-3.21.0-0.3.el6_7.x86_64 nss-tools-3.21.0-0.3.el6_7.x86_64 nss-util-3.21.0-0.3.el6_7.x86_64

Novamente, o código acima é para 6.8 NOT CentOS 7

Encontrei nss-3.21.0-0.3. el6_7 .x86_64 depreciado e indisponível. Eu recarreguei todo o servidor a partir de um backup de imagem antes da atualização 6.8 e da versão do YUM bloqueada nss nss-sysinit nss-tools nss-util antes de atualizar novamente.

OBSERVAÇÃO: Eu adicionaria as informações acima como 'comentário' e NÃO como 'resposta', mas a minha baixa pontuação de repetição me impede de comentar, só posso 'responder'.

Espero que isso ajude.

    
por 22.06.2016 / 00:08

Tags