Компонент CSP для InstantCMS 2.X

Разработка компонента CSP

 
Посетитель
small user social cms
Медаль
Сообщений: 228
Здравствуйте,
возникла такая ситуация недавно. Браузер был заражен и вставлял код со своими реферальными и аффилиатными ссылками на сайт инстанта любой ветки. Углубившись в проблематику стал вопрос, ведь мало кто застрахован он такого заражения, безобидный вирус лишь заменяет код Вашей рекламы на Вашем сайте и прибыль получает себе. Это касается только тех сайтов используемых незащищенное соединение т.е. без SSL
Уважаемый @SmartControl предложил вариант решения данной проблемы при помощи установки кода Content Security Policy (CSP) на сайте, который блокирует все сторонние скрипты и ссылки не из белого каталога. Установка довольно проста, но в ручном режиме.
Вот и переходим к делу. Хотелось бы автоматизировать данный код и внедрить его в нами любимую CMS. Сам я не силен в написании подобного.
Возможно кто то решал данный вопрос и есть наработки или готовое решение в виде компонента. Таких счастливчиков просьба отозваться) Всем нам это очень поможет если не сейчас, то точно перестрахует в будущем, ведь все мы хотим монетизировать трафик со своих сайтов а не отдавать свой потенциальный или реальных доход нехорошим дядям)

Заранее благодарен за подключение в обсуждение и любую помощь.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
ValeraK:
возникла такая ситуация недавно

И вот ответ

ValeraK:
то касается только тех сайтов используемых незащищенное соединение т.е. без SSL

Ставить бесплатный SSL и вопрос будет закрыт.

ValeraK:
Вот и переходим к делу. Хотелось бы автоматизировать данный код и внедрить его в нами любимую CMS. Сам я не силен в написании подобного.

Вот и отзыв с Хабра о этой защите

Спойлер
Итог: прежде чем принимать советы, постарайтесь хотя бы почитать и изучить немного.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 653
Вот и отзыв с Хабра о этой защите
Вы только первый коммент прочитали, а дальше не пошли?)) -у меня работает на нескольких крупных проектах больше года, с мобильными пользователями все нормально и инлайн javascript работает. Может быть им не хватило компетенции настроить, чтобы все работало корректно?

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

Подходить надо с умом и тщательно проверяя - тут согласен. Нельзя просто поставить что-нибудь и как-нибудь (будь то CSP или SSL) и будь что будет.


Вот еще ссылка про CSP - Опыт внедрения на Яндекс.Почте
По поводу поддержки браузерами надо читать аккуратно - пост не новый, сейчас конечно все поменялось немного в лучшую сторону.
Редактировалось: 2 раз (Последний: 10 сентября 2017 в 09:57)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
@SmartControl:
Вы только первый коммент прочитали, а дальше не пошли?))

И дальше читал, и еще пару штук тем почитал. И не увидел особо ничего.

@SmartControl:
Ваш совет тоже не супер. Посмотрите сначала поддержку браузерами этого бесплатного SSL.

Поддержка 100%. Написал про Lets Encrypt. Стоит и на своих сайтах и на клиентских прекрасно) При этом получить его - 5 минут времени. Совет отличный и самое простое. А про тот ssl я даже не переходил ибо уже знаю, в том числе и про то, что он уже проходит процедуру замены ssl. Это как раз таки больше знак о безопасности.
Редактировалось: 2 раз (Последний: 10 сентября 2017 в 10:59)
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1897
@SmartControl, дал очень хороший совет, просто ссылку дал не на самую свежую статью))
Например даже год назад было "The W3C specification allows for 9 directives." W3C поддерживало уже 9 директив.

Спойлер
И конечно поддержка сразу появилась на WP с отчетами и разными настройками, блокировками и тд.
Так что имеет смысл использовать,
Контент для ваших проектов. Копирайт всех видов от профессионалов. Создание и продвижение сайтов, реклама.
Посетитель
small user social cms
Медаль
Сообщений: 653
letsgo:
Поддержка 100%. Написал про Lets Encrypt.
Эхх, ну давайте немного продолжим.

1. Про 100 это заблуждение. Если бы было все так просто, то вопросов бы не возникало. На официальном сайте Let's Encrypt есть полный список браузеров, которые поддерживают сертификат - я нашел тут. И, конечно, это не 100%.

2. Срок жизни Let's Encrypt всего 90 дней. После этого срока он умирает и его надо продлевать. Если хостер сделает это за вас или сможете настроить cron - отлично. Если нет, то ручками, ручками..

3. На виртуальный хостинг, который их не поддерживает не поставите.

4. Кириллические домены (.рф) не поддерживает. Этот пункт они реализовали. Кириллицу судя по офиц сайту поддерживают.

И что интересно, даже на форуме Let's Encrypt советуют настраивать CSP. Не нужно выбирать, надо делать и то, и другое. Сначала можно сделать бесплатный вариант (CSP), а потом купить нормальный сертифитикат (если домен позволяет) или разбираться с бесплатным.

И после всего этого - я ж не против SSL. У меня есть сайты и на https, один на Let's Encrypt (бесплатный), еще один на Comodo (платный). Но это не то решение, которое на 100% удовлетворит всех. Тут есть свои минусы и свои плюсы. И на этих сайтах сначала было внедрено CSP, а потом уже через какое-то время установлены сертификаты.

garry:
@SmartControl, дал очень хороший совет, просто ссылку дал не на самую свежую статью))
Да, есть такое.. То что первое выскочило в поиске, то и скинул.

garry:
И конечно поддержка сразу появилась на WP с отчетами и разными настройками, блокировками и тд.
Так что имеет смысл использовать,
Я тоже видел под WP плагины, но еще не созрел чтобы это транслировать на InstantCMS - конечно это нужно сделать рано или поздно)
Редактировалось: 3 раз (Последний: 10 сентября 2017 в 12:12)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
@SmartControl:
Срок жизни Let's Encrypt всего 90 дней. После этого срока он умирает и его надо продлевать. Если хостер сделает это за вас или сможете настроить cron - отлично. Если нет, то ручками, ручками..

Слушайте ну для вас смешно такое писать. В ISP встроено авто продление, есть масса вариантов делать его автоматически других. Какими ручками?

@SmartControl:
На виртуальный хостинг, который их не поддерживает не поставите.

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

@SmartControl:
Кириллические домены (.рф) не поддерживает.

У меня порядка 50 кириллических доменов у клиентов на серверах. И все работают с этим SSL) Драма у вас прямо с аргументами.

@SmartControl:
И что интересно, даже на форуме Let's Encrypt советуют настраивать CSP. Не нужно выбирать, надо делать и то, и другое.

Нужно понимать, что CSP может вызвать проблемы и исходя из этого уже думать. А вот SSL проблем не создаст и защиту даст более гарантированную.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1897
letsgo:
Нужно понимать, что CSP может вызвать проблемы и исходя из этого уже думать. А вот SSL проблем не создаст и защиту даст более гарантированную.
Во первых CSP в паре с SSL усиливает защиту.
Во вторых криво поставленный SSL даст те же проблемы от криво поставленного CSP или в разы больше. И Наоборот, никаких проблем не будет при корректной установки обоих smile
И как всегда в таких спорах - ни кто же не заставляет использовать :)
Редактировалось: 1 раз (Последний: 10 сентября 2017 в 11:49)
Контент для ваших проектов. Копирайт всех видов от профессионалов. Создание и продвижение сайтов, реклама.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
garry:
Во первых CSP в паре с SSL усиливает защиту.

Привык читать прежде чем делать. Прочитал что больше проблем для посетителей чем толку - решил себе не заморачиваться. А каждый уже сам решает, что ему важнее. Но это не просто поставить защиту, здесь проблем от него может быть больше чем толку.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
Медаль
Сообщений: 653
letsgo:
Слушайте ну для вас смешно такое писать. В ISP встроено авто продление, есть масса вариантов делать его автоматически других. Какими ручками?
Вашу категоричность мне не побороть)

letsgo:
В ISP встроено авто продление
Я просто стараюсь реальней смотреть на вещи и понимаю, что не всем нужен тот же ISP. Если трафик до 3000-5000 уников/сутки, то можно и на виртуальном пожить без проблем, не переплачивая за сервер. Кэширование и оптимизацию никто не отменял.

А вообще да - ребят, переводите все свои сервера с сайтами (у меня самого сайты раскиданы по пяти серверам и ISP есть только на одном, бедааа) на ISP и ставьте Let's Encrypt.

letsgo:
Нужно понимать, что CSP может вызвать проблемы
Более того, даже лишняя запятая в htaccess может вызвать проблемы, и отсутствие robot.txt и обновление до инстанта 2,8,1. Это же web.. тут проблемы на каждом шагу. Добавлю еще, что переход на SSL для старых проектов это не самое веселое, что может быть в жизни вебмастера. А CSP настроить можно без потери трафика и смены протокола.

letsgo, вы предлагаете хорошее решение (правда, не для всех рабочее и зависимое от железа и софта сервере) - но зачем с такой убежденной категоричностью отбрасывать все остальные?) - ладно, не буду продолжать.. Цель же комментов не вас убедить, а дать инфу тем, кто об этом не думал и не знал про такие настройки.
Редактировалось: 1 раз (Последний: 10 сентября 2017 в 12:11)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
@SmartControl:
Вашу категоричность мне не побороть)

Дело не в категоричности. Вы указали довод, который был неверен. Получение Lets Encrypt давно автоматизированно на многих платформах. И для безопасности это важный момент.

@SmartControl:
и понимаю, что не всем нужен тот же ISP

Любой нормальный хостер уже автоматизировал получение SSL из Lets Encrypt и его авто обновление.

@SmartControl:
Более того, даже лишняя запятая в htaccess может вызвать проблемы, и отсутствие robot.txt и обновление до инстанта 2,8,1

