Apache 2.4 - отключение заголовка HSTS [закрыто]

Я установил Vagrant box с Ubuntu 18.04 и установил Apache 2.4.29. Я создал и включил новый файл conf, который выглядит так:

<VirtualHost *:80>
    ServerName django.dev
    ServerAlias www.django.dev
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

По какой-то причине apache отвечает заголовком HSTS, когда я пытаюсь вызвать django.dev:

HSTS response header

Я понятия не имею, откуда это берется. Ни в apache2.conf, ни в 000-default.conf нет такого заголовка, и у меня даже не включен mod_ssl.

Как ни странно, все работает как ожидалось, если обращаться к IP напрямую. Если я пингую django.dev, он разрешается на точно такой же IP.

Кто-нибудь знает, как или где я могу отключить HSTS? Я в растерянности и уже потратил несколько часов, пытаясь решить эту проблему.

6
задан 11 April 2020 в 13:31
1 ответ

Политика HSTS кэшируется браузером в течение секунд, указанных в директиве max-age ( RFC 6797, 6.1.1 ). Удаление заголовка из конфигурации веб-сервера не удаляет политику из кеша (ни список предварительной загрузки, если он был отправлен), и поэтому продолжает вызывать 307 Internal Redirect s в каждом браузере, который уже кэшировал политика.

Как указано в RFC 6797, 5.3 :

Только данный узел HSTS может обновлять или вызывать удаление своего выдал Политику HSTS. Это достигается путем отправки Strict-Transport-Security Поля заголовка ответа HTTP для UA с новым значения для продолжительности времени политики и применимости субдомена. Таким образом, UA кэшируют "самую свежую" информацию о политике HSTS от имени HSTS. Хозяин. Указание нулевой продолжительности времени сигнализирует UA удалить Политика HSTS (включая любую заявленную директиву includeSubDomains) для что HSTS Host.

Таким образом, единственный способ удалить политику HSTS - установить заголовок HSTS с нулевой продолжительностью , и браузер также должен видеть этот заголовок в безопасном соединении без каких-либо ошибок TLS или предупреждений ( 2,2 ).

<VirtualHost *:443>
    . . .
    Header always set Strict-Transport-Security "max-age=0"
</VirtualHost>

Как ни странно, при прямом вызове IP все работает должным образом.

Это совсем не странно.Как объясняется в Приложении A ,

  1. HSTS-хосты идентифицируются только через доменные имена - явный IP-адрес. адресная идентификация всех форм исключена. Это для упрощение, а также признание различных проблем с использование прямой идентификации IP-адреса в сочетании с PKI на основе безопасность.

Вы не можете отключить HSTS в .dev

. Если это буквально домен .dev , вы не можете отключить HSTS.

Ваша безопасность - наш приоритет. Файл. dev домен верхнего уровня включен в списке предварительной загрузки HSTS, что делает HTTPS обязательным для всех подключений к . dev веб-сайты и страницы без индивидуальной регистрации HSTS или конфигурация. Встроенная безопасность.

11
ответ дан 11 April 2020 в 10:46

Теги

Похожие вопросы