CentOS 7 - Não aceita certificados SSL

CentOS 7 - Não aceita certificados SSL

Estou com um problema na minha caixa do CentOS 7 ao fazer qualquer coisa que exija SSL, incluindo curl, wget ou atualização 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). Tentei reinstalar os certificados CA fazendo isso:

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

mas isso não ajudou. Alguma ideia?

Responder1

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

Verifique a versão que você está executando; o 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 dos resultados, pode ser necessária uma atualização ou reinstalação do nss.

Você pode ver semidefinitivamente se há um problema com o nss alterando temporariamente as permissões nesse diretório (como root):

chmod 400 /etc/pki/nssdb/*

Em seguida, execute o comando curl como um usuário normal - se funcionar, a saída será algo como isto:

* 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 CA e não a autenticação baseada em nssdb.

Se este não for um problema relacionado ao NSS, aqui está umGuia RHELisso também se aplica ao CentOS e garante que você tenha uma configuração de certificado CA limpa. Não acredito que esse link esteja por trás do acesso pago; deixe-me saber se você precisa e não consegue acessá-lo.

Responder2

Em qual ambiente você está executando o CentOS7?

Há um bug desagradável relacionado aCentos 6.8atualização / NSS 3.21.0-8.el6 em sistemas sob virtualização (Zen) e/ou suporte CPU AES. Eu experimentei o problema após a atualização do CentOS 6.8 e NSS em instâncias Rackspace e AWS t1.micro.

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

https://www.centos.org/forums/viewtopic.php?t=58002

https://bugs.centos.org/view.php?id=10930#c26705

Como verificar se o AES-NI é suportado pela minha CPU? https://unix.stackexchange.com/questions/14077/how-to-check-that-aes-ni-is-supported-by-my-cpu

Em 6,8, Algumas pessoas conseguiramfazendo downgrade do NSS definindo 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, NÃO para CentOS 7

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

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

Eu espero que isso ajude.

Responder3

Eu tive um problema semelhante. É verdade que é provavelmente meu próprio gaffau.

Foi necessário instalar*nss-*

[not showing this]# nss-config version

bash: nss-config: command not found

yum install -y nss-*

Installed:
  nss-devel.x86_64 0:3.36.0-7.el7_5
  nss-pam-ldapd.x86_64 0:0.8.13-16.el7
  nss-pkcs11-devel.x86_64 0:3.36.0-7.el7_5
  nss-softokn-devel.x86_64 0:3.36.0-5.el7_5
  nss-softokn-freebl-devel.x86_64 0:3.36.0-5.el7_5
  nss-util-devel.x86_64 0:3.36.0-1.el7_5

Dependency Installed:
  nscd.x86_64 0:2.17-260.el7            nspr-devel.x86_64 0:4.19.0-1.el7_5

nss-config version

Usage: nss-config [OPTIONS] [LIBRARIES]

Options:
        [--prefix[=DIR]]
        [--exec-prefix[=DIR]]
        [--includedir[=DIR]]
        [--libdir[=DIR]]
        [--version]
        [--libs]
        [--cflags]

Dynamic Libraries:
        nss
        nssutil
        ssl
        smime

[not showing this still]# nss-config --version
3.36.0

informação relacionada