Настройка CSP - Content Security Policy

fliger
На сайте с 17.09.2015
Offline
107
#891

По поводу:

img-src *.doubleclick.net

В этой секции загружается http://cm.g.doubleclick.net - он, судя по тому, что я нарыл, принадлежит к группе вредоносных доменов. Т.е. правило *.doubleclick.net его автоматически разрешает.

L
На сайте с 07.12.2007
Offline
351
#892
globaltrading:
ИМ другой - http://chzda.ru/
из счетчиков стоит только яндексметрика и гугланатитикс.
Есть капча, подгрузка карт с яндекса и гугла, автоматические ответы серверов транспортных компаний и Почты России на запросы расчета стоимости доставки, SMS шлюз для уведомлений покупателей и автоматические почтовые уведомления.

Плюс видео youtube и кнопки Ya.share есть на сайте(из того, что я ешё увидела).

Ваш заголовок для .htaccess CSP в режиме Report-Only:


<ifModule mod_headers.c>
Header set Content-Security-Policy-Report-Only "\
default-src 'self' chzda.ru *.chzda.ru;\
connect-src 'self' chzda.ru *.chzda.ru *.google-analytics.com https://*.google-analytics.com google-analytics.com https://google-analytics.com youtube.com https://youtube.com ytimg.com https://ytimg.com *.yandex.ru https://*.yandex.ru *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;\
font-src 'self' chzda.ru *.chzda.ru *.gstatic.com https://*.gstatic.com;\
frame-src 'self' chzda.ru *.chzda.ru *.google.com https://*.google.com yastatic.net https://yastatic.net youtube.com https://youtube.com ytimg.com https://ytimg.com *.yandex.ru https://*.yandex.ru *.youtube-nocookie.com https://*.youtube-nocookie.com *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;\
img-src 'self' chzda.ru *.chzda.ru data: *.google-analytics.com https://*.google-analytics.com *.google.com https://*.google.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com google-analytics.com https://google-analytics.com yandex.st https://yandex.st yastatic.net https://yastatic.net *.yandex.net https://*.yandex.net *.yandex.ru https://*.yandex.ru *.ytimg.com https://*.ytimg.com;\
object-src 'self' chzda.ru *.chzda.ru youtube.com https://youtube.com ytimg.com https://ytimg.com *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;\
script-src 'self' 'unsafe-eval' 'unsafe-inline' chzda.ru *.chzda.ru *.google-analytics.com https://*.google-analytics.com *.google.com https://*.google.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com google-analytics.com https://google-analytics.com yandex.st https://yandex.st yastatic.net https://yastatic.net *.yandex.ru https://*.yandex.ru;\
style-src 'self' 'unsafe-inline' chzda.ru *.chzda.ru *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com *.yandex.ru https://*.yandex.ru;\
"
</IfModule>

После установки проверяете, что на сайте все работает(включая процедуру покупки/оплаты и т.д), в консоли браузер смотрите блокировки - нужные домены добавляете в CSP. Если все работает - убираете "-Report-Only" из заголовка - заголовок будет работать уже в "боевом" режиме.

Будут вопросы - см. сообщение 888

G
На сайте с 17.05.2016
Offline
0
#893
Ladycharm:
Плюс видео youtube и кнопки Ya.share есть на сайте(из того, что я ешё увидела).

Ваш заголовок для .htaccess CSP в режиме Report-Only:

