Chrome как отключить csp

Обновлено: 04.07.2024

Content Security Policy (CSP) - это дополнительный уровень безопасности, позволяющий распознавать и устранять определённые типы атак, таких как Cross Site Scripting (XSS (en-US) ) и атаки внедрения данных. Спектр применения этих атак включает, но не ограничивается кражей данных, подменой страниц и распространением зловредного ПО.

CSP разрабатывался с возможностью полной обратной совместимости (за исключением CSP version 2, в которой были намеренно определены некоторые противоречия блокирующие обратную совместимость; с деталями можно ознакомиться здесь, в пункте 1.1). Браузеры, которые не поддерживают CSP, все ещё могут работать с серверами, которые поддерживают CSP, и наоборот: браузеры, в которых поддержка CSP отсутствует, будут её игнорировать, продолжая работу в соответствии со стандартными правилами ограничения домена для загрузки контента. В случае, если сайт не предоставляет CSP-заголовки, браузеры, в свою очередь, будут использовать стандартные правила ограничения домена.

В качестве альтернативы настройке сервера, вы можете сконфигурировать CSP с помощью элемента <meta> . Например, так: <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src https://*; child-src 'none';">

Угрозы

Межсайтовый скриптинг

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

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

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

Пакетный сниффинг

Использование CSP

Определение политики

Где policy - это строка, содержащая директивы, описывающие вашу Content Security Policy.

Создание политики

Политика описывается с помощью специальных директив, каждая из которых отвечает за отдельный вид ресурсов или policy area. Политика обязательно должна содержать директиву default-src (en-US), которая будет использоваться для тех ресурсов, для которых не будет описано отдельных правил (полный список вы можете найти в описании директивы default-src (en-US)). Для того чтобы предотвратить исполнение встраиваемых скриптов и заблокировать использование eval() , необходимо определить директиву default-src (en-US) или script-src (en-US). Также использование директивы default-src (en-US) или style-src (en-US) позволит ограничить использование встраиваемых стилей как в style -атрибутах, так и в тэгах <style> .

Примеры: Распространённые случаи применения

В данном разделе приводятся наиболее распространённые сценарии использования CSP.

Пример 1

Вы хотите ограничить источники контента только исходным сервером (исключая поддомены)

Пример 2

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

Пример 3

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

При такой настройке, весь контент доступен для получения только с исходного домена, со следующими исключениями:

Пример 4

Вы хотите удостовериться, что весь получаемый контент для онлайн-банкинга идёт по SSL и атакующий не сможет обрабатывать запросы:

Пример 5

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

Заметьте, что в настройке политики отсутствует директива script-src (en-US); при такой настройке CSP при загрузке скриптов будут использоваться настройки, определяемые директивой default-src (en-US), следовательно все скрипты могут быть загружены только с исходного домена.

Тестирование настройки политики

Для облегчения развёртывания можно настроить развёртывание CSP в режиме report-only. Таким образом, политика не будет ограничивать загрузку, но будет сообщать обо всех нарушениях на указанный в заголовке URI. Кроме того, заголовок report-only может использоваться для тестирования новой политики без полноценного развёртывания.

Для определения вашей политики вы можете использовать заголовок Content-Security-Policy-Report-Only (en-US) следующим образом:

В случае, если оба заголовка (Content-Security-Policy-Report-Only (en-US) и Content-Security-Policy (en-US)) были определены одновременно в одном ответе сервера, обе политики будут обработаны. Политики, описанные в заголовке Content-Security-Policy будут применены, в то время как политики, описанные в заголовке Content-Security-Policy-Report-Only , создадут отчёты, но применены не будут.

Настройка отправки отчётов

По умолчанию, отправка отчётов не производится. Для того чтобы включить отправку отчётов, необходимо в вашей политике определить директиву report-uri (en-US) и указать как минимум один URI, куда будут направляться отчёты:

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

Синтаксис отчёта о происшествиях

Объект отчёта в формате JSON содержит следующие поля:

Пример отчёта о происшествии

HTML-код страницы signup.html выглядит следующим образом:

Совместимость с браузерами

BCD tables only load in the browser

Для некоторых версий Safari существует специфическая несовместимость реализации CSP. Если установить заголовок Content Security Policy без заголовка Same Origin, то браузер начнёт блокировать и создавать ложно-положительные отчёты о нарушении политики для всего контента, как с запрашиваемого источника, так и из внешних источников.

Content Security Policy

На момент написания статьи стандарт CSP находится в статусе Candidate Recommendation, что означает возможное принятие этого стандарта в будущем W3C консорциумом. На данный момент все популярные браузеры поддерживают этот стандарт.

Поддержка Content Security Policy в различных браузерах
Браузер Версия Примечания
Chrome 25+ Полная поддержка
Firefox 23+
Opera 15+
Яндекс.Браузер
Firefox 4-22 Поддерживают нестандартный заголовок X-Content-Security-Policy и частично поддерживают стандартный
IE 10+
Chrome 14-24+ Поддерживают нестандартный заголовок X-Webkit-CSP и частично поддерживают стандартный
Safari 5-7

Как отсутствие CSP может навредить сайту?

Содержание Content Security Policy

Сейчас ещё немного теории, и потом сразу перейдём к практики, потерпите 😉

Устанавливаем Content Security Policy на сайт

Content Security Policy в консоли Google Chrome

Чтобы лучше понять как работает Content Security Policy, давайте немного поэкспериментируем. Создайте файл index.php и напишите в него следующий код:

Теперь давайте изменим заголовок с Content-Security-Policy-Report-Only на Content-Security-Policy и посмотрим что будет:

Пендальф CSP никого не пустил.

Инлайн скрипт не был выполнен, а картинка не загрузилась. Круто, правда?

Обработка отчётов

С этим отчётом вы можете делать всё что угодно, например сохранять в базу, отправлять на почту. Я предлагаю записывать все нарушения в csv файл. Давайте сделаем это!

Создайте файл collector.php и напишите в него следующие строки:

Полезные материалы по Content Security Policy

Борис Заболотских

Автор блога Борис Заболотских

Здравствуй дорогой читатель! Я рад приветствовать тебя на страницах моего блога. Уже несколько лет я занимаюсь веб-программированием и рад поделиться с тобой своими знаниями и советами. Если тебе понравились мои статьи, ты можешь подписаться на рассылку блога, из неё ты узнаешь много интересного!

Если вы попытаетесь открыть небезопасный сайт, Google Chrome предупредит вас об этом. Небезопасными считаются сайты, подозреваемые в фишинге или распространении вредоносного ПО.

Как включить предупреждения об опасном контенте

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

Важно! Некоторые сайты пытаются убедить пользователя в том, что на его компьютере есть вредоносное ПО. Они предлагают скачать программы, которые якобы помогут от него избавиться. Будьте внимательны, не попадайтесь на такие уловки.

Как посмотреть небезопасные сайты и файлы

Вы можете открыть страницу или скачанный файл, для которых было показано предупреждение, хотя делать это не рекомендуется.

Как просмотреть небезопасную страницу

Когда вы посещаете зараженный сайт, Chrome пытается удалить со страницы небезопасный контент.

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

При желании вы можете отключить оповещения о небезопасном контенте сайтов и предупреждения при скачивании файлов.

Важно! Мы не рекомендуем отключать предупреждения.

  1. Откройте Chrome на компьютере.
  2. В правом верхнем углу окна нажмите на значок с тремя точками Настройки.
  3. В разделе "Конфиденциальность и безопасность" выберите параметр Безопасный просмотр.

Возможно, вы имели в виду: [название сайта]

Если вы видите предупреждение, значит есть опасность перейти не на тот сайт, который вы пытаетесь открыть.

Предупреждение может появиться в следующих случаях:

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

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

Зачем отключать проверку сертификатов

Разработчики браузера Google особое внимание уделяют безопасности пользователей. Поэтому в программном коде обозревателя имеются определённые алгоритмы, которые отслеживают безопасность посещаемых сайтов пользователем.

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

Если вы считаете сайт безопасным, а тревогу ложной – в таком случае нужно отключить проверку сертификатов Chrome, чтобы посетить данный ресурс.

Почему возникает ошибка сертификата

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

Ошибка сертификата в Google Chrome

Ошибка сертификата в Google Chrome

Причины такой неполадки могут крыться в программном обеспечении сервера или компьютера клиента. Так, у сервера могут возникнуть следующие проблемы:

  • Истёк срок годности сертификата. Зачастую сертификат действителен в течение года и его необходимо продлевать, что не каждый владелец сайта своевременно делает;
  • Инсталлированный на сервере сертификат выдан ненадёжной организацией или неправильно установлен;
  • Технические неполадки. Администрация сайта может проводить профилактические работы или возникнут различные форс-мажорные обстоятельства, при которых интернет-ресурс будет некорректно функционировать.

Вышеперечисленные проблемы случаются не так часто, как проблемы программного обеспечения на клиентских компьютерах. В этих случаях ошибка сертификата в Chrome может быть обусловлена следующими распространёнными причинами:

  • Неправильная настройка времени и даты. Довольно часто время и дата на компьютере может сбиться из-за севшей на материнской плате батарейки. Поэтому убедитесь в том, что системное время и дата корректно отображаются в операционной системе. В противном случае установите текущую дату и время.
  • Конфликт обозревателя с установленными расширениями, брандмауэром или антивирусным программным обеспечением. Деактивируйте все установленные в вашем браузере расширения и попытайтесь снова получить доступ к проблемному сайту. Если эти действия не помогли решить возникшую проблему, то попробуйте временно отключить брандмауэр и антивирус.
  • Устаревшая версия операционной системы и Google Chrome. Установите более позднюю версию операционной системы и обозревателя.

В случае если на вашем ПК всё в порядке, ошибка сертификации может означать проблемы на стороне сервера и/или реальную угрозу безопасности. Отключайте сертификаты на свой страх и риск.

Как отключить проверку безопасности

Многие версии обозревателя Google Chrome разрешают пользователю самостоятельно отключить проверку сертификатов через интегрированные инструменты в самом браузере. Для этого вам необходимо выполнить следующие действия:

После всех этих действий закройте браузер Google Chrome, затем снова его запустите, и попробуйте получить доступ к тому сайту, у которого при обращении была ошибка сертификатов.

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

Отключить проверку сертификата в Google Chrome можно посредством применения командной строки. Для этого вам необходимо выполнить следующие действия:

После этого браузер будет обращаться к сайтам без проверки сертификата.

Настройка сканирования файлов.

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

Для этого вам надо зайти в раздел с названием “Личные данные” и убрать галочку со строки, имеющей название ”Защитить устройство от опасных сайтов”.

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

Настройка сертификатов

Так можно решить проблему доступа к сайту из-за несоответствия сертификата в обозревателе Google Chrome.

Читайте также: