HTTPS Everywhere: удаление смешанного контента для улучшения SEO

Введение

В последние годы мы стали свидетелями того, как Интернет и целый ряд отраслей, которые его обслуживают (например, браузеры, поисковые системы и т. Д.), Начинают более серьезно относиться к безопасности пользователей. Хром сейчас предупреждение пользователей против HTTP-сайтов с большим количеством браузеров, готовых следовать, в то время как Google Search подтвердил, что они повышают рейтинг в поисковых системах для HTTPS веб-сайтов.

Подобные разработки побудили значительную часть владельцев веб-сайтов переместить свои серверы со старого небезопасного протокола HTTP на более безопасный альтернативный протокол HTTPS. (HTTPS считается более безопасным, поскольку он требует аутентификации серверов с помощью сертификатов SSL как средства защиты пользователей от большинства типов сетевых атак.)

Однако большинство веб-сайтов внедрили HTTPS только для своих наиболее важных компонентов, таких как вход в систему или запросы POST, но все же могут использовать HTTP для других «некритических» функций.

Это имело смысл в первые дни HTTPS, так как зашифрованные соединения являются более дорогими в вычислительном отношении из-за необходимости выполнять рукопожатия для каждого нового подключения. Более того, в то время многие широко используемые платформы, библиотеки и среды веб-разработки не были готовы к HTTPS - факт, который вызывал у администраторов и разработчиков нескончаемую головную боль в виде ночных сбоев приложений или скрытых ошибок времени выполнения.

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

 

Смешанный контент

Сайты, которые не обслуживают весь свой контент через HTTPS, называются смешанный контент веб-сайты. Академик бумаги опубликованные в 2015 году обнаружили, что более 43% их выборки из топ-100,000 XNUMX Alexa обслуживают по крайней мере один тип смешанного контента.

Хотя это и не так уж важно, смешанный контент может быть довольно опасным для пользователей, но он также может иметь негативные последствия и для веб-сайтов.

Вопросы безопасности

Наиболее важной причиной использования HTTPS для всего вашего сайта является безопасность. Все незащищенное соединение HTTP - все, что нужно хакерам. Злоумышленники «человек посередине» (MITM) может заменить любой контент HTTP на вашей странице, чтобы украсть учетные данные и сеансы, получить конфиденциальные данные или запустить браузерные эксплойты и установить вредоносное ПО на компьютеры ваших посетителей.

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

И Firefox, и Chrome началось по умолчанию блокировать смешанный контент, позволяя пользователям вручную загружать контент по HTTP. Тем не менее, поскольку смешанный контент представляет собой угрозу безопасности, оба браузера показывают пользователям предупреждение о смешанном контенте, что также может негативно повлиять на репутацию вашего сайта.

 

Firefox предупреждение о смешанном контенте

Проблемы с производительностью

Помимо безопасности, все большее распространение HTTP / 2 В отрасли появилось множество обновлений производительности и безопасности в Интернете.

Хотя увеличение производительности кажется нелогичным, так как HTTP / 2 только работает поверх зашифрованных соединений HTTPS протокол позволяет браузерам использовать одно зашифрованное соединение с веб-сервером HTTPS для всех своих коммуникаций.

Повторное использование одного и того же соединения устраняет накладные расходы, возникающие из-за многократного установления новых (то есть повторного рукопожатия). Это означает, что переход от зашифрованных соединений HTTPS к незашифрованному HTTP на сайте со смешанным контентом на самом деле медленнее и требует больше ресурсов, чем посещение полностью защищенного сайта с использованием одного соединения HTTPS.

HTTP / 2 также реализует 0-RTT режим возобновления сеанса, позволяющий браузерам возобновить приостановленный сеанс с веб-сайтом HTTPS, который они посетили ранее, используя только один запрос (вместо полного рукопожатия). Это делает возобновление HTTP / 2 как минимум столь же быстрым, как и незашифрованное HTTP-соединение, но при этом обеспечивает все преимущества HTTPS. Обслуживание смешанного контента означает, что ваш веб-сайт не может в полной мере воспользоваться этой или любой другой замечательной функцией HTTP / 2.

В обоих случаях HTTP / 2 повышает скорость подключения посетителей к вашему сайту - и скорость имеет значение. Исследования на протяжении многих лет показали, что отзывчивость и скорость загрузки страницы являются критическими требованиями к дизайну пользовательского интерфейса. Чем медленнее время отклика веб-сайта, тем меньше вероятность того, что пользователи останутся вовлеченными, и вовлечение пользователей напрямую влияет на пользовательский опыт вашего веб-сайта (и, следовательно, на коэффициент конверсии).

