Корзинка
Количество просмотров: 1 043

Кривая разметка сайт? проблемы с HTTPS? — Firefox наш герой!

Используйте другой браузер — Firefox!

Как FF спасает при кривой разметке и проблемах с HTTPS (когда статика на другом сервере) читаем ниже.

Введение

HTTPS помогает защитить передаваемую информацию между клиентом и сервером. В чем заключается защита?

  • защита от прослушивания, перехваченная посередине инфа «нечитабельна»
  • защита от модификации, можно модифицировать информацию, но браузер ее не примет, так как на придет подписанная левым сертификатом. Зато HTTP траффик можно легко модифицировать, и клиент ничего не заподозрит.

Протоколы

На слуху это SSL и TLS, на деле SSLv2, SSLv3, TLS1.0, TLS1.1, TLS1.2. На текущий момент безопасная это группа TLS.

  • SSLv2 — старый и давно не используется (только динозавры)
  • SSLv3 — уже нельзя использовать, так как POODLE.
  • TLS1.0 — это доработанный SSLv3. На нем (и уровнями ниже) есть уязвимость BEAST (буков много, но все расписано).
  • TLS1.1 & TLS 1.2 — то, что на осталось до следующего бага:)

Проверить какое шифрование поддерживает тот или иной сайт можно вот по этой ссылке. Немного деталей этого теста:

  • Cipher Strength — чтобы получить 100 из 100 надо.. запретить AES128. Что автоматом убьет всех динозавров и поэтому у всех публичных серверов набирается 90 баллов по тесту.
  • Certificate — легальный сертификат + chain’ы дают 100 баллов.
  • Protocol Support — чтобы сделать 100 из 100 надо.. оставить только поддержку TLS1.2, которая убьет всех динозавров.
  • Key Exchange — сильные ключи дают нам ачивку в 100 баллов.
  • Итоговая оценка — максимум A+. Чтобы получить A+ надо закрыть все уязвимости, использовать HSTS (Http Strict Transport Security) и Forward Secrecy, и чтобы пункты выше имели максимальные или около значения.

Причины ошибки при соединении https

Их всего две три:

  • браузер использует свою криптобиблиотеку, в которой нету нужного шифра
  • браузер использует криптобиблиотеку ОС, в которой нету нужного шифра
  • браузер не поддерживает SNI (это когда несколько доменов с разными сертификатами на одном ip сервера). В этом случае ошибка от невозможности соединится до.. целой гирлянды сертификатов:)

В итоге пользователь видит сообщения вида «Невозможно отобразить страницу»/»Документ перемещен». Chrome (и большая часть сборок на основе chromium) может выдать вот такое чудо «ERR_SSL_VERSION_OR_CIPHER_MISMATCH», а старая Operа вообще будет чудить пачкой сертификатов.

Вот несколько примеров работы Firefox, IE, Chrome и Opera на Windows XP:

IE6

 https_blog-static__winxp_sp3_ie6https_blog__winxp_sp3_ie6

Firefox 2.0.0.12

https_blog__winxp_sp3_ff2.0.0.12  https_blog-static__winxp_sp3_ff2.0.0.12

Firefox 34.0.5

https_blog__winxp_sp3_ff34.0.5 https_blog-static__winxp_sp3_ff34.0.5

Opera 12.15

https_blog__winxp_sp3_opera12.15 https_blog-static__winxp_sp3_opera12.15

Opera 26

https_blog__winxp_sp3_opera26 https_blog-static__winxp_sp3_opera26

Chrome 39.0.2171.71

https_blog__winxp_sp3_chrome39.0.2171.71 https_blog-static__winxp_sp3_chrome39.0.2171.71

Итоги

Домены blog.saraeff.net и blog-static.saraeff.net имеют разные шифры. Первый настроен на наибольшую совместимость. Второй — это шифры cloudflare. По последней информации у них используются

EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:EECDH+RC4:RSA+RC4:!MD5;

Ниже список шифров из Хрома (Chrome/38.0.2125.104) на Windows XP:

