Быстрый ответ:
Включите HTTPS с валидным SSL/TLS-certificate → добавьте header Strict-Transport-Security с max-age ≥ 31536000, includeSubDomains и preload → проверьте в Chrome/Firefox → подайте домен в HSTS preload list → дополнительно настройте X-Frame-Options и X-XSS-Protection.
После этого браузеры больше никогда не откроют незащищенному версии сайта даже по прямым ссылкам — степень защиты резко возрастёт.
Почему без HSTS сайт остаётся уязвимым?
Что происходит при первом заходе пользователя
Пользователи часто вводят domain без https.
Сначала открывается HTTP, затем редирект на HTTPS.
Именно в этот момент возможны MITM-атаки:
перехват cookie, подмена content, внедрение script.
Почему обычного редиректа недостаточно
301 redirect — реактивная защита.
HSTS — проактивная policy браузера.
После HSTS browser:
-
никогда не обращается к HTTP
-
блокирует certificate ошибки
-
игнорирует небезопасные links
Что меняется после внедрения
| До | После |
|---|---|
| доступ к http | всегда https |
| уязвимость wifi | блокируется |
| downgrade атаки | невозможны |
| mixed content | режется |
Что делает заголовок strict transport security
Как работает заголовок strict transport security
Браузер запоминает site на несколько недель или лет.
Теперь при попытке открыть HTTP он сразу меняет на HTTPS.
Основные параметры
| Параметр | Значение |
|---|---|
| max-age | срок в секундах |
| includeSubDomains | включает поддомены |
| preload | добавить в list браузеров |
Что важно понимать
После включения откат сложен.
Поэтому сначала test на staging server.
Как правильно настроить HSTS на сервере
Apache (.htaccess)
Header always set Strict-Transport-Security «max-age=31536000; includeSubDomains; preload»
</IfModule>
Nginx
Cloudflare / CDN provider
Включите HSTS в security → edge certificates.
Укажите max-age и preload mode.
Как проверить корректность работы
Через браузеры
Chrome → DevTools → Network → Response header
Firefox → about:networking → HSTS
Онлайн сервисы check
Используйте ssl test сервисы:
-
SSL Labs
-
SecurityHeaders
-
HSTS preload check
Что должно быть указано
| Проверка | Status |
|---|---|
| header найден | PASS |
| certificate валиден | PASS |
| redirect https | PASS |
| preload готов | PASS |
Как добавить сайт в preload list Google
Требования
-
HTTPS на каждой странице
-
includeSubDomains
-
max-age ≥ 31536000
-
нет mixed content
Шаги
-
настройте HSTS
-
test через preload check
-
submit в google list
После одобрения:
Chrome, Firefox, Edge, Safari знают site заранее.
Как связаны X Frame Options и X XSS Protection
X-Frame-Options
Защита от clickjacking атак.
X-XSS-Protection
Встроенный filter browser.
Что это даёт SEO
Безопасный сайт:
-
выше trust
-
меньше вредоносных инъекций
-
стабильный индекс
Влияние на SEO и индексацию
Как влияет на Google
Google учитывает HTTPS как ranking factor.
HSTS повышает доверие crawler clients.
Поведенческие факторы
Без предупреждений browser → меньше отказов.
Быстрее загрузка благодаря TLS session reuse.
Итог
| Метрика | Изменение |
|---|---|
| trust | ↑ |
| crawl budget | ↑ |
| отказ | ↓ |
| позиции | стабилизируются |
Частые ошибки внедрения
Слишком маленький max-age
Нужно минимум год.
Иначе preload не пройдет.
Нет includeSubDomains
Останутся дыры на поддоменах.
HTTP ресурсы
Mixed content ломает policy.
Практический кейс
Интернет-магазин
После включения HSTS:
-
предупреждения исчезли
-
время до первого байта снизилось
-
позиции выросли на 8%
SaaS сервис
После preload:
-
снизились перехваты cookie
-
уменьшились атаки ботов
Пошаговая инструкция внедрения (коротко)
-
установить ssl certificate
-
включить redirect https
-
добавить strict-transport-security header
-
проверить chrome/firefox
-
исправить mixed content
-
подать в preload list
-
добавить x-frame-options
-
включить x-xss-protection
Когда стоит внедрять прямо сейчас
Если есть форма, авторизация, cookie, api — обязательно.
Сейчас большинство атак именно downgrade HTTPS.
Правильно настроенный HSTS — базовая security веб-технологии, без которой site считается устаревшим.
Итог
HSTS — это не просто заголовок, а режим работы браузера.
После внедрения защита работает даже без участия сервера.
Сейчас именно он отделяет обычный сайт от профессионального.
