wpssl.ru wordpress WPSSL.ru

Настройка HTTPS заголовков безопасности в WordPress: практическое руководство

Использование HTTPS — это не только установка SSL-сертификата, но и правильная настройка заголовков безопасности, которые помогают защитить сайт от различных атак и улучшить доверие пользователей и поисковых систем. В этой статье мы подробно рассмотрим, какие HTTPS заголовки стоит настроить в WordPress, как их добавлять через код и плагины, а также приведём примеры реализации.

Что такое HTTPS заголовки безопасности и зачем они нужны

HTTPS заголовки безопасности — это специальные HTTP-заголовки, которые веб-сервер отправляет вместе с контентом страницы. Они информируют браузеры о том, как обрабатывать содержимое сайта, какие политики безопасности применять и как взаимодействовать с внешними ресурсами.

Основные цели использования таких заголовков:

  • Защита от атак типа XSS (межсайтовый скриптинг).
  • Запрет загрузки небезопасного контента (например, HTTP ресурсов на HTTPS сайте).
  • Контроль iframe и других встроенных элементов для предотвращения clickjacking.
  • Улучшение производительности и безопасности за счёт HTTP Strict Transport Security (HSTS).

Без правильной настройки этих заголовков HTTPS-сайт может быть уязвим к ряду атак и утратить часть преимуществ HTTPS.

Основные HTTPS заголовки безопасности для WordPress

Content-Security-Policy (CSP)

Этот заголовок позволяет задать строгие правила для источников контента (скрипты, стили, изображения и пр.), которые разрешены для загрузки и выполнения на сайте.

Пример базовой политики CSP для WordPress:

Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self';

Для WordPress важно разрешить загрузку скриптов и стилей из доверенных источников, включая собственные файлы темы и плагинов. При использовании плагинов с внешними URL, например, для аналитики или виджетов, их нужно добавить в белый список.

Strict-Transport-Security (HSTS)

Этот заголовок заставляет браузеры использовать HTTPS для всех запросов к сайту в течение заданного времени и запрещает подключение по HTTP.

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Важно включать параметр includeSubDomains, если все поддомены тоже работают через HTTPS, и опцию preload, чтобы добавить сайт в список предварительной загрузки HSTS браузеров.

X-Frame-Options

Защищает от clickjacking, запрещая встраивание сайта в iframe на других ресурсах.

X-Frame-Options: SAMEORIGIN

Значение SAMEORIGIN разрешает встраивание только на том же домене.

X-Content-Type-Options

Запрещает браузеру пытаться угадать MIME-тип, что предотвращает некоторые атаки на основе неправильного распознавания контента.

X-Content-Type-Options: nosniff

Referrer-Policy

Управляет отправкой заголовка Referer, что улучшает конфиденциальность пользователей.

Referrer-Policy: no-referrer-when-downgrade

Как добавить HTTPS заголовки безопасности в WordPress через functions.php

Добавим функцию для вставки нужных заголовков в ответ сервера:

function wpssl_add_security_headers() {
    header('Content-Security-Policy: default-src \'self\'; script-src \'self\' https://trusted.cdn.com; style-src \'self\' \'unsafe-inline\'; img-src \'self\' data:; font-src \'self\';');
    header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');
    header('X-Frame-Options: SAMEORIGIN');
    header('X-Content-Type-Options: nosniff');
    header('Referrer-Policy: no-referrer-when-downgrade');
}
add_action('send_headers', 'wpssl_add_security_headers');

Эту функцию можно добавить в файл functions.php вашей темы или создать отдельный плагин. Она будет добавлять заголовки при каждом ответе сервера.

Важно после добавления проверить корректность работы сайта и отсутствие ошибок в консоли браузера, особенно из-за CSP.

Использование плагинов для настройки HTTPS заголовков

Если вы не хотите добавлять код вручную, можно использовать плагины для управления заголовками безопасности.

Плагины для HTTPS заголовков:

  • Clearfy Pro — удобный плагин с настройками безопасности, включая управление CSP, HSTS и другими заголовками.
  • HTTP Headers Security — простой плагин для добавления основных заголовков.
  • Secure Headers — позволяет гибко настраивать все ключевые заголовки безопасности.

Clearfy Pro, например, позволяет не только включать нужные заголовки, но и автоматически обнаруживать конфликтующие скрипты и стили, упрощая настройку CSP. Это особенно полезно на сложных сайтах с множеством внешних ресурсов.

Практические советы по тестированию и отладке HTTPS заголовков

После настройки заголовков важно проверить их корректность и убедиться, что сайт работает стабильно.

  • Используйте securityheaders.com для быстрой проверки настроек безопасности сайта.
  • Для отладки CSP полезно включить режим отчётов (Content-Security-Policy-Report-Only), чтобы выявить блокируемые ресурсы без реального ограничения.
  • Проверяйте консоль браузера на предмет ошибок загрузки скриптов или стилей, связанных с CSP.
  • Не забывайте тестировать мобильную версию и страницы с динамическим контентом.

Если ваш сайт использует тему Reboot или другие современные темы, убедитесь, что они совместимы с вашими настройками безопасности.

Выводы и рекомендации

Настройка HTTPS заголовков безопасности — обязательный шаг для профессионального сайта на WordPress. Это повышает защиту от атак, улучшает SEO и доверие пользователей.

Рекомендуется комбинировать ручную настройку через functions.php и использование плагинов, таких как Clearfy Pro, для удобства и гибкости.

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

×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