(00,35)RSA-AES256-SHA256 BitKey exchange: RSA, encryption: AES, MAC: SHA1.
(00,04)RSA-RC4128-MD5128 BitKey exchange: RSA, encryption: RC4, MAC: MD5.
(00,05)RSA-RC4128-SHA128 BitKey exchange: RSA, encryption: RC4, MAC: SHA1.
(00,2f)RSA-AES128-SHA128 BitKey exchange: RSA, encryption: AES, MAC: SHA1.
(00,0a)RSA-3DES-EDE-SHA168 BitKey exchange: RSA, encryption: 3DES, MAC: SHA1.
(00,09)RSA-DES-SHA56 BitKey exchange: RSA, encryption: DES, MAC: SHA1.
(00,ff)EMPTY-RENEGOTIATION-INFO-SCSV0 BitUsed for secure renegotation.

А вот например с Windows 7:

(c0,0a)ECDHE-ECDSA-AES256-SHA256 BitKey exchange: ECDH, encryption: AES, MAC: SHA1.
(c0,14)ECDHE-RSA-AES256-SHA256 BitKey exchange: ECDH, encryption: AES, MAC: SHA1.
(00,39)DHE-RSA-AES256-SHA256 BitKey exchange: DH, encryption: AES, MAC: SHA1.
(00,6b)DHE-RSA-AES256-SHA256256 BitKey exchange: DH, encryption: AES, MAC: SHA256.
(00,35)RSA-AES256-SHA256 BitKey exchange: RSA, encryption: AES, MAC: SHA1.
(00,3d)DH-RSA-MISTY1-SHA128 BitKey exchange: DH, encryption: MISTY1, MAC: SHA1.
(c0,07)ECDHE-ECDSA-RC4128-SHA128 BitKey exchange: ECDH, encryption: RC4, MAC: SHA1.
(c0,09)ECDHE-ECDSA-AES128-SHA128 BitKey exchange: ECDH, encryption: AES, MAC: SHA1.
(c0,23)ECDHE-ECDSA-AES128-SHA256128 BitKey exchange: ECDH, encryption: AES, MAC: SHA256.
(c0,11)ECDHE-RSA-RC4128-SHA128 BitKey exchange: ECDH, encryption: RC4, MAC: SHA1.
(c0,13)ECDHE-RSA-AES128-SHA128 BitKey exchange: ECDH, encryption: AES, MAC: SHA1.
(c0,27)ECDHE-RSA-AES128-SHA256128 BitKey exchange: ECDH, encryption: AES, MAC: SHA256.
(00,33)DHE-RSA-AES128-SHA128 BitKey exchange: DH, encryption: AES, MAC: SHA1.
(00,67)DHE-RSA-AES128-SHA256128 BitKey exchange: DH, encryption: AES, MAC: SHA256.
(00,32)DHE-DSS-AES128-SHA128 BitKey exchange: DH, encryption: AES, MAC: SHA1.
(00,05)RSA-RC4128-SHA128 BitKey exchange: RSA, encryption: RC4, MAC: SHA1.
(00,04)RSA-RC4128-MD5128 BitKey exchange: RSA, encryption: RC4, MAC: MD5.
(00,2f)RSA-AES128-SHA128 BitKey exchange: RSA, encryption: AES, MAC: SHA1.
(00,3c)DH-DSS-MISTY1-SHA128 BitKey exchange: DH, encryption: MISTY1, MAC: SHA1.
(00,0a)RSA-3DES-EDE-SHA168 BitKey exchange: RSA, encryption: 3DES, MAC: SHA1.

Разница в поддержке ECDHE видна. Узнать шифры, поддерживаемые браузеров можно по этой ссылке.
Судя по твиту (больше — гугл в помощь) Chrome использует криптобиблиотеки системы, что похоже на правду по результатам тестов. Аналогичная проблема есть у другого форка chromium — SRWare Iron (и на 29й версии и на 38й).
Opera — тут видимо свои, так как 12.15 на втором домене (где статика) не завелась даже на 7рке.
FireFox — похоже что свои и что их полный фарш, так как даже firefox 2 завелся (на aes128!), так и новый 34й.

Так что если нет возможности обновить систему и в то же время есть желание комфортного серфинга в интернете — используйте Firefox.

Firefox обыкновенный || Firefox Developper Edition

 

При перепечатки указывайте источник! Удачи!

Facebooktwittergoogle_plusredditpinterestlinkedintumblrFacebooktwittergoogle_plusredditpinterestlinkedintumblr

Comments are closed.