Нет заголовков безопасности: HSTS и запрета на показ во фрейме
Сайт работает, и посетитель ничего не замечает. Но браузер не получил от сайта двух указаний: открывать его только с шифрованием и не показывать внутри чужих страниц. Первое нужно, чтобы запрос не перехватили в чужой сети, второе — чтобы сайт не подложили под чужую кнопку.
Так это выглядит в отчёте
Строка из отчёта о сайте-примере ваш-сайт.ru. В отчёте о вашем сайте в ней будут ваши адреса и даты.
Стоит посмотреть · Настройки для браузеров
Сайт можно встроить в чужую страницу и открыть без шифрования
Сайт не запрещает показывать себя внутри чужих страниц. Этим пользуются мошенники: кладут сайт невидимым слоем поверх своей страницы, и посетитель, сам того не зная, нажимает вашу кнопку — например, «Оплатить» или «Удалить». Сайт не сообщает браузерам, что открывать его нужно только по защищённому адресу. Когда человек набирает адрес без https:// или идёт по старой ссылке, первый запрос уходит без шифрования — в чужой сети, например в кафе или гостинице, на него могут ответить вместо вашего сайта. Сам сайт при этом работает как обычно.
Что делать. Попросите того, кто ведёт сайт, добавить в ответ сервера две строки из блока «Для специалиста»: на большинстве хостингов это делается в панели управления или в файле настроек сайта. Сначала убедитесь, что все страницы сайта открываются по защищённому адресу: после этого браузеры перестанут открывать их иначе. Если вы пользуетесь Вебвизором Яндекс Метрики или сами показываете сайт внутри других страниц, скажите об этом заранее: для них делают исключение.
Почему так бывает
- На большинстве хостингов эти указания по умолчанию выключены, а включить их никто не просил.
- Сайт перевели на защищённый адрес, а следующий шаг — сказать об этом браузерам — не сделали.
- Сайт перенесли на другой сервер, и настройки старого не переехали.
- Указания задавало дополнение или модуль сайта, и после обновления оно перестало это делать.
Что делать
- Убедитесь, что все страницы сайта открываются по адресу с https://, а адрес без него сам ведёт на защищённый: после включения HSTS браузеры перестанут открывать сайт иначе.
- Включите HSTS: во многих панелях хостинга это переключатель в разделе «SSL». Если его нет, в настройки веб-сервера добавляют заголовок Strict-Transport-Security: max-age=31536000.
- Запретите показывать сайт во фрейме: заголовок X-Frame-Options: SAMEORIGIN или Content-Security-Policy: frame-ancestors 'self'.
- Если на сайте работает Вебвизор Яндекс Метрики, выберите второй вариант и добавьте в него адреса из справки Метрики: иначе записи посещений перестанут открываться.
- Запустите проверку ещё раз: строка «Настройки для браузеров» в отчёте должна перейти в «В порядке».
Для специалиста
Нет заголовка Strict-Transport-Security; для начала: Strict-Transport-Security: max-age=31536000. Нет запрета на показ во фрейме: ни X-Frame-Options, ни frame-ancestors в Content-Security-Policy; например: Content-Security-Policy: frame-ancestors 'self' (Вебвизору Метрики нужны свои адреса в этом списке). Страница: https://ваш-сайт.ru
Та же находка словами для того, кто обслуживает сайт. В отчёте о вашем сайте эта строка будет про него — её можно переслать специалисту как есть.
Починим за фиксированную цену
Настройки для браузеров
Сайт открывается только с шифрованием, и его нельзя показать внутри чужой страницы
1 500 ₽
Цена известна до начала работ и не растёт по ходу. После починки запускаем проверку ещё раз: если проблема осталась, возвращаем деньги.
Починку заказывают из отчёта: кнопка рядом с проблемой. Отчёта ещё нет? Начните с бесплатной проверки. Условия работ — в оферте.
Вопросы
Что такое HSTS простыми словами?
Это указание сайта браузеру: запомни, что меня открывают только с шифрованием. Получив его однажды, браузер сам подставляет https:// и не делает ни одного открытого запроса, даже если человек набрал адрес без него.
Чем опасен показ сайта во фрейме?
Мошенник открывает ваш сайт невидимым слоем поверх своей страницы с безобидной кнопкой. Человек думает, что нажимает её, а на деле нажимает кнопку вашего сайта, где он уже вошёл в кабинет: подтверждает оплату или меняет настройки. Такой приём называют кликджекингом.
Не сломают ли эти заголовки сайт?
HSTS — только если часть страниц ещё работает без шифрования, поэтому начинают без режима для поддоменов (includeSubDomains). Запрет фрейма — если сайт показывают внутри других страниц: в Вебвизоре, в виджете партнёра. Для них в правило добавляют исключение.
А остальные заголовки — CSP, nosniff, Referrer-Policy?
Проверка читает и их и показывает в блоке «Для специалиста». На оценку они не влияют: их нет у большинства сайтов, а политику содержимого настраивают под конкретный сайт, и поспешная настройка ломает страницы.
Проверьте, есть ли это на вашем сайте
Введите адрес — посмотрим на сайт снаружи и напишем отчёт простыми словами. Бесплатно и без регистрации.
Проверяем сайт целиком: если эта проблема у вас есть, она будет в отчёте среди остального.