컬, wget 또는 YUM을 통한 업데이트를 포함하여 SSL이 필요한 모든 작업을 수행하는 CentOS 7 상자에 문제가 있습니다.
출력은 항상 동일합니다.
[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
모든 인증서는 "신뢰할 수 없는 것으로 표시"된 것으로 나타납니다(12개의 다른 URL을 사용하여 이를 시도했습니다). 다음과 같이 CA 인증서를 다시 설치해 보았습니다.
yum --disablerepo="epel" reinstall ca-certificates
하지만 그것은 도움이 되지 않았습니다. 어떤 아이디어가 있나요?
답변1
nss 설치를 확인해 보겠습니다. 어떤 식으로든 오래되었거나 손상되었을 가능성이 있습니다.
실행 중인 버전을 확인하세요. Centos 7의 최신 버전은 다음과 같아야 합니다.
nss-config version
3.21.0
그런 다음 nss 패키지가 수정되거나 손상되었는지 확인하십시오.
rpm -Vv nss-*
결과에 따라 nss 업데이트 또는 재설치가 필요할 수 있습니다.
해당 디렉터리에 대한 권한을 루트로 일시적으로 변경하면 nss에 문제가 있는지 확실하게 확인할 수 있습니다.
chmod 400 /etc/pki/nssdb/*
그런 다음 일반 사용자로 컬 명령을 실행하십시오. 작동하면 다음과 같이 출력됩니다.
* 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>
이는 nssdb 기반 인증이 아닌 CA 인증서만 사용했음을 나타냅니다.
이것이 nss 관련 문제가 아닌 경우 다음을 참조하세요.RHEL 가이드이는 CentOS에도 적용되며 CA 인증서 구성이 깨끗한지 확인하는 과정을 안내합니다. 나는 링크가 페이월 뒤에 있다고 믿지 않습니다. 필요하지만 액세스할 수 없는 경우 알려주세요.
답변2
CentOS7을 어떤 환경에서 실행하고 있습니까?
관련된 불쾌한 버그가 있습니다센토스 6.8(Zen) 가상화 및/또는 CPU AES 지원을 받는 시스템의 업데이트/NSS 3.21.0-8.el6. Rackspace 및 AWS t1.micro 인스턴스 모두에서 CentOS 6.8 및 NSS 업데이트 후에 문제가 발생했습니다.
Centos7 NSS 업데이트와 관련된 문제가 있는 것 같습니다.
https://www.centos.org/forums/viewtopic.php?t=58002
https://bugs.centos.org/view.php?id=10930#c26705
내 CPU가 AES-NI를 지원하는지 어떻게 확인하나요? https://unix.stackexchange.com/questions/14077/how-to-check-that-aes-ni-is-supported-by-my-cpu
6.8에, 어떤 사람들은 성공했습니다.환경 변수 "NSS_DISABLE_HW_GCM=1"을 설정하여 NSS를 다운그레이드
# 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
위의 코드는 CentOS 7이 아닌 6.8용입니다.
nss-3.21.0-0.3을 찾았습니다.el6_7.x86_64는 감가상각되어 사용할 수 없습니다. 6.8 업데이트 이전의 이미지 백업에서 전체 서버를 다시 로드했으며 다시 업데이트하기 전에 YUM 버전이 잠긴 nss nss-sysinit nss-tools nss-util을 사용했습니다.
참고: 위의 정보를 '답변'이 아닌 '댓글'로 추가하고 싶지만 낮은 담당자 점수로 인해 댓글을 달 수 없으며 '답변'만 할 수 있습니다.
이게 도움이 되길 바란다.
답변3
비슷한 문제가있었습니다. 물론 그것은 내 자신의 가파우일 가능성이 높습니다.
설치가 꼭 필요했어요*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