Firefox 59가 더 이상 .dev 가상 호스트에서 자체 서명 SSL 인증서를 수락하지 않는 문제를 해결하는 방법


20

내 로컬 Apache 환경에는 개발을 위해 SSL이 필요한 사이트가 있으므로 자체 서명 인증서를 사용하고 있습니다. 로컬 사이트는 지금까지 Firefox와 Chrome에서 잘 작동했지만 오늘 Firefox를 버전 59로 업데이트 한 후에는 보안 예외를 수락 할 수 없습니다 (Chrome에서는 자체 서명 된 인증서가 계속 작동 함).

Firefox는 차단 된 페이지에이 추가 정보를 제공합니다.

... 유효하지 않은 보안 인증서를 사용합니다. 자체 서명 된 인증서이므로 신뢰할 수 없습니다. 오류 코드 : SEC_ERROR_UNKNOWN_ISSUER

여기에서 예외를 허용하는 옵션은 없지만 인증서 아래의 Firefox 환경 설정으로 이동 한 다음 "서버"탭에서 로컬 도메인에 대한 예외를 추가했습니다. 그런 다음 인증서가 올바른 로컬 서버 이름으로 나열되며, 세부 정보에는 유효한 시간 범위와 함께 발급자 및 발급자의 인증서 설정이 동일하게 표시됩니다.

FF 59와 비슷한 문제가 있거나 자체 서명 인증서를 로컬에서 다시 작동시키려는 단서가 있습니까?


편집 : FF 59 릴리스 노트 에는 이것에 대한 언급이 없지만 새 버전의 무언가로 인해 * .dev 도메인의 모든 로컬 가상 호스트가 자동으로 https 연결을 설정하려고합니다 (즉, 모든 http * .dev에 대한 요청은 https URL로 자동 전송됩니다). 어쩌면이 동작에 대한 무언가가 실제 https 가상 호스트에서 이러한 문제를 일으키는 것일 수도 있습니다.


1
파이어 폭스는 지난 몇 릴리스에 걸쳐 점차적으로 요구 사항을 강화했기 때문에 자체 서명 된 인증서를 위해 CA가 필요하다고 생각합니다. 그러나 Let 's Encrypt를 사용하면 더 이상 자체 서명 된 인증서를 사용할 이유가 없습니다.
Simon Greenwood 11

나는 추측하고 싶지 않지만 @SimonGreenwood가 옳다고 생각합니다. 그러나 일반적으로 Firefox는 새 옵션을 기본값으로 설정하고 설정을 편집 할 수 있습니다. 개인 정보 설정을 확인하십시오.

@Broco 개인 정보 설정이 아니라 보안 설정에있는 것이 있으면 무엇이든합니다. 위에서 언급했듯이 보안 예외를 추가했지만 Firefox는 여전히 발급자가 알 수 없기 때문에 인증서의 유효성을 검사 할 수 없다고 주장합니다.
kontur

@kontur 나에게 링크는 개인 정보 보호 및 보안 설정을 모두 설정하는 : preferences # privacy에 관한 링크이므로 개인 정보 보호를 말한 것입니다. 버그로 게시하는 것을 고려하십시오.

2
@SimonGreenwood 로컬 연결에서 암호화를 사용하지 않는 데에는 여러 가지 이유가 있습니다. 암호화를 설정하고 싶지 않을 것입니다.
Jon

답변:


15

나는 이것이 어떻게 이것이 모두 정확하게 일치하는지에 대해 완전히 명확하지는 않지만 이 답변 .dev 도메인 에서 지적한대로 이제는 공식 TLD입니다. 따라서 브라우저는 일종의 HSTS 동작을 강제하고 https 연결을 강제하는 것으로 보입니다. 이러한 TLD의 경우 내 자체 서명 인증서가 더 이상 Firefox에서 허용되지 않는 것 같습니다. 가상 호스트를 사용하도록 변경하면 .test자체 서명 된 인증서의 내용을 전혀 변경하지 않고도 문제가 해결되었습니다.

Firefox에서 SSL 이외의 가상 호스트도 오늘 버전 59 이후로 작동했습니다 .HSTS 동작이 SSL을 통해 서비스하도록 설정하지 않은 가상 호스트에서 SSL을 강제하는 것처럼 보였기 때문에 주목할 가치가 있습니다. Chrome에서는 여전히 작동했지만 지금은 공식적으로 사용되는 .devTLD 에서 멀어 지면 많은 두통이 해결 된다고 말하는 것이 안전합니다 .


1
예, .dev유효한 TLD이므로 시간이 오래 걸리므로 내부 리소스의 이름을 지정 하지 마십시오 . 다른 이름과 동일 : 다른 사람이 사용할 것으로 생각되는 이름은 사용하지 마십시오. 하나를 사용 테스트 이름은 RFC2606에서 참조하거나 어디서든 진정한 도메인 이름을 등록하고 같은 하위 도메인을 사용 int.example.com하거나 dev.example.com모든 내부 이름 접미사 할 수 있습니다. 그러면 매년 도메인 이름을 갱신하는 것을 기억하는 한 충돌이나 문제가 발생하지 않습니다.
Patrick Mevzek


1
링크 주셔서 감사합니다. 거기에 언급 된 타임 라인은 꽤 일치하지 않지만 저자는 개발 미리보기 등에 대해 이야기했을 것입니다. 내가 아는 것을 감안할 때 브라우저 공급 업체가 특히 .dev도메인의 SSL 오류와 관련하여 디버깅 정보를 추가하지 않는 이유를 알기가 어렵습니다 . 그것이 TLD인지 알지 못한다면 이것이 문제라고 추측 할 가능성은 없습니다.
kontur

12

이 문제를 해결하는 쉬운 방법이 있습니다.

  1. 이동 about:config
  2. "network.stricttransportsecurity.preloadlist"를 검색하십시오.
  3. 로 설정하십시오 false.

경고 : 이렇게하면 HSTS가 완전히 비활성화됩니다 . 이 방법의 단점에 대한 토론은이 답변에 대한 의견을 살펴보십시오. 나는 개인적으로 이익이 위험보다 중요하다고 생각하지만, 당신은 당신 자신의 안전에 책임이 있습니다.

여기에 이미지 설명을 입력하십시오


4
이 설정은 자신이 아닌 방문하는 모든 웹 사이트에 적용되므로 매우 나쁜 생각입니다. 당신은 보안을 낮추고 있습니다.
Patrick Mevzek 2016 년

동의하지 않습니다. HSTS는 비교적 새롭습니다. 우리는 지난 20 년 동안 그것 없이는 괜찮 았으므로 보안을 해제하는 것이 매우 나쁘다고 말하는 것이 과장되었습니다. 둘째, 나쁜 생각이더라도 개발 서버가 계속 작동하기를 원한다면 실제로 다른 옵션이 없기 때문에 개발 환경을 오랫동안 변경하지 않아도됩니다.
앤디 머서

1
다음과 같은 솔루션 : security.stackexchange.com/a/154176 은 모든 사이트가 아니라 하나의 사이트에만 영향을 미칩니다.
Patrick Mevzek

1
내가 아는 한이 소리가 들리면서 나이가 들수록 "모범 사례"와 "잘못"과 같은 것들이 유연하고 시간이 지남에 따라 변한다는 것을 알게 될 것입니다. 사람들이 현재 "잘못된"것으로 간주하는 것은 수년 동안 잘못된 것으로 간주되지 않았으며 앞으로 다시는 그렇지 않을 수도 있습니다. 이 특정 토론에 관해서는, 우리는 동의하지 않기 만하면됩니다.
앤디 머서

1
이 수정 사항에 감사드립니다. Firefox 59.0.1 (및 Firefox Dev Edition 60)에서 유용합니다. 우리의 현재 .dev프로젝트는 결국 다른 TLD 접미사로 옮겨 질 것이지만 현재로서는 지역 개발을 중단시키지 않습니다.
Jake Bathman

4

페이지 에서 설정 security.enterprise_roots.enabled하면 이 문제가 해결되어 자체 서명 인증서가 개발 중에 작동 할 수있었습니다.trueabout:config

여기에서 기본적으로이 기능의 장점에 대해 약간의 토론이 있습니다.
security.enterprise_roots.enabled를 기본적으로 true로 설정하십시오 .

이 플래그의 목적은 Firefox가 시스템 전체의 CA 루트 저장소를 인증 기관의 유효한 소스로 사용할 수 있도록하기위한 것이지만, 사용 하는 자체 서명 된 다중 도메인 인증서가있는 자체 사용 사례의 상황을 수정했습니다. 테스트를 위해 로컬로 (subjectAltName 's) . Firefox 인증서 목록에 인증서를 추가 한 후에도 로컬 사이트를로드 할 수 있도록 설정하지 않았습니다.


고마워요!
informatik01

0

basilisk 웹 브라우저 에서 동일한 문제가 발생했습니다 . 네트워크 프록시 설정을 변경하거나 "network.stricttransportsecurity.preloadlist"또는 "security.enterprise_roots.enabled"플래그를 수정하려고했지만 차단 된 웹 사이트에 대한 인증서를 추가하기 위해 누락 된 버튼을 해결하지 못했습니다. 만 그것을 통해 :

  1. 로 이동하십시오 about:support.
  2. Open Directory브라우저 프로파일을 클릭하십시오 .
  3. 브라우저를 완전히 닫습니다.
  4. 위 디렉토리에서 " SiteSecurityServiceState.txt " 파일을 편집하십시오 .
  5. 차단 된 HSTS 사이트가 포함 된 전체 줄을 찾아 제거하십시오.
  6. 파일을 저장하고 해당 사이트에서 브라우저를 다시여십시오.

-3

"암호화하자"로 갔다

https://letsencrypt.org/

한 번에 3 개월 동안 만 유효하지만 새로 고침을 자동화 할 수 있습니다.

비고에서 볼 수 있듯이 캐치가 있습니다. 개발 및 테스트 도메인을 dev-www.example.com 및 test-www.example.com이라고합니다. 프로덕션의 와일드 카드 인증서를 사용합니다.


5
암호화는 공개 된 서버와 도메인에 의존하지 않습니까? 로컬 가상 호스트에서 SSL을 사용하는 옵션을 찾고 있습니다.
kontur

예, 지역 개발을하는 사람들에게는 효과가 없습니다.
Andy Mercer

문제는 LOCAL DEV에 관한 질문입니다.

@Pieter는 "로컬 개발"과 동일합니까? 그것이 우리가하는 일이기 때문입니다.
Gerard H. Pille

1
@ GerardH.Pille 인터넷에서 서버에 액세스 할 수있는 경우에만 인증서 암호화를 생성 할 수 있습니다. 내 지역 개발의 경우에는 그렇지 않으므로 실행할 수 없습니다. 내가 빠진 것이 있으면 알려주세요.
kontur
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.