Смешанный контент также может влиять на производительность на уровне базовых веб-технологий, используемых на вашем сайте. Браузеры сейчас ограничить возможности JavaScript такие как работники службы и push-уведомления только в безопасных контекстах, поскольку в противном случае они могут быть использованы хакерами в злонамеренных целях Это снова означает, что ваш сайт не может использовать ни одну из этих технологий при обслуживании смешанного контента.

Вопросы SEO

Поисковая оптимизация (SEO) - это хлеб с маслом онлайн-маркетологов. SEO относится к практике улучшения рейтинга сайта в страница результатов поисковой системы (SERP), что напрямую влияет на объем трафика сайта.

Google подтвердил, что их алгоритм ранжирования результатов поиска дает небольшое повышение рейтинга веб-сайтам, обслуживаемым через HTTPS. Поскольку повышение происходит в режиме реального времени и для каждого URL-адреса, обслуживание веб-сайта в целом по HTTPS приведет к повышению SEO для всего веб-сайта (а не только для тех URL-адресов, которые обслуживаются по HTTPS). Конечно, это повышение ранжирования довольно легкое по сравнению с другими, такими как качественный контент или пользовательский трафик, оно все же вознаграждает ваши инвестиции в удаление смешанного контента.

Google также недавно объявило эта скорость загрузки страницы и общая производительность веб-сайта принимаются во внимание (тяжело) при определении рейтинга. Это означает, что оптимизация производительности HTTP / 2 и удаление смешанного контента могут работать вместе, чтобы улучшить видимость вашего сайта в Интернете.

Наконец, если вы хотите в полной мере использовать SSL в SEO вашего сайта, вы можете рассмотреть Сертификаты SSL.com EV, которые предлагают самые высокие гарантии вашим посетителям с помощью индикаторов безопасности (таких как зеленая полоса в браузере), чтобы они были в безопасности и взаимодействовали с вашим контентом, а более длительные посещения означают более высокий рейтинг.

Предупреждения о смешанном содержимом браузера

Посетители сайтов, защищенных SSL, ожидают (и заслуживают) безупречной защиты. Когда сайт не полностью защищает весь контент, браузер отображает предупреждение «смешанное содержимое». Когда ваши клиенты видят это предупреждение, они могут отреагировать одним из двух способов. Если они не серьезно относитесь к безопасности, они проигнорируют ее, нажмут и предполагают, что все будет хорошо (очень плохо). Если они do серьезно относитесь к безопасности, они обратят внимание на ваш сайт и предположат, что являетесь не относитесь к безопасности серьезно (даже хуже).

Кроме того, все современные браузеры будут блокировать более вредоносные типы смешанного контента, что может привести к поломке вашего сайта.

Лучшее решение, конечно же, - убедиться, что эти предупреждения и / или блоки не возникнут в первую очередь, путем правильной настройки вашего сайта для обслуживания только безопасного контента.

Почему я вижу это предупреждение?

Предупреждение о смешанном контенте означает, что как защищенные, так и незащищенные элементы обслуживаются на странице, которая должна быть полностью зашифрована. Любая страница, использующая HTTPS-адрес, должна содержать все содержимое из защищенного источника. Любая страница, которая ссылается на ресурс HTTP, считается небезопасной и помечается вашим браузером как угроза безопасности.

Предупреждения о смешанном контенте делятся на две категории: смешанный пассивный контент и смешанный активный контент.

Смешанный пассивный контент

Пассивный контент относится к элементам, которые можно заменить или изменить, но не могут изменить другие части страницы - например, изображение или фотографию. Вероятно, наиболее частая причина появления всех предупреждений о смешанном содержимом - это когда (теоретически) безопасный сайт настроен на получение изображений из незащищенного источника.

Пассивные HTTP-запросы обслуживаются через эти теги:<audio>(src атрибут)
<img> (src атрибут)
<video> (src атрибут)
<object> субресурсы (когда <object> выполняет HTTP-запросы)

Смешанный активный контент

Активный контент может изменять саму веб-страницу. Атака «человек посередине» может позволить перехватить и / или перезаписать запрос HTTP-контента на любой HTTPS-странице. Это делает вредоносный активный контент очень опасным - учетные данные пользователя и конфиденциальные данные могут быть украдены или вредоносное ПО может быть установлено в системе пользователя. Например, фрагмент JavaScript на странице создания учетной записи, предназначенный для помощи пользователям в создании случайного пароля, может быть заменен кодом, предоставляющим вместо этого кажущийся случайным, но предварительно сгенерированный пароль, или для тайной передачи безопасного пароля третьей стороне. .

Активный смешанный контент можно использовать для компрометации конфиденциальных личных данных, но даже общедоступные веб-страницы, которые кажутся безобидными, могут по-прежнему перенаправлять посетителей на опасные сайты, доставлять нежелательный контент или похищать файлы cookie для использования.

Активные HTTP-запросы обслуживаются через:<script> (src атрибут)
<link> (href атрибут) (включая таблицы стилей CSS)
XMLHttpRequest запросы объектов
<iframe> (src атрибуты)
Все случаи в CSS, где используется значение URL (@font-face, cursor, background-imageИ т.д.).
<object> (data атрибут)

Все современные браузеры по умолчанию блокируют активный смешанный контент (что может привести к поломке неправильно настроенного сайта).

Почему и как исправить предупреждения о смешанном контенте

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

Опять же, лучший способ избежать проблем со смешанным контентом - это обслуживать весь контент через HTTPS вместо HTTP.

Для вашего собственного домена обслуживайте весь контент как HTTPS и исправляйте свои ссылки. Часто версия контента HTTPS уже существует, и для этого нужно просто добавить букву «s» к ссылкам - http:// в https://.

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

В качестве альтернативы, использование «относительных URL-адресов» позволяет браузеру автоматически выбирать HTTP или HTTPS, в зависимости от того, какой протокол использует пользователь. Например, вместо ссылки на изображение с помощью ссылки с «абсолютным путем»:


Сайт может использовать относительный путь:


Это позволяет браузеру автоматически добавлять либо http: or https: к началу URL по мере необходимости. (Обратите внимание, что сайт, на который ведет ссылка, должен будет предлагать ресурс через HTTP и HTTPS, чтобы относительные URL работали.)

Перейдите по этим ссылкам для получения дополнительной информации о предупреждениях со смешанным контентом для конкретного браузера:
Chrome
Firefox
Internet Explorer
Отличные инструменты для отслеживания ссылок без SSL в исходном коде - это инструменты разработчика, встроенные в Firefox и Chrome браузеры. Информацию о том, как заставить сервер Apache обрабатывать только HTTPS, можно найти здесь.

Первая проблема запроса

Мы надеемся, что до этого момента в этой статье было несколько веских аргументов против смешанного контента, хотя даже если вы решите полностью перевести свой веб-сайт на HTTPS, есть некоторые улучшения, которые вы можете внести.

