Перейти к содержимому

Безопасность CDN: HTTPS и редирект

TLS на CDN — это два отдельных участка: «посетитель → наша сеть» и «наша сеть → ваш источник». Первый всегда шифрован и обслуживается автоматически, второй — ваш выбор. Разбираем оба и честно перечисляем, чего ещё нет.

Всегда HTTPS с сертификатом, который выпускается и продлевается автоматически (подробно — в статье про сертификаты). От вас не требуется ничего: подключили домен — сертификат приезжает сам.

Редирект на HTTPS включается в настройках домена: посетитель, пришедший по http://, получает 301 на https://. Рекомендуем включать сразу после того, как убедились, что сайт полностью работает по HTTPS (иначе «половинный» редирект ломает смешанный контент).

Чекбокс «Использовать HTTPS-соединение с источником» (при создании CDN-ресурса; для сайтов — настройка соединения в «Серверах сайта»: «Обычное (http)» или «Защищённое (https — на сервере нужен валидный сертификат)»):

  • HTTPS к origin — если на сервере есть валидный сертификат. Правильный выбор для всего, что не является публичной статикой.
  • HTTP к origin — секрета в контенте нет (открытая статика, бакеты с публичным чтением) — допустимо.

Подробности выбора — в статье Источник контента.

Чтобы трафик шёл только через сеть Xipher (и источник нельзя было «обойти»), в настройках сайта есть блок «Защита origin»: сервер принимает запросы только от адресов нашей сети. Это убирает соблазн атаковать источник напрямую, минуя ваши правила.

  • Secure Token — подписанные ссылки с истекающим сроком (защита хотлинка и платного контента) — в разработке, появится отдельной настройкой.
  • TTL в браузере для CDN-ресурсов — управление браузерным кэшем из панели (подробности).

Обещаем только то, что уже работает или в явной разработке — других заявлений о защите здесь нет. Про границы компетенции CDN честно: WAF и правила — про фильтрацию эксплоитов; это не защита от объёмных атак.

curl -I http://ваш-домен при включённом редиректе отвечает 301 и Location: https://…. Замок в браузере, в карточке сертификат — «выпущен».

Симптом Причина Что делать
Редирект включён, часть контента «небезопасна» Смешанный контент: ссылки на http-ресурсы в HTML Поправьте ссылки на относительные/https
502 при «Защищённом (https)» соединении На origin нет валидного серта Поставьте сертификат или выберите «Обычное (http)»
Сайт недоступен с «Защитой origin» Прямые запросы с ненаших адресов режутся Это ожидаемо; проверяйте сайт через домен, а не по IP
Нужен ли мне свой сертификат?

В 99 % случаев нет: авто-сертификат Let’s Encrypt покрывает подключённые имена и продлевается сам. Свой нужен для особых CA-требований (план Business).

HTTPS к origin обязателен?

Нет. Для публичной статики HTTP к origin допустим. Но если контент хоть немного приватный — только HTTPS на обоих участках.

Когда будет Secure Token?

Функция в разработке, появится отдельной настройкой в карточке ресурса. Следите за changelog — напишем, когда заработает.