IIS/Windows 2008R2에서 와일드카드 SSL 인증서를 사용하여 ASP.NET 웹 사이트를 호스팅하고 있습니다. Chrome이 내 웹사이트에서 제대로 작동하고 https 연결에 녹색 잠금이 표시되지만 https 세부정보에는 "사용되지 않는 암호화"가 언급되어 있습니다.
나는 이것이 동일한 창의 크롬에서도 언급되는 SHA1 때문이라고 가정합니다.
그러나 Digicert의 SSL 인증서 검사기에 따르면 SHA256을 사용해야 합니다.
이제 무슨 일이 일어나고 있는지, 이 문제를 해결하는 방법을 잘 모르겠습니다. 그것은 나타납니다이 블로그 게시물에서는 이 문제에 대한 해결 방법을 설명하지만 해결 방법이 너무 모호해(1. 단계: OpenSSL 설치?) 이것이 Windows 2008 R2에서 공식적인 방법이라고는 상상할 수 없습니다.
SSL 인증서 경고를 제거하려면 어떻게 해야 합니까?
편집하다:적용 후스크립트Grant가 추천한 내 SSLab은 C에서 A로 개선되었으며 Chrome은 1.0 대신 TLS 1.2를 사용하고 있습니다. 그러나 "사용되지 않는 암호화" 경고가 여전히 존재합니다.
답변1
문제의 원인은 SHA가 아니라 TLS 1.0입니다.
SSL 연구소 보고서귀하의 도메인에 대한 전체 내용을 제공합니다. 귀하의 서버는 TLS 1.0만 지원하며 1.1이나 1.2는 지원하지 않습니다. 또한 RC4와 같은 오래된 암호를 여전히 지원하며 완전 순방향 비밀성을 지원하지 않습니다.
더 나은 보안을 위해 IIS를 조정하는 것은 가능하지만 수동으로 수행하기는 어렵습니다. 이 멋진 스크립트Alexander Hass가 작성한 는 IIS7.5 및 IIS8에 대한 기존의 안전하지 않은 암호화 방법을 비활성화하기 위해 다양한 레지스트리 설정을 지정합니다.
스크립트를 실행한 후 서버를 재부팅하면 SSLLabs에서 A 등급을 받고 크롬에서 경고 메시지가 더 이상 표시되지 않습니다.
답변2
나는 새로운 2012 R2 서버에서 이것을 테스트하고 있습니다.알렉산더 하스 스크립트(AH-Script), 여전히 더 이상 사용되지 않는 암호화를 얻습니다.
내 Chrome 43은 다음 암호화 제품군을 지원합니다.
[C02B] TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[C02F] TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
[009E] TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
[CC14] TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
[CC13] TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
[CC15] TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
[C00A] TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
[C014] TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA
[0039] TLS_DHE_RSA_WITH_AES_256_SHA
[C009] TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[C013] TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA
[0033] TLS_DHE_RSA_WITH_AES_128_SHA
[009C] TLS_RSA_WITH_AES_128_GCM_SHA256
[0035] TLS_RSA_AES_256_SHA
[002F] TLS_RSA_AES_128_SHA
[000A] SSL_RSA_WITH_3DES_EDE_SHA
[00FF] TLS_EMPTY_RENEGOTIATION_INFO_SCSV
따라서 사용된 것은 [C013]입니다. 꽤 아래에 있습니다. Chrome은 CBC보다 SHA256과 GCM을 선호하는 것 같습니다.
AH-Script를 가져와 [009E](위에서 3번째)를 암호 제품군 목록에 추가했습니다. 재부팅 후 다음과 같은 결과가 표시됩니다.
상위 2개 [C08B] 및 [C02F]를 작동시키려고 했지만 실패했습니다.
그래서 스크립트를 수정하고 실행하면 modern cryptography
.
해당 문자열의 길이가 제한되어 있기 때문에 기존 암호 중 하나를 제거했습니다. 이제 문자열의 시작 부분은 다음과 같습니다.
$cipherSuitesOrder = @(
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256',
'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',
편집하다:방금 sslLabs.com에서 이것을 테스트했는데 사용하면 이전에 가졌던 것보다 , 다운된 결과 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
를 얻을 수 있습니다 .B
A
이 서버는 취약한 DH(Diffie-Hellman) 키 교환 매개변수를 지원합니다. 등급은 B로 제한됩니다.
그래서 당신은 그것을 사용하고 싶지 않을 수도 있습니다. Chrome의 평가가 왜 그렇게 높은지 모르겠습니다.
답변3
Chrome의 '사용되지 않는 암호화' 메시지는 서버가 약한 DH(Diffie-Hellman) 키 교환을 지원하기 때문에 발생합니다. 더 구체적으로, 이는 다음 문서에 문서화되어 있습니다.Cipher Suite 블랙리스트의 HTTP/2 사양.
당신이 사용할 때Alexander Hass의 PowerShell 스크립트(현재 허용된 답변에서), 그런 다음여기에는 다음과 같은 암호가 포함됩니다.블랙리스트에:
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
당신이 보면Azure App Service는 다음 암호 그룹 순서를 사용합니다.:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
이로 인해 Qualys SSL Labs(2016년 7월)에서 A 등급을 받았으며 대부분의 일반적인 브라우저에 대해 Forward Secrecy를 지원합니다.
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
Windows 10의 로컬 IIS Express에서 내 시스템에 구성된 블랙리스트 암호화 제품군을 사용하여 Chrome 51에 오류 메시지를 반환하기 때문에 Chrome 문제를 발견했습니다 .