Chromium이 TLS 인증서에 만족하지 않는 이유와 해결 방법을 찾으려고 합니다.
Chromium(현재 58.0.3029.81, Debian 테스트에서 실행)을 업그레이드하고 다시 시작한 후 더 이상 내부 GitLab 서버(통합 패키지를 통해 Debian Jessie에 설치됨)에 액세스할 수 없습니다. 나는 얻다:
연결이 비공개가 아닙니다
공격자가 git.ourdomain.net에서 귀하의 정보(비밀번호, 메시지, 신용카드 등)를 도용하려고 시도할 수 있습니다. NET::ERR_CERT_COMMON_NAME_INVALID
인증서는 시스템 저장소에 설치되는 내부 CA에 의해 서명됩니다( 에 입력 /usr/local/share/ca-certificates
). openssl s_client -verify 5 -verify_return_error -connect git.ourdomain.net:443
나는 Firefox 52와 ; 둘 다 매우 행복했습니다. OpenSSL은 체인을 다음과 같이 표시합니다.
Certificate chain
0 s:/C=US/ST=Virginia/L=Sterling/O=«us»/OU=Servers/CN=git.ourdomain.net
i:/C=US/ST=Virginia/L=Sterling/O=«us»/CN=«us» Certification Authority/[email protected]
OpenSSL과 Firefox는 모두 강력한 서명(SHA-512)과 암호(AES-GCM)를 나타냅니다. 인증서 openssl x509 -text
는 sha512WithRSAEncryption을 기반으로 하며 4096비트 RSA 키를 가지고 있습니다. Netscape 인증서 유형 SSL 클라이언트, SSL 서버가 있습니다.
참고: "us"와 ourdomain.net은 수정되었습니다. 실제 출력에서는 회사 이름이 "us"이고 실제 도메인 이름은 ourdomain.net입니다. 나는 모든 ourdomain.net이 실제로 일치하는지 다시 확인했습니다.
내가 아는 한 인증서에는 아무런 문제가 없으며 일반 이름(git.ourdomain.net)은 완벽하게 유효하며 URL과 일치합니다. 그렇다면 Chromium은 무엇에 대해 불평하고 있습니까? 그리고 이것이 실제로 문제가 되지 않는다고 가정하면 이를 무시할 수 있는 방법이 있습니까?
답변1
그것은 것 같다크롬 오류 308330그들은 호스트 이름을 인증서 일반 이름과 일치시킬 때 불일치할 위험이 있다고 생각하여 이 기능을 비활성화했습니다. 이제 Chromium은 subjectAltName 확장자와만 일치합니다. Firefox도 유사한 변경 사항을 적용했지만 내부 인증서가 아닌 공용 CA에서 발급한 최신 인증서에만 해당됩니다. 이것이 바로 Firefox가 여전히 작동하는 이유입니다.
EnableCommonNameFallbackForLocalAnchors
다음을 사용하여 생성 할 수 있는 정책을 설정하여 Chromium 변경 사항을 재정의할 수 있습니다 /etc/chromium/policies/managed/use-common-names.json
.
{
"EnableCommonNameFallbackForLocalAnchors": true
}
Chromium을 생성한 후 다시 시작해야 하는 것 같습니다.