Defaults.Exposed

Defaults.ExposedИсправления › Современное шифрование (версия TLS и шифры)

Как исправить Современное шифрование (версия TLS и шифры)

TLS — это замок, шифрующий данные, что текут между вашими посетителями и сайтом. Две вещи делают этот замок надёжным: использование современной версии TLS (а не старых, сломанных) и использование сильных шифров (собственно рецепта шифрования). Эта страница охватывает обе — плюс несколько связанных настроек, которые не влияют на оценку, но о которых стоит знать.

Главное для вашего бизнеса: Если ваш сайт работает на устаревшем шифровании или слабых шифрах, личные данные, которые вводят клиенты, — логины, номера карт, контакты, — можно тихо перехватить и прочитать в общих сетях, и вы можете провалить проверки безопасности, которых теперь требуют банки, платёжные процессоры и более крупные клиенты, прежде чем вести с вами дела.

Во что это может вам обойтись

Почему это важно. Безопасное шифрование невидимо; устаревшее или слабое шифрование — это пассив, который тихо ждёт до дня, когда обойдётся вам в клиента, контракт или прохождение проверки соответствия. Проверки версии TLS и шифра — две части, реально двигающие вашу оценку, и обе обычно одна бесплатная настройка — нет никакого плюса в том, чтобы оставлять старые, сломанные опции включёнными.

Простыми словами

Когда кто-то заходит на ваш сайт, всё, что он вводит — логины, номера карт, имена, телефоны, сообщения, — шифруется в пути, чтобы посторонние не могли это прочитать. Технология, которая шифрует, называется TLS (вы можете услышать и старое название SSL). Чтобы это шифрование реально было безопасным, две вещи должны быть верны:

  1. Версия TLS — какое поколение технологии вы используете. Ранние версии (TLS 1.0 и 1.1) публично сломаны годами; безопасные — TLS 1.2 и TLS 1.3.
  2. Шифр — конкретный рецепт, которым TLS шифрует. Некоторые шифры (вроде RC4, DES и 3DES) взломаны и теперь запрещены; современные шифры по-прежнему сильны.

Эта страница охватывает обе, потому что сайт может сделать одно верно, а другое неверно. У вас может быть современный замок со старым, взламываемым рецептом всё ещё включённым — или сильный рецепт, защищённый устаревшим замком. Любой из этих пробелов — открытая дверь. Оба обычно закрываются одним и тем же бесплатным изменением настроек вашего сервера или хостинга.

Чем это может вам обойтись

Что это на самом деле

Версия TLS

Сайт поддерживает не одну версию TLS — он может предлагать сразу несколько и позволять браузеру каждого посетителя выбрать. Современный посетитель использует новейшую доступную версию и видит нормальный замок. Опасность в том, что старые, сломанные версии могут сидеть рядом с хорошими как открытая задняя дверь: злоумышленник может принудить соединение посетителя «понизиться» до TLS 1.0 или 1.1, а затем эксплуатировать известные слабости этих версий (атаки BEAST и POODLE — знаменитые примеры), чтобы расшифровать трафик.

Поэтому наша проверка подключается к вашему сайту и тестирует каждую версию по отдельности — TLS 1.0, 1.1, 1.2 и 1.3 — чтобы увидеть, какие ваш сервер всё ещё принимает. Вот как выглядит «хорошо» и как это оценивается:

Шифр

Когда версия выбрана, TLS выбирает шифр — собственно алгоритм, шифрующий данные. Большинство современных шифров сильны. Горстка сломана и не должна использоваться никогда: RC4 (его шифрование смещено и выдаёт открытый текст), DES (его ключ так короток, что взламывается перебором), 3DES (уязвим к атаке «Sweet32»), плюс NULL (вообще без шифрования), EXPORT-grade шифры (намеренно ослаблены — атаки FREAK и Logjam) и анонимные шифры (без проверки личности, так что самозванец может сесть посередине).

Наша проверка шифра делает две вещи. Сначала она смотрит на шифр, который ваш сервер фактически согласовал с нами. Затем — и это важная часть — она активно пытается установить рукопожатие, используя несколько известных сломанных шифров (RC4, 3DES, EXPORT, NULL и анонимные варианты). Сервер может выбрать сильный шифр в разговоре с современным клиентом, но всё же принять слабый, если злоумышленник настаивает, — и это реальный риск понижения. Если ваш сервер принимает любой запрещённый шифр, проверка это помечает; приём критического (вроде RC4 или NULL) — провал. (На TLS 1.3 здесь не о чем беспокоиться — эта версия по замыслу удалила каждый слабый шифр, так что зондирования пропускаются.)

Три информационных дополнения

О трёх связанных пунктах сообщается, но они не влияют на вашу оценку — они помечены как информационные, потому что их нельзя надёжно проверить снаружи, а на любом современном сервере или CDN они уже корректно обрабатываются:

Мы выводим их, чтобы у вашего ИТ-специалиста была полная картина, но для подавляющего большинства владельцев делать нечего — вашу оценку двигают проверки версии и шифра выше.

Как это исправить (бесплатно, ~30 минут)

Передайте это вашему ИТ-специалисту — исправление бесплатно. Этот раздел для того, кто ведёт ваш домен, сайт или хостинг. Исправление — это изменение конфигурации, а не покупка; мы берём плату только за мониторинг того, что шифрование остаётся корректно настроенным со временем. Одна современная конфигурация ниже чинит и версию, и шифры разом.

