Возможно, это стало известно Вам после проведения теста на проникновение в систему безопасности, а возможно, Вы пытаетесь предотвратить захват Вашего сайта какой-либо стороной или наложение на него рекламы. В любом случае, заголовок X-Frame-Options стоит всегда включать в ответы сайта, чтобы повысить безопасность Вашего сайта и обеспечить определенную защиту его посетителей.
Этот заголовок указывает браузеру, как Ваш сайт может отображаться во фрейме (или iFrame). Фрейм позволяет одной веб-странице отображать внутри себя содержимое другого сайта (часто неочевидным для зрителя способом). Вы можете не думать, что это проблема, ведь это публичная веб-страница, в конце концов, но все не так просто. Что, если кто-то зарегистрировал распространенное неправильное написание Вашего доменного имени и отображает на нем Ваш сайт, используя iFrame? Они могли бы наложить рекламу или представить фальшивую страницу входа в систему, и все это выглядело бы совершенно аутентично, потому что это было бы содержимое Вашего сайта — только полученное из другого места. Нет более быстрого способа потерять доверие клиентов, чем когда злоумышленник использует эту функцию в своих интересах. У фреймов есть реальное применение, но, скорее всего, ни одно из них Вам не пригодится.
Установка заголовка X-Frame-Options во всех Ваших ответах — это простой способ предотвратить подобные проблемы. Существует три возможных значения: DENY, SAMEORIGIN и ALLOWFROM;
-DENY предотвратит отображение содержимого Вашего сайта во фрейме, даже на другой странице Вашего сайта. Часто это нормально, но имеет привычку ломать приложения, основанные на Java.
-SAMEORIGIN — это наиболее часто используемая настройка, которая означает, что страницы Вашего сайта могут быть включены во фреймы, но только на других страницах того же сайта.
-ALLOWFROM довольно мелкозернистый и редко используется — если это то, что Вам нужно, Вы, вероятно, знаете, что именно Вам нужно сделать — если нет, позвоните нам.
Как мы всегда говорим, мощным преимуществом использования балансировщика нагрузки является то, что нам нужно внести изменения только в одном месте, чтобы развернуть этот заголовок на всех наших серверах. Нам не нужно прибегать к помощи разработчиков или перенастраивать Apache. Просто импортируйте шаблон конфигурации jetPACK и назначьте правило трафика flightPATH той виртуальной службе (службам), которую Вы хотите защитить.
flightPATH — это динамический, основанный на событиях механизм правил, разработанный компанией edgeNEXUS для интеллектуального управления и маршрутизации сбалансированного по нагрузке IP-, HTTP- и HTTPS-трафика. Он очень настраиваемый и мощный, но при этом очень простой в использовании.
Правило добавляет заголовок только в том случае, если его нет, поэтому оно будет работать даже там, где наши веб-серверы уже вставляют его или вставляют только для определенных страниц. Это правило должно стать частью Вашей стандартной конфигурации виртуальных служб — Вы ничего не потеряете, каким бы ни был сайт, хотя, конечно, всегда рекомендуется тестирование. Вы можете скачать jetPACK на сайте edgeNEXUS Github здесь.
Это одно из многих разработанных нами правил flightPATH, которые Вы можете применить для повышения безопасности Вашего сайта и его пользователей. Чтобы узнать больше о HTTP-заголовках, связанных с безопасностью, ознакомьтесь с этими статьями:
- Упрощение безопасности HTTP-заголовков с помощью управления трафиком edgeNEXUS: X-Content-Type-Options
- Как защитить HTTP-трафик и обезопасить пользователей с помощью заголовка HTTP Strict Transport Security Header