SSL 인증서는 일부 클라이언트에서만 작동합니까?


11

호스팅 업체가 최근에 만료 된 도메인 인증서 가 실수로 만료 된 후 내 도메인에 대한 SSL 인증서 를 최근에 다시 발급했다가 다시 설치했습니다 .

이제 HTTPS를 통해 웹 사이트 를 다시 탐색 할 수 있으며 호스트도 마찬가지이며 다른 여러 사용자도 마찬가지입니다.

그러나 일부 사용자 (수백 명 중 12 명 이상)는 여전히 Your connection is not secure다른 브라우저와 플랫폼에서 오류 메시지를 받고 있습니다. (재현 할 수없는 문제를 진단하기가 어렵습니다.)

서로 다른 브라우저가 서로 다른 인증 기관 (CA) 목록을 사용한다는 것을 알고 있습니다.

  1. SEC_ERROR_UNKNOWN_ISSUER내가없는 동안 ( OS X의 경우 45.0.1) 동일한 버전의 Firefox를 실행하는 사용자에게 어떻게 오류가 발생합니까 (내 사이트에만 해당)? 무엇이 가능합니까? 이 사용자는 캐시를 지우고 랩톱을 재부팅했습니다.

digicert.com 에서 SSL 검사를 실행했습니다 . 결과는 다음과 같습니다.

SSL 인증서를 신뢰할 수 없습니다

인증서는 신뢰할 수있는 기관에서 서명하지 않았습니다 (Mozilla의 루트 저장소 확인). 신뢰할 수있는 기관에서 인증서를 구입 한 경우 하나 이상의 중간 인증서 만 설치하면됩니다. 서버 플랫폼에서이 작업을 수행하는 데 도움이 필요하면 인증 공급자에게 문의하십시오.

  1. 이 경우 SSL 오류없이 사이트에 어떻게 연결할 수 있습니까?

1
My hosting provider has recently re-issued and re-installed an SSL certificate for my domain, after they let the old one expire by mistake.-당신이이 책임을 그들의 손에 맡기는 것은 어떻습니까?
joeqwerty

3
sysadmin이 아니기 때문에 관리되는 전용 서버를 임대합니다. (작은 배경 이야기를 위해, 나는 비즈니스 운영 위에 언어 학습 자료와 코드를 작성하므로 sysadmin도 재미 있지만 너무 많은 모자가 될 것입니다.)
Fabien Snauwaert

7
@ joeqwerty : 그들이 직업이기 때문에? 그는 말 그대로 그에게 물건을 정리하기 위해 돈을 지불하고 있습니다.
궤도에서 가벼움 레이스

@LightnessRacesinOrbit : 그것은 내가하지 않은 가정이므로 질문입니다.
joeqwerty

1
bugzilla.mozilla.org/show_bug.cgi?id=399324 는 Firefox에서 중간 인증서 자동 다운로드를 지원하는 버그 보고서입니다. 토론 (8 년 전)은 "IE does it!"으로 요약됩니다. / "IE로 지옥에 가기 위해 RFC는 선택 사항이라고 말합니다!" / "강건성 원리를 들어 본 적이 있습니까?" / "서버 구성이 잘못되어 기분이 좋지 않습니다!"

답변:


22

인증서의 인증서 체인이 불완전합니다. 공급자가 새 인증서를 설치할 때 일부 중간 인증서를 설치하지 못한 것 같습니다.

대부분의 중간 인증서는 일부 오래된 브라우저 및 운영 체제를 지원하기 위해 SSL 기관에서 제공합니다. 그것이 당신을 위해 작동하지만 일부 고객에게는 작동하지 않는 이유입니다.

웹 사이트에서 SSL 문제를 확인하는 정말 유용한 유틸리티는 SSLlabsSSL 서버 테스트 입니다. 위의 링크에서 볼 수 있듯이 여기에 체인 문제가있을뿐만 아니라 인증서를 만드는 데 사용되는 서명 알고리즘도 약합니다. 웹 서버는 여전히 POODLE 공격취약 하며 여전히 RC4를 지원합니다. 안전하지 않은 것으로 간주 ...

나는 당신의 웹 서버 공급자에 대해 아무 말도하고 싶지 않지만, 당신의 입장에서 나는이 모든 문제를 최대한 빨리 해결하거나 다른 공급자로 변경하기 위해 메일을 보낼 것입니다 ...