Самый простой надёжный подход — сгенерировать заведомо хорошую конфигурацию, а не писать её вручную: вставьте тип вашего сервера в Mozilla SSL Configuration Generator по адресу https://ssl-config.mozilla.org/ и выберите профиль «Intermediate» (широкая совместимость) или «Modern» (только TLS 1.3, если вам не нужно поддерживать что-то старое). Он выдаёт корректные строки ssl_protocols и ssl_ciphers за вас.

По платформам:

  1. Cloudflare или управляемый хост — обычно один-два клика. В Cloudflare: SSL/TLS → Edge Certificates → Minimum TLS Version → TLS 1.2, а наборы шифров там управляются за вас (платформа не предложит запрещённые шифры). Большинство управляемых хостингов и конструкторов сайтов (Squarespace, Wix, Shopify, современные хосты WordPress) уже принуждают TLS 1.2+ с сильными шифрами — просто убедитесь, что не включена опция «legacy TLS» или «совместимость со старыми браузерами».
  2. Nginx. Задайте только современные версии и явный список сильных шифров, затем перезагрузите:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    
    (TLS 1.3 требует OpenSSL 1.1.1+ на машине.)
  3. Apache. Отключите старые версии и закрепите сильный список шифров, затем перезапустите:
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder on
    
  4. Windows / IIS. Используйте бесплатный инструмент IIS Crypto (или эквивалентные настройки реестра), чтобы отключить TLS 1.0 и 1.1, отключить шифры RC4/DES/3DES/NULL/EXPORT и оставить TLS 1.2 и 1.3 с включёнными сильными шифрами. Шаблон «Best Practices» этого инструмента делает всё это в один клик.
  5. Информационные дополнения (опционально, бесплатно). Если хотите чистый результат: на Nginx добавьте ssl_stapling on; ssl_stapling_verify on; (со строкой resolver) для OCSP stapling; на Apache — SSLUseStapling On. Сжатие TLS и безопасная пересогласовка уже безопасны по умолчанию на современных серверах — действий не нужно. На Cloudflare все три обрабатываются автоматически.
  6. Проверьте, затем перепроверьте здесь. Убедитесь, что остались только безопасные версии и шифры — например, через nmap --script ssl-enum-ciphers -p 443 вашдомен.com или тест на связанных инструментах https://ssl-config.mozilla.org/ — затем перезапустите эту проверку. По возможности включите TLS 1.3 наряду с 1.2: он и быстрее, и безопаснее.

Частые ошибки

Что запомнить

Версия TLS и шифр — две части вашего шифрования, реально двигающие вашу оценку, и обе сводятся к отключению опций, публично сломанных годами. Исправление бесплатно, обычно это одна современная строка конфигурации на сервер, и для обычного посетителя оно не меняет ничего, кроме того, что делает его соединение по-настоящему безопасным. Связанные пункты — сжатие, OCSP stapling, безопасная пересогласовка — стоит знать, но они не повлияют на вашу оценку, и на любой современной настройке они уже обрабатываются за вас.

Частые вопросы

Я не технический специалист — смогу ли я справиться сам?

Вам не нужно разбираться в технических деталях. На большинстве современных хостингов это одна-две настройки, и это бесплатно. Передайте раздел «Как это исправить» ниже тому, кто ведёт ваш сайт или хостинг (или вашему ИТ-провайдеру) — обычно это изменение на пять-десять минут без видимой разницы для посетителей, кроме более безопасного соединения.

Не перестанут ли при переходе на современное шифрование работать браузеры старых клиентов?

На практике нет. Каждый современный браузер и телефон примерно за последнее десятилетие уже используют новое шифрование и сильные шифры по умолчанию — и делают это годами. Единственное, что опиралось на старые версии или слабые шифры, само устарело и небезопасно, поэтому каждый крупный браузер их и так уже отвергает. Для почти всех бизнесов изменение для клиентов незаметно.

Мой сайт нормально загружается с замком — почему это всё равно помечается?

Замок означает лишь, что защищённое соединение существует; он не говорит, какая версия TLS или какой шифр за ним. Ваш сайт может показывать совершенно нормальный замок, при этом тихо всё ещё принимая старую сломанную версию или запрещённый шифр рядом с хорошими, — и эту открытую заднюю дверь ловят эти проверки. Закрытие её не убирает замок; оно лишь гарантирует, что разрешены только безопасные опции.

В чём разница между версией TLS и шифром?

Считайте версию TLS поколением замка, которое вы используете, а шифр — конкретным рецептом, которым он шифрует данные. У вас может быть современный замок (TLS 1.2 или 1.3), но всё ещё включён старый, взламываемый рецепт (вроде RC4 или 3DES) — или наоборот. Оба должны быть верны, поэтому мы проверяем их раздельно. Хорошая новость: одна и та же однострочная современная конфигурация обычно чинит оба сразу.

А как насчёт OCSP stapling и сжатия TLS — влияют ли они на мою оценку?

Нет. Они (наряду с безопасной пересогласовкой) только информационные — мы сообщаем о них, потому что они важны для производительности и эшелонированной защиты, но они не двигают вашу оценку. На современных веб-серверах и любом CDN вроде Cloudflare они корректно обрабатываются по умолчанию, так что большинству владельцев делать нечего. Детали — в разделе ниже для вашего ИТ-специалиста.

Исправление правда бесплатно?

Да. Отключение старых версий TLS и слабых шифров и включение этих защит — это изменения конфигурации на вашем существующем сервере или хостинге; покупать нечего. Мы берём плату только за мониторинг того, что ваше шифрование остаётся корректно настроенным со временем, а не за исправление.