В этом руководстве давайте обсудим различные заголовки безопасности HTTP и то, как включить эти заголовки для платформы AEM.
Заголовки являются частью спецификации HTTP, определяя метаданные сообщения как в HTTP-запросе, так и в ответе.
Заголовки безопасности - это заголовки ответов HTTP, которые определяют, следует ли активировать или деактивировать набор мер безопасности в веб-браузере.
Давайте посмотрим на некоторые из наиболее важных заголовков безопасности и способы их включения на платформе AEM.
Строгая транспортная безопасность
Заголовок ответа HTTP Strict-Transport-Security позволяет веб-сайту сообщать браузерам, что к нему следует обращаться только по протоколу HTTPS, а не по протоколу HTTP.
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
max-age = ‹expire-time› - время в секундах, в течение которого браузер должен запомнить, что доступ к сайту возможен только по протоколу HTTPS.
includeSubDomains - если этот параметр указан, это правило применяется также ко всем субдоменам сайта.
preload - этот параметр указывает, что сайт присутствует в глобальном списке сайтов, поддерживающих только HTTPS.
Это будет информировать посещающий веб-браузер о том, что текущий сайт (включая поддомены) поддерживает только HTTPS, и браузер должен получать к нему доступ через HTTPS в течение следующих 2 лет (63072000 секунд).
Перед реализацией этого заголовка вы должны убедиться, что все страницы вашего веб-сайта (включая страницы поддоменов) доступны через HTTPS, иначе они будут заблокированы браузером.
Заголовок должен быть включен с веб-сервера (Диспетчер), чтобы включить заголовок в Apache, используйте модуль mod_header и установите заголовок, как показано ниже, в файле виртуального хоста
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;preload
"
Параметры X-Frame
Заголовок HTTP-ответа X-Frame-Options может использоваться, чтобы указать, следует ли разрешить браузеру отображать страницу в ‹frame›, ‹iframe›, ‹embed› или ‹object›. Сайты могут использовать это, чтобы избежать атак с использованием кликджекинга, гарантируя, что их контент не встраивается в другие сайты.
Параметры X-Frame: ОТКАЗ
Параметры X-Frame: SAMEORIGIN
ОТКАЗАТЬ - страница не может отображаться во фрейме, независимо от того, пытается ли это сделать сайт.
SAMEORIGIN
Страница может отображаться только во фрейме в том же источнике, что и сама страница.
Заголовок должен быть включен с веб-сервера (Диспетчер), чтобы включить заголовок в Apache, используйте модуль mod_header и установите заголовок, как показано ниже, в файле виртуального хоста
Header always append X-Frame-Options SAMEORIGIN
HTTP-заголовок Content-Security-Policy (CSP) имеет директиву frame-ancestors, которая переопределяет X-Frame-Options в современных браузерах.
См. Видео ниже для получения дополнительных сведений о параметрах X-Frame и предках кадров CSP.
Политика безопасности контента (CSP)
Content-Security-Policy - это имя заголовка HTTP-ответа, который современные браузеры используют для повышения безопасности документа. Заголовок Content-Security-Policy позволяет ограничить использование ресурсов, таких как JavaScript, CSS, или почти всего, что загружает браузер.
Политика безопасности контента (CSP) - это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая атаки с использованием межсайтовых сценариев (XSS) и инъекции данных.
Заголовок должен быть включен с веб-сервера (Диспетчер), чтобы включить заголовок в Apache, используйте модуль mod_header и установите заголовок, как показано ниже, в файле виртуального хоста
Header always set Content-Security-Policy "default-src 'self';script-src 'self' https://sub.mydomain.com; img-src 'self' https://www.example.com;frame-ancestors 'self' http://mydomain.com:8000"
Заголовок выше позволяет браузеру
загружать скрипты (script-src) только с того же домена и https://sub.mydomain.com
загружать изображения (img-src) из того же домена и https://www.example.com
разрешает только веб-страницы из текущего домена для iframe этой страницы
Обратитесь к указанному ниже URL-адресу для получения дополнительных сведений о CSP.
Параметры X-Content-Type
Заголовок X-Content-Type-Options предотвращает «сниффинг MIME», который на самом деле является функцией Internet Explorer и Google Chrome. Это позволяет браузеру сканировать или «нюхать» контент и отвечать в ответ на то, что может указывать заголовок.
Заголовки X-Content-Type-Options инструктируют браузеры установить тип контента в соответствии с инструкциями (убедитесь, что вы правильно установили типы контента) и никогда не определяют собственный тип.
Заголовок должен быть включен с веб-сервера (Диспетчер), чтобы включить заголовок в Apache, используйте модуль mod_header и установите заголовок, как показано ниже, в файле виртуального хоста
Header
always setX-Content-Type-Options nosniff
Особенности-Политика
Заголовок безопасности HTTP сообщает современным браузерам, какие функции браузера разрешены, а какие запрещены. Политика функций позволяет веб-разработчикам выборочно включать, отключать и изменять поведение определенных API-интерфейсов и веб-функций в браузере. Политика функций позволяет вам контролировать, какие источники могут использовать какие функции как на странице верхнего уровня, так и во встроенных фреймах.
Заголовок должен быть включен с веб-сервера (Диспетчер), чтобы включить заголовок в Apache, используйте модуль mod_header и установите заголовок, как показано ниже, в файле виртуального хоста
Отключите API геолокации и камеры для всех контекстов.
Header
always set Feature-Policy "geolocation 'none'; camera 'none'"
Включите API геолокации и камеры только для страниц из текущего домена и страниц из myexample1.com
Header always set Feature-Policy "geolocation 'self' https://myexample1.com; camera 'self' https://myexample1.com"
Обратитесь к указанному ниже URL-адресу для получения более подробной информации о Feature-Policy.
Это некоторые из критических заголовков безопасности HTTP, которые можно включить для защиты платформы AEM от атак безопасности.
Не стесняйтесь оставлять свои комментарии.