Когда пользователи вводят URL вашего сайта в браузере, они обычно никогда не вводят полностью имя протокола (т.е. https://). Естественно, браузер не знает, по какому протоколу обслуживается ваш сайт, и по умолчанию использует HTTP.

Если ваш сайт настроен правильно, он перенаправит (через ответы HTTP 301/302) браузер на свой экземпляр HTTPS; хотя это означает, что браузеры должны выполнять два запроса вместо одного запроса HTTPS при первом посещении вашего сайта.

Это может быть проблематично, потому что пользователи могут воспринимать отставание, получая плохое первое впечатление о сайте. Как таковые, они с меньшей вероятностью будут задерживаться, что в конечном итоге может привести к снижению посещаемости.

Более того, хакеры могут перехватить этот первый HTTP-запрос, чтобы прочитать или изменить его, прежде чем попасть на сервер. Распространенным явлением для случаев такого типа является выполнение сетевой атаки, называемой Разбор SSL что позволяет злоумышленнику заменить HTTPS-соединение незащищенным HTTP-соединением.

HTTP Strict Transport Security на помощь

Строгая транспортная безопасность HTTP or HSTS это попытка решить эту проблему. Реализованный Инженерной рабочей группой по Интернету (IETF) в RFC 6797, HSTS - это заголовок HTTPS, который веб-серверы могут включать в свои ответы. Этот заголовок инструктирует совместимые браузеры всегда использовать HTTPS при посещении веб-сайта. HSTS применяется ко всем запросам, включая изображения, таблицы стилей CSS и любые другие веб-ресурсы.

Как вы можете себе представить, браузер должен сначала посмотреть заголовок HSTS, чтобы соблюдать его, а это означает, что HSTS полагается на то, что злоумышленники не могут перехватить этот первый HTTP-запрос. В результате HSTS сам по себе не является полным решением, а скорее простым обходным путем для удаления SSL.

Предварительная загрузка HSTS

К счастью, проект Chromium предложил решение, которое они назвали Предварительная загрузка HSTS, который состоит из ведения публичного списка веб-сайтов, которые запросили функцию предварительной загрузки HSTS. При посещении веб-сайта браузеры Chromium сверяются со списком и, если сайт найден там, они продолжат общаться с ним по протоколу HTTPS (включая этот первый запрос) независимо от предыдущей истории или ввода пользователя.

Как следствие, предварительная загрузка может повысить производительность и безопасность вашего сайта, удалив первоначальный HTTP-запрос. Кроме того, это может косвенно повысить рейтинг вашего сайта в поисковой выдаче и удобство для пользователей.

Все основные браузеры (Google Chrome, Microsoft IE / Edge, Apple Safari, Mozilla Firefox и Opera) также обращаются к списку предварительной загрузки HSTS от Chromium, что означает, что присоединение к этому списку обеспечит преимущества предварительной загрузки для ваших посетителей, независимо от того, какой браузер они используют.

Однако было бы упущением, если бы мы не упомянули о том, что существуют опасения по поводу масштабируемости решения для списка предварительной загрузки HSTS - оно не может включать все веб-сайты в Интернете из-за практических размеров и ограничений вычислительной сложности, и, следовательно, вход может стать все более трудным. Со временем предварительная загрузка HSTS становится все более популярной.

Как я могу присоединиться?

Если вы заинтересованы в присоединении к списку предварительной загрузки HSTS, имейте в виду, что ваш сайт должен следовать определенным правилам. Проект Chromium опубликовал список требований к подаче заявок для веб-сайтов, желающих присоединиться к веб-сайту своего проекта. Требования включены дословно в следующий список, однако вы можете найти более подробную информацию в HSTS RFC 6797.

Чтобы быть принятым в список предварительной загрузки HSTS, ваш сайт должен:

  1. Подать действительный сертификат.
  2. Перенаправьте с HTTP на HTTPS на том же хосте, если вы прослушиваете порт 80.
  3. Обслуживать все субдомены по HTTPS. В частности, вы должны поддерживать HTTPS для www субдомен, если существует запись DNS для этого субдомена.
  4. Обслуживайте заголовок HSTS, соответствующий RFC 6797, в базовом домене для запросов HTTPS:
    • Ассоциация max-age должно быть не менее 31536000 секунд (1 год).
    • Ассоциация includeSubDomains директива должна быть указана.
    • Ассоциация preload директива должна быть указана.
  5. Если вы обслуживаете дополнительную переадресацию с вашего сайта HTTPS, эта переадресация должна Также иметь совместимый заголовок HSTS (как и страницу, на которую он перенаправляет).

Вот пример правильного заголовка HSTS.

Строгая транспортная безопасность: максимальный возраст = 63072000; IncludeSubdomains; предварительная нагрузка

Вы можете проверить свой веб-сайт на соответствие требованиям, посетив веб-сайт со списком предварительной загрузки и введя свой домен в поле ввода. Веб-приложение будет указывать, какие проблемы (если таковые имеются) вам нужно исправить.

Инструмент для определения предварительной нагрузки HSTS

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

Хотя проект Chromium включил некоторые рекомендации по развертыванию на веб-сайте предварительной загрузки, мы всегда рады помочь нашим клиентам повысить их безопасность связи. Просто напишите нам по электронной почте на support@ssl.com и эксперт будет рад обсудить лучший путь для ваших потребностей безопасности.

Заключение

HTTPS становится протоколом веб-коммуникаций по умолчанию, и его полная приверженность может иметь только положительные последствия для владельцев сайтов и посетителей. Мы рекомендуем удалять любой смешанный контент с ваших сайтов, чтобы избежать ненужных проблем (и недовольных пользователей).

Как всегда, спасибо за выбор SSL.comгде мы считаем, что более безопасный Интернет - это лучший Интернет.

Обновление (7 октября 2019 г.):  3 октября 2019 года, блог Chromium объявило что Chrome будет блокирование весь смешанный контент, включая изображения, аудио и видео, в несколько этапов, начиная с Chrome 79 (декабрь 2019 г.) и заканчивая Chrome 81 в начале 2020 года. Этот шаг Google означает, что как никогда важно исключить смешанный контент из Ваш сайт.

SSL.com's EV Подписание кода сертификаты помогают защитить ваш код от несанкционированного вмешательства и компрометации благодаря высочайшему уровню проверки и доступны всего за $ 249 в год. Вы также можете используйте свой сертификат подписи кода EV в масштабе в облаке с помощью eSigner. Благодаря автоматизированному варианту eSigner подходит для подписи корпоративного кода.

ЗАКАЗАТЬ СЕЙЧАС

Подпишитесь на рассылку новостей SSL.com

Не пропустите новые статьи и обновления с SSL.com

Будьте в курсе и будьте в безопасности

SSL.com является мировым лидером в области кибербезопасности, PKI и цифровые сертификаты. Подпишитесь, чтобы получать последние новости отрасли, советы и анонсы продуктов от SSL.com.

Мы будем рады вашим отзывам

Пройдите наш опрос и поделитесь с нами своими мыслями о своей недавней покупке.