Всем привет, сегодня я собираюсь написать о CSP в Hipster или сказать о Политике безопасности контента в JHipster. С этого момента я буду больше писать о хипстере, так что это первый пост в серии. Так что давайте начнем. При обновлении одного из наших приложений до последней версии возникла некоторая проблема. Поэтому я снова и снова пытался просмотреть свой код. Так что я, наконец, получил ошибку в консоли, например; Скрипт был заблокирован из-за разрешений безопасности . Я снова просмотрел и узнал, что мне нужно добавить несколько заголовков в HTML-индекс, чтобы выполнить ту же работу Но это не сработало; не сработало. Так что попытка использовать множество ресурсов не сработала. Итак, просматривая разговор в репозитории Github, я нашел кое-что, что мне нужно исправить в коде. Но прежде чем начать, дайте нам знать, что такое CSP или Политика безопасности контента.
Политика безопасности контента
Таким образом, согласно сайту разработчиков Mozilla, CSP – это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая межсайтовые сценарии ( XSS ) и атаки с использованием данных. Эти атаки используются для всего: от кражи данных до порчи сайта и распространения вредоносных программ.
CSP имеет полностью обратно совместимый дизайн. Браузеры, которые его не поддерживают, по-прежнему работают с серверами, которые его реализуют, и наоборот: браузеры, которые не поддерживают CSP, просто игнорируют его, функционируя, как обычно, по умолчанию в соответствии со стандартной политикой того же происхождения для веб-контента. Если сайт не предлагает заголовок CSP, браузеры также используют стандартную политику того же происхождения .
Чтобы включить CSP, вам необходимо настроить свой веб-сервер так, чтобы он возвращал HTTP-заголовок Политики безопасности содержимого (иногда вы увидите упоминания заголовка X-Политики безопасности содержимого, но это более старая версия, и вам больше не нужно ее указывать).
В качестве альтернативы этот элемент можно использовать для настройки политики, например:
Существуют различные ресурсы, которые мы используем на веб-странице, такие как Медиа, сценарий, изображение, поэтому для их разрешения нам необходимо использовать директивы.
Некоторые общие директивы перечислены ниже (проверьте другие здесь):
по умолчанию-src – Служит резервным вариантом для других директив выборки .
шрифт-src – Указывает допустимые источники для шрифтов, загруженных с помощью @font-face .
рамка-src – Указывает допустимые источники для загрузки вложенных контекстов просмотра с использованием таких элементов, как и .
img-src – Указывает допустимые источники изображений и значков.
media-src Указывает допустимые источники для загрузки мультимедиа с использованием элементов <аудио> , <видео> и <дорожка>.
объект-src Указывает допустимые источники для элементов <объект>, <вставка> и <апплет>.
Итак, давайте вернемся к главному вопросу.
Заголовки CSP в JHipster (Пружинный ботинок)
Итак, начиная примерно с Jhipster 5.0.x, заголовки CSP свойств добавлены в конфигурацию безопасности. Вы можете найти то же самое в папке проекта > src > главная > java > пакет > конфигурация > Конфигурация безопасности.java .
/**/************
Content Security policy Jhipster
**********/
/* Use directives as per your requirement like image-src and default-src for defaults of all*/
// Single line CSP
.headers()
.contentSecurityPolicy("default-src 'self';")
// Multi Line CSP joined by and
.headers()
.contentSecurityPolicy("default-src 'self';")
.and()
.contentSecurityPolicy("script-src 'self' 'unsafe-eval' 'unsafe-inline' https://www.gstatic.com https://www.google.com http://www.google-analytics.com https://maps.googleapis.com https://storage.googleapis.com;")
* Insert your code here
*/
Итак, выше вы можете увидеть пример того же самого. Таким образом, вы можете добавить CSP на основе нескольких директив в JHipster, таких как image-src для изображений из URL или данных: src, script-src, как встроенный скрипт, внешний скрипт.
Бонус
Вы будете думать о том, что осталось, поэтому позвольте мне сказать вам, что вот бонус, CSPevaluator. Поэтому, прежде чем подавать заявку напрямую, вы можете использовать инструмент, чтобы проверить, действителен ли CSP или нет. Вы также можете получить предупреждения и информацию о том же, с примерами для начала, если вы не знаете, с чего начать. Вот ссылка:
Вот ссылка:
Надеюсь, вам понравится этот пост, продолжайте проверять, не появятся ли новые. Кроме того, не стесняйтесь делиться своими взглядами в комментариях ниже. Также делитесь со своими друзьями, так как делиться – значит проявлять заботу. Продолжайте проверять.
Первоначально опубликовано по адресу Tekraze.com
Оригинал: “https://dev.to/balvinder294/content-security-policy-jhipster-spring-boot-1c6i”