Dlaczego Internet Explorer 11 nie może połączyć się z witrynami HTTPS, gdy TLS 1.2 jest włączony?

15

Zwykle w ogóle nie używam Internet Explorera. Używam go tylko w czasie projektowania do testów interfejsu (maszyna programistyczna i z nieszyfrowanym http). Co tydzień uruchamiam test serwera SSL Labs, który mówi, że IE11 ma dostęp do moich stron.

Dzisiaj odkryłem problem z jedną z moich zewnętrznych usług. Niektóre funkcje specjalne nie działają z Chrome lub Firefox, więc uruchomiłem IE11 na moim komputerze z systemem Windows 7. I IE11 pokazuje mi wbudowaną stronę błędu, która w zasadzie mówi tylko „strona nie mogła zostać wyświetlona”. I typowy manekin bla bla jak sprawdzenie DNS i tak dalej. Na całej stronie błędów nie było absolutnie żadnych oznak problemu związanego z szyfrowaniem (tak jak zrobiłaby to normalna przeglądarka).

Kilka miesięcy temu pojawił się ten schannelproblem, który uniemożliwia IE z włączonym TLS1.2 dostęp do stron HTTPS. Od tego momentu moja „lista kontrolna WTF dla IE” zawiera „wyłącz TLS1.2” jako punkt kontrolny. I co powinienem powiedzieć ... wyłączenie TLS1.2 w IE działało i moja strona jest znowu dostępna . Ale nie mogę tego zrobić w przeglądarkach użytkowników.

Teraz prawdziwe pytania: Dlaczego Internet Explorer 11 nie może połączyć się z moją witryną HTTPS, gdy TLS 1.2 jest włączony w IE? I jak to naprawić po stronie serwera? SSL Labs mówi, że na mojej stronie wszystko jest w porządku .

Ważna edycja : Wydaje się, że IE11 może obsłużyć tylko domenę nieprzedrostkową, a nie domeny z prefiksem, gdy TLS1.2 jest włączony. domena bez prefiksu (www) działa, podczas gdy domena zawierająca prefiks (www) nie działa .

Po stronie serwera używam debian / 7 nginx / 1.7.8 openssl / 1.0.1e

Dostępne szyfry to: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

Burnersk
źródło
3
Mogę być spokrewniony lub nie: twój certyfikat ma zduplikowane wpisy SAN dla ssl.dev5media.de. Może IE11 kręci się na ten temat? Poza tym CN to ssl.dev5media.de, tzn. Ma prefiks ssl, a nie żaden prefiks, jak opisujesz.
Steffen Ullrich
Dzięki za zwrócenie na to uwagi, @SteffenUllrich. CN był bez prefiksu przed moim ostatnim rotacją certyfikatu kilka tygodni temu. Usunę część CN w ramach pytania. Ale w każdym razie ... działa, gdy TLS1.2 jest wyłączony. Czy sprawdzanie poprawności certyfikatu nie powinno odbywać się w bibliotece współużytkowanej, a nie w ramach implementacji metod szyfrowania (TLS1.0, TLS1.1, TLS1.2)?
burnersk
1
Strona www.dev5media.dedziała dla mnie na IE11, Win7 z TLS 1.2 i na szyfrach TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 według przechwytywania pakietów. Z jakiego systemu operacyjnego korzystasz i czy możesz wykonać przechwytywanie pakietów zarówno dla nazwy roboczej, jak i niedziałającej, aby zobaczyć różnicę?
Steffen Ullrich
@SteffenUllrich: Nie jestem ekspertem od Wireshark, ale wygląda na to, że uzgadnianie www.dev5media.de (z TLS_DHE_RSA_WITH_AES_128_GCM_SHA256) zakończyło się powodzeniem. Ale po Server Hello Donetym nie ma komunikacji między klientem a serwerem.
burnersk
2
Fwiw, próbowałem z IE11 (11.0.9600.17690) w systemie Windows 8.1 i dostałem ogólny błąd „Nie można wyświetlić tej strony” dla obu https://dev5media.de/i https://www.dev5media.de/, więc w jakiś sposób uzyskałem bardziej spójny wynik.
Håkan Lindqvist

Odpowiedzi:

5

Czy masz również włączony protokół SSL 2.0?

Zgodnie z http://support.microsoft.com/en-us/kb/2851628 „SSL 2.0 i TLS 1.2 nie są ze sobą kompatybilne w systemach operacyjnych Windows 7 i nowszych. Aby użyć certyfikatów po stronie klienta do nawiązania połączenia HTTPS ponad TLS 1.2, musisz wyłączyć SSL 2.0 ”.

John Ball
źródło
3

Natknąłem się na ten problem dzisiaj z IE11 na Win 7 (w pełni zaktualizowany z ważnymi aktualizacjami, ale nie opcjonalnymi), gdy używasz pakietu pośredniego Mozilli , który działa dobrze z IE8 na XP i powinien działać z IE7 +. Myślałem, że opublikuję tutaj, że ten problem nie pojawia się wiele w Google.

Spędziłem trochę czasu z Wireshark, zastanawiając się nad minimalną modyfikacją wymaganą do jej działania. Oświadczenie: Nie jestem ekspertem od kryptografii, może istnieć lepszy sposób na zrobienie tego. Ale to wcale nie zmieniło mojej oceny ssllabs.com.

Przenieś ECDHE-RSA-AES128-SHA256 (pierwszy, który działa dla IE11) wyżej niż kEDH + AESGCM i DHE-RSA-AES128-GCM-SHA256, dla pakietu pośredniego, co powoduje:

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
aaron-bru
źródło
odpowiedź powinna być taka, jak przyjęta. Po prostu przenieś ECDHE-RSA-AES128-GCM-SHA256, aby był pierwszym na liście. Miałem ten sam problem z ingresją nginx w k8s i zmieniłem w cofigmap: ssl-ciphers: ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES258-SHA: ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-SHA256 protokoły ssl: TLSv1.3 TLSv1.2
denis111