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

L
На сайте с 07.12.2007
Offline
351
#251
vovan905:
а других вариантов, кроме этих двух не существует??

Существуют. Можно выдавать CSP мета-тэгом:

<meta http-equiv="Content-Security-Policy" content="ваша CSP в одну строку">

Но я выдачу CSP через meta-тэг детально не исследовала, только знаю, что она работает с некоторыми ограничениями и не все браузеры могут поддерживать.

** Кстати, CSP будет резать и рекламу самого Юкоза тоже :)

pavel419:
Ок, а кто мне скажет, что случилось именно в конце ноября? До этого не было этого гавна всего:

Вставка и подмена рекламы в рунете началась с конца 2013 года (встречались единичные плагины), в буржунете - на пару лет раньше.

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

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

Даже не надо "закрывать сайт на ремонт" - делаете отправку CSP только для вашего IP и ходите по сайту в любое время не заражённым браузером.

Получите только полезные домены, только не все.

Для вашего IP будет показываться не весь спектр рекламы, например моему IP не показывается видеореклама RTB(не та геопривязка, не те интересы в куках), те её домены я так не выловлю.

Так же не выловятся некоторые домены и скрипты, работающие когда посетитель заходит на сайт залогиненым в G+, Твиттере/Вконтакте/Youtube....

pavel419
На сайте с 03.05.2006
Offline
313
#252

Ladycharm, спасибо.

Ну я сейчас покопался в тех пятисот доменах, из них полезных штук 20, дописал в CSP, вот так:

Content-Security-Policy-Report-Only: "default-src 'self' МОЙ САЙТ yandex.ru googlesyndication.com doubleclick.net yastatic.net counter.yadro.ru yandex.st c2n.me gstatic.com ajax.googleapis.com pleer.com gravatar.com google-analytics.com fonts.googleapis.com fonts.gstatic.com; report-uri http://МОЙ САЙТ/csp.php"

Это верно? Или не стоит писать их все в дефолт, а надо как-то еще по директивам разносить? Просто этим сайтам я вполне доверяю...

Только всё равно уже гавна набежало за три минуты, суперфишы всякие и прочее:

Это точно не сам адсенс балуется?

---------- Добавлено 18.02.2015 в 15:44 ----------

И кстати, блочится то, что я разрешил. Их там с www чтоль писать надо, и с хттп?

---------- Добавлено 18.02.2015 в 15:55 ----------

Хрень написал.

Чтоб не видеть их тут, надо в файлике прописать их в массив.

Но почему по прежнему режет метрику и адсенс, если я вроде как разрешил домены целиком?