Лишь бы метеорит не вызвало) dance Вы тут написали страстей. При нормальной оптимизации используют Nginx + PHP-FPM а там, как известно htaccess вообще не работает.

@SmartControl:
но зачем с такой убежденной категоричностью отбрасывать все остальные?)

Чтобы понимали все стороны этого решения. Не категорично, но дав повод задуматься.

@SmartControl:
Добавлю еще, что переход на SSL для старых проектов это не самое веселое, что может быть в жизни вебмастера. А CSP настроить можно без потери трафика и смены протокола.

Почти все сайты перевёл и старые и новые. В итоге месяц выпадения и всё возвращается. Гугл кстати SSL приветствует, особенно важно там, где есть конкуренция. По второму: можно настроить - если прямо таки железная необходимость, но понимая, что могут быть и негативные последствия.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
no avatar
Сообщений: 40
@SmartControl:
Цель же комментов не вас убедить, а дать инфу тем, кто об этом не думал и не знал про такие настройки.

Спасибо.

@SmartControl:
что переход на SSL для старых проектов это не самое веселое,

Весомый аргумент. Для интернет магазинов выпадение даже на месяц не вариант. Тем более что может быть месяц а может быть и неопределенный срок.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
@Однако@:
Тем более что может быть месяц а может быть и неопределенный срок.

Нда уж) Вот уж действительно. Больше месяца не было разрыва, во вторых для магазина SSL это не просто рекомендация а уже как бы строгое правило, а в третьих то что при CSP - треть посетителей не смогут нормально использовать сайт не смутило?

И четвертое - магазины как раз таки не имеют 100% завязки на поисковики, там разные каналы траффика, которые не пострадают настолько, как магазин будет слетать в позициях из за отсутствия SSL. Сейчас еще мягкий период, дальше будет хуже без SSL.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
Медаль
Сообщений: 653
letsgo:
а в третьих то что при CSP - треть посетителей не смогут нормально использовать сайт не смутило?

Да откуда ж у вас такие сказки? - ну правда.. какая треть, почему не четверть или половина. Можно ругать и не соглашаться, но про "треть" это же просто ерунда.. Давайте пруфлинк что-ли. Весь мир подключает CSP и все нормально, а вот у нас почему-то должно все рухнуть.

letsgo:
во вторых для магазина SSL это не просто рекомендация а уже как бы строгое правило
И согласен, и не согласен. Зависит от того, что собой представляет интернет-магазин. Если там есть регистрация-авторизация и прием платежей, то ДА - SSL надо. Но SSL не отменяет CSP, это вообще разные вещи. Никак не связанные и не заменяющие друг друга. Первое - это зашифрованный протокол, а второе - это политика безопасности.

letsgo, давайте еще пост - перейти.

Spryt:
Конечно, такой возможностью пользуются не только злоумышленники — есть и вполне «белые» плагины и расширения браузера, которые с помощью такого яваскрипта делают полезные вещи. Например, советник яндекса, или плагин от Evernote. Но в большинстве случаев это именно малвари. И, к сожалению, SSL тут не спасет — половина этой малвари грузится через https, а внедрение происходит на уровне браузера.


И еще, ссылка на статью от гугла, про CSP и SSL - и пример прописывания CSP на SSL сайте
Редактировалось: 1 раз (Последний: 11 сентября 2017 в 16:50)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
@SmartControl:
Да откуда ж у вас такие сказки? - ну правда.. какая треть, почему не четверть или половина. Можно ругать и не соглашаться, но про "треть" это же просто ерунда.. Давайте пруфлинк что-ли.

Себя цитировать? Надеюсь отзыв найдёте.

letsgo:
Вот и отзыв с Хабра о этой защите. Спойлер

Хотелось бы и ваш пруфлинк, что весь мир ставит это)

@SmartControl:
согласен, и не согласен. Зависит от того, что собой представляет интернет-магазин. Если там есть регистрация-авторизация и прием платежей, то ДА - SSL надо.

Наивно однако. Вопрос в том, что поисковики видят "интернет-магазин" а не "интернет магазин без оплаты".

@SmartControl:
давайте еще пост - перейти.

Так вот может с этого и стоит начать?) Чтобы понять масштаб проблемы. Читаем статью на спруте и смотрим в Ли статистике "Переходы на другие сайты". И результаты у кого какие, есть ли проблема и стоит ли это того для вас.

Евгений, во всём есть плюсы и минусы, но тем не менее стоит сначала каждому глянуть - есть ли проблема то. Ведь она решается не только вами, разработчики браузеров, антивирусы итд активно борятся с этим. Вот для примера глянул два сайта у себя с посещаемостью и близкие к развлекательным (так как всегда много всего) - за август сентябрь 1 переход на другой сайт. Не стоит также забывать, что зачастую ряд решений двигает маркетинг, особенно он интересен в сфере безопасности. Решений много, но каждый новый вирус все равно охватывает многих.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.