Безопасность CDN: HTTPS и редирект
TLS на CDN — это два отдельных участка: «посетитель → наша сеть» и «наша сеть → ваш источник». Первый всегда шифрован и обслуживается автоматически, второй — ваш выбор. Разбираем оба и честно перечисляем, чего ещё нет.
Участок «посетитель → edge»
Заголовок раздела «Участок «посетитель → edge»»Всегда HTTPS с сертификатом, который выпускается и продлевается автоматически (подробно — в статье про сертификаты). От вас не требуется ничего: подключили домен — сертификат приезжает сам.
Редирект на HTTPS включается в настройках домена: посетитель, пришедший по http://, получает 301 на https://. Рекомендуем включать сразу после того, как убедились, что сайт полностью работает по HTTPS (иначе «половинный» редирект ломает смешанный контент).
Участок «edge → источник»
Заголовок раздела «Участок «edge → источник»»Чекбокс «Использовать 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 — напишем, когда заработает.