@RuSeoBot (http://s419.ru/ruseobot/)- первый seo-бот в Twitter, а теперь - и канал в Telegram (http://s419.ru/servisy/pervyj-poiskovyj-seo-kanal-v-telegram/) Мой сайт про виртуальную реальность (http://vr419.ru/) Как правильно покупать на Алиэкспресс (http://4ali.ru/)
N
На сайте с 14.08.2009
Offline
168
#253

Когда мы правильно настраиваем эту CSP, то реклама у заражённых браузеров совсем не показывается или начинают работать нормально adsense и рся?

pavel419
На сайте с 03.05.2006
Offline
313
#254

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

Если эти плагины подменяют код адсенса-рся, то да, показов должно стать больше

---------- Добавлено 18.02.2015 в 16:17 ----------

И всё-таки, оно тормозит загрузку скриптов, даже в режиме отладки.

Иногда вообще адсенс недогружает, например.

С этим ничего нельзя сделать?

L
На сайте с 07.12.2007
Offline
351
#255
pavel419:
из них полезных штук 20, дописал в CSP, вот так:

Это верно? Или не стоит писать их все в дефолт, а надо как-то еще по директивам разносить? Просто этим сайтам я вполне доверяю...

В default-src технически запихать можно - по сути из него инициируются все остальные 8 директив(media, frame, img, script, connect, object, font, style), когда они не указаны.

Работать - будет, но если вы явно добавите какую-либо директиву, например img-src - она перестанет инициироваться из default и будет работать только то, что там прописано.

- в img-src часто приходится открывать data:, чтобы работали инлайн-картинки по data:image/gif;base64,KGZ1bmN0aW9u...

- в font-src/style-src приходится открывать data: чтобы работали внешние шрифты по data:application/x-font-woff

А если data: прописать в default-src - это разрешит работу вредоносных скриптов, так же встраиваемых по data:text/javascript;base64,KerGZ6ty1bmN0aW9u...

Те CSP сможет блокировать не всё.

pavel419:
И кстати, блочится то, что я разрешил. Их там с www чтоль писать надо, и с хттп?

* Адсенс(как и Директ) не придерживаются SOP (Same Origin Policy) поэтому надо дублировать все домены с https: даже на http:-сайте.

Для надёжности, надо продублировать все чужие домены с https://, то есть писать:

yandex.ru    *.yandex.ru    https://yandex.ru    https://*.yandex.ru

*.yandex.ru - разрешит поддомены, указания только yandex.ru - не достаточно, тк Директ использует загрузку картинок и скриптов с поддоменов.

Так же, надо добавить атрибут 'unsafe-inline' в директивы script-src и style-src(в вашем случае - в default-src) - их используют: Директ, Адсенс, и без этого не будут работать инлайн-стили типа style='...' в тэгах на сайте, и инлайн event handler-ы типа onClick='...' в тэгах.

Для Директа и Метрики надо открыть 'unsafe-eval' в директиве script-src(в вашем случае - в default-src)

PS: Когда вы пропишете все нужные домены и протоколы в ваш default-src (а их будет более 4-х десятков) - поймете, что их было удобнее разносить по нужным директивам.

PPS: В CSP - всё просто, но не настолько, как кажется.

pavel419
На сайте с 03.05.2006
Offline
313
#256

Ladycharm, да, понял, дрючка блин.

Сейчас взял за основу ваш же пост, тут всё разнесено, буду пополнять по мере необходимости. Тем, что у меня еще полезное вызывается...

---------- Добавлено 18.02.2015 в 17:56 ----------

А как определить, кого куда в какую секцию прописывать? Ну счетчики по идее в скрипты и картинки, а остальных?

L
На сайте с 07.12.2007
Offline
351
#257
pavel419:
А как определить, кого куда в какую секцию прописывать? Ну счетчики по идее в скрипты и картинки, а остальных?

В отчёте о блокировке присылается директива, которая заблокировала, поле в json называется "violated-directive". В неё и прописываете.

Но когда у вас все домены прописаны в default-src - в "violated-directive" будет светиться именно default-src. Это ещё один минус против пихания всего в default-src.

Хотя некоторые браузеры уже шлют в json поле "effective-directive" - именно та, которая реальна заблокировала, даже когда всё прописано только в default.

pavel419:
по идее, при правильно настроенной CSP на вашем сайте не смогут показывать хрень всякие левые плагины, которые ставят пользователи.
Если эти плагины подменяют код адсенса-рся, то да, показов должно стать больше

Некоторые вредоносные плагины (замечены server381, server388 и более 2000 аффилированных с ними доменов) - сначала убирают со страницы Адсенс и Директ, а потом уже размещают свою рекламу.

CSP блокирует их рекламу, но показов вашего Директа/Адсенса тоже засчитано не будет - их убирает сам плагин ещё на этапе рендеринга html-кода.

pavel419
На сайте с 03.05.2006
Offline
313
#258

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

---------- Добавлено 18.02.2015 в 23:32 ----------

Кстати, а нормально, что www.google-analytics.com ломится на сайт, где его нет? Или это гугл бдит так? И давать ли ему доступ...

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

---------- Добавлено 18.02.2015 в 23:33 ----------

Да и вот тоже что-то непонятное

ajax.googleapis.com

N
На сайте с 14.08.2009
Offline
168
#259

За пол дня под 600 файлов на одном сайте насобиралось. В адсенсе просмотров ничуть не прибавилось)

Я расстроен!

Ladycharm, вам спасибо!

Вот бы мне такую невесту) CSP бы по вечерам мне настраивала :)

pavel419
На сайте с 03.05.2006
Offline
313
#260

nikdiv, а вы из режима тестирования вывели?

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

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