감사합니다. 매우 도움이됩니다. 호기심으로 OS X의 클라이언트와 Firefox와 동일한 버전의 Firefox가 SEC_ERROR_UNKNOWN_ISSUER왜 내가 아닌 동안 오류가 발생하는지 알 수 있습니까? 그의 OS 버전이 다를 수 있습니까?
Fabien Snauwaert

1
@FabienSnauwaert 예, "Handshake Simulation"으로 스크롤하면 SSLLabs 테스트는 다양한 OS / 브라우저 버전 조합을 시뮬레이션하려고 시도합니다. 브라우저는 자체적으로 SSL 연결을 완전히 처리하지는 않지만 부분적으로 OS 구현에 의존합니다. 따라서 분명히 OS 버전이 차이를 만듭니다.
s1lv3r

3
클라이언트가 다른 CA 목록을 가질 수있는 것은 아닙니다. 브라우저가 중간 인증서를 올바르게 구성한 사이트를 이전에 방문한 경우 중간 인증서가 누락 된 사이트가 작동 할 수 있도록 일부 클라이언트가 중간 인증서를 캐시 할 수도 있습니다.
kasperd

SSLlabs 사이트는 훌륭한 도구입니다. 참조 주셔서 감사합니다.
Parapluie

12

인증서를 신뢰하려면 브라우저 / OS 조합에서 자체적으로 신뢰하거나 자체적으로 해당 엔티티에 의해 서명 된 엔티티가 인증서를 서명해야합니다. 일반적으로 중간 CA에 서명하고 중간 CA가 인증서에 서명하는 하나의 신뢰할 수있는 루트 CA에 의해 수행됩니다. 이것은 다음과 같은 체인을 만듭니다.

  1. 컴퓨터에서 신뢰하고 서명하는 루트 CA
  2. 중간 CA, 서명
  3. 인증서는 루트 CA로 연결되는 체인으로 인해 신뢰 만됩니다.

여기서 문제는 중간 CA 인증서에 있습니다. 모든 사람이 루트 CA에 이르기까지 체인의 모든 유효성을 검사 할 수 있도록하려면 공급자가 서버 구성에 중간 인증서를 포함시켜야합니다. 이 경우에는 그렇지 않습니다.

일부 사용자에게 적용되는 이유는 자신의 "신뢰 저장소"에 중간 인증서가 있기 때문입니다. 이러한 경우, 이미 중개자를 신뢰하므로 인증서를 수락합니다. 그러나 방문자가 다른 OS / 브라우저를 사용하는 경우 중간 인증서가 없으므로 웹 서버에서 인증서를 가져와야합니다. 웹 서버는 인증서를 전달하지 않으므로 그것을 확인합니다.


감사합니다. 이제 문제를 명확하게 확인할 수 있습니다. 호스트가 인증서를 수정하기를 기다리는 동안 사용자가 자신의 "신뢰 저장소"에 중간 인증서를 추가하도록하는 방법이 있습니까? 예 : 그에 의존하는 다른 SSL 사이트를 방문합니까?
Fabien Snauwaert

1
@FabienSnauwaert 불행히도 트릭은 없습니다. 동일한 중간 인증서를 가진 사이트를 방문하는 것만으로는 도움이되지 않습니다. 실제로 인증서를 다운로드하여 브라우저에 수동으로 추가해야합니다. 이 특정 인증서는 최신 브라우저에 포함되어 있다고 생각합니다. Firefox 45.0.1에서는 작동하지만 43.0.4에서는 작동하지 않으므로 두 버전 사이에 포함되었습니다. 따라서 클라이언트가 브라우저를 업그레이드하도록 할 수 있다면 도움이 될 것입니다.
Jenny D

4
@JennyD 중급 인증서는 최신 브라우저에 의해 캐시되므로 동일한 중간체를 사용하는 다른 사이트를 방문하면 작동 할 가능성이 높습니다. 그러나 그것은 실제로 사용자에게 물어봐야 할 것이 아닙니다 ... ( bugzilla.mozilla.org/show_bug.cgi?id=629558 , sslmate.com/blog/post/chrome_cached_sha1_chains 참조 )
Bob

0

HTTP 공개 키 고정 을 사용 중이고 제공자가 새 인증서를 제공 한 경우 공개 키가 이미 변경되었을 수 있습니다. 이 키는 지정한 기간 동안 클라이언트 브라우저에 저장됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.