<ifModule mod_headers.c>
Header set Content-Security-Policy-Report-Only "\
default-src 'self' chzda.ru *.chzda.ru;\
connect-src 'self' chzda.ru *.chzda.ru *.google-analytics.com https://*.google-analytics.com google-analytics.com https://google-analytics.com youtube.com https://youtube.com ytimg.com https://ytimg.com *.yandex.ru https://*.yandex.ru *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;\
font-src 'self' chzda.ru *.chzda.ru *.gstatic.com https://*.gstatic.com;\
frame-src 'self' chzda.ru *.chzda.ru *.google.com https://*.google.com yastatic.net https://yastatic.net youtube.com https://youtube.com ytimg.com https://ytimg.com *.yandex.ru https://*.yandex.ru *.youtube-nocookie.com https://*.youtube-nocookie.com *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;\
img-src 'self' chzda.ru *.chzda.ru data: *.google-analytics.com https://*.google-analytics.com *.google.com https://*.google.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com google-analytics.com https://google-analytics.com yandex.st https://yandex.st yastatic.net https://yastatic.net *.yandex.net https://*.yandex.net *.yandex.ru https://*.yandex.ru *.ytimg.com https://*.ytimg.com;\
object-src 'self' chzda.ru *.chzda.ru youtube.com https://youtube.com ytimg.com https://ytimg.com *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;\
script-src 'self' 'unsafe-eval' 'unsafe-inline' chzda.ru *.chzda.ru *.google-analytics.com https://*.google-analytics.com *.google.com https://*.google.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com google-analytics.com https://google-analytics.com yandex.st https://yandex.st yastatic.net https://yastatic.net *.yandex.ru https://*.yandex.ru;\
style-src 'self' 'unsafe-inline' chzda.ru *.chzda.ru *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com *.yandex.ru https://*.yandex.ru;\
"
</IfModule>


После установки проверяете, что на сайте все работает(включая процедуру покупки/оплаты и т.д), в консоли браузер смотрите блокировки - нужные домены добавляете в CSP. Если все работает - убираете "-Report-Only" из заголовка - заголовок будет работать уже в "боевом" режиме.

Будут вопросы - см. сообщение 888

Server error!

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

If you think this is a server error, please contact the webmaster.

Error 500

L
На сайте с 07.12.2007
Offline
351
#894
globaltrading:
Error 500

Это:

- ошибка синтаксиса .htaccess. Опечатка или ваш веб-сервер не понимает переносы строк \ и придётся вытягивать всю CSP в одну строку.

- хостер ограничил длину заголовков

Вот ваша CSP в одну строку, попробуйте вставить её:

<ifModule mod_headers.c>
Header set Content-Security-Policy-Report-Only "default-src 'self' chzda.ru *.chzda.ru;connect-src 'self' chzda.ru *.chzda.ru *.google-analytics.com https://*.google-analytics.com google-analytics.com https://google-analytics.com youtube.com https://youtube.com ytimg.com https://ytimg.com *.yandex.ru https://*.yandex.ru *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;font-src 'self' chzda.ru *.chzda.ru *.gstatic.com https://*.gstatic.com;frame-src 'self' chzda.ru *.chzda.ru *.google.com https://*.google.com yastatic.net https://yastatic.net youtube.com https://youtube.com ytimg.com https://ytimg.com *.yandex.ru https://*.yandex.ru *.youtube-nocookie.com https://*.youtube-nocookie.com *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;img-src 'self' chzda.ru *.chzda.ru data: *.google-analytics.com https://*.google-analytics.com *.google.com https://*.google.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com google-analytics.com https://google-analytics.com yandex.st https://yandex.st yastatic.net https://yastatic.net *.yandex.net https://*.yandex.net *.yandex.ru https://*.yandex.ru *.ytimg.com https://*.ytimg.com;object-src 'self' chzda.ru *.chzda.ru youtube.com https://youtube.com ytimg.com https://ytimg.com *.youtube.com https://*.youtube.com *.ytimg.com https://*.ytimg.com;script-src 'self' 'unsafe-eval' 'unsafe-inline' chzda.ru *.chzda.ru *.google-analytics.com https://*.google-analytics.com *.google.com https://*.google.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com google-analytics.com https://google-analytics.com yandex.st https://yandex.st yastatic.net https://yastatic.net *.yandex.ru https://*.yandex.ru;style-src 'self' 'unsafe-inline' chzda.ru *.chzda.ru *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com *.yandex.ru https://*.yandex.ru;"
</IfModule>



---------- Добавлено 30.05.2016 в 20:03 ----------

fliger:
По поводу:
img-src *.doubleclick.net

В этой секции загружается http://cm.g.doubleclick.net - он, судя по тому, что я нарыл, принадлежит к группе вредоносных доменов. Т.е. правило *.doubleclick.net его автоматически разрешает.
cm.g.doubleclick.net - это гуглёвский трекинг пиксель для Адсенса. Не надо его запрещать.
fliger:
Итак, выше были приведены домены для Adsense
. . . .
На основании каких умозаключений составлен данный список?

Итоги годичного анализа CSP-репортов:

- Адсенс не всегда вставляется в iframe. Изредка бывает и в <object> (похоже, для некоторых мобильных)

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

Поэтому, настраивать Адсенс по консоли браузера - не достаточно. Для разных мобильных девайсов Гугль использует спефицические поддомены, их можно выловить только по отчётам

L
На сайте с 10.11.2013
Offline
45
#895

Не подскажите, где увеличить размер передаваемого заголовка в apache? Возникла проблема из-за большого количества доменов в csp - сайт вылетает с ошибкой.

L
На сайте с 07.12.2007
Offline
351
#896
lobol:
Не подскажите, где увеличить размер передаваемого заголовка в apache? Возникла проблема из-за большого количества доменов в csp - сайт вылетает с ошибкой.

Про размеры заголовка можно прочитать здесь - директива называется LimitRequestFieldsize.

NM
На сайте с 21.06.2013
Offline
21
#897

Здравствуйте.

Столкнулся с такой проблемой, что приложение советник яндекса в firefox прекрасно блокируется по директиве connect-src, а в хроме он как появлялся так и появляется. Даже если все явно запретить, то все равно он подгружался, только директивой sandbox его можно было заблокировать но при этом, конечно переставали подгружаться и нужные ресурсы.

Хотел выяснить причину такого поведения перебирая все директивы CSP и читая мануалы, и наткнулся на такой документ https://developer.chrome.com/extensions/contentSecurityPolicy в котором написано следующее

Currently, we allow whitelisting origins with the following schemes: blob, filesystem, https, chrome-extension, and chrome-extension-resource.

В свободном переводе мной было понято как то что мы разрешаем (в белом списке ) blob, filesystem, https, и расширения хрома.

Поясните, правильно ли я понял, что в браузере Chrome расширения, в том числе и яндекс советник не будут блокироваться CSP, и вариант блокировки яндекс советника средствами CSP рассматривать не стоит?

P
На сайте с 06.10.2015
Offline
45
#898

Добрый день, ребята ищу помощи :)

задача такая есть сайт youtwig ru там установлены счетчики от гугла/яндекс/ли/рамблер топ100 так же есть второй домен twig su вопрос в следующем, как грамотно настроить CSP что бы не попасть по фильтры и заблочить яндекс советника, я так понимаю что лучше делать с помощью connect-src

кто-то может помочь?

L
На сайте с 07.12.2007
Offline
351
#899
nick_mad:
В свободном переводе мной было понято как то что мы разрешаем (в белом списке ) blob, filesystem, https, и расширения хрома.

Поясните, правильно ли я понял, что в браузере Chrome расширения, в том числе и яндекс советник не будут блокироваться CSP, и вариант блокировки яндекс советника средствами CSP рассматривать не стоит?

nick_mad, manifest.json - это для самих расширений Хрома, у них своя внутренняя CSP, которая действует только на само это расширение.

Когда браузер показывает страницу сайта - работает CSP сайта. Когда расширение/плагин Хрома лезет куда-то ко внешним url - работает его CSP, но только для него самого. На страницы сайта оно не действует.

Но, в браузере Хром расширения имеют доступ к http-заголовкам и могут подменять их. В том числе и CSP сайта, тк она передаётся заголовком. Возможно, Я.Советник это делает.

L
На сайте с 10.11.2013
Offline
45
#900

Ladycharm вы не подскажите, какие настройки надо внести в конфигурацию apache 2, чтобы в htaccess можно было разделять строку символом "\" Заранее благодарю.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий