Файлы ttf и woff не используют HSTS - PullRequest
0 голосов
/ 29 октября 2018

В моем проекте HSTS включен. Поэтому, если кто-то пытается использовать сайт по HTTP, он перенаправляется на HTTPS.

После сканирования безопасности сообщается, что файлы ttf, woff и woff2 игнорируют HSTS.

Пример 1:

В Google Crome, если я пытаюсь указать URL-адрес ниже, он перенаправляется на HTTPS:

http://example.com/backend/web/lib/roboto/Roboto-Light.woff2 тогда это

перенаправляет на

https://example.com/backend/web/lib/roboto/Roboto-Light.woff2

Если я пытаюсь сделать то же самое в Firefox, он просто загружает файл Roboto-Light.woff2 по HTTP, а не перенаправляет его на HTTPS.

Пример 2:

Если я пытаюсь указать URL ниже как в Google Chrome, так и в Firefox, он просто загружает файл.

http://example.com/backend/web/lib/roboto/Roboto-Black.ttf

Так, что я должен сделать, чтобы решить эту проблему?

Обновление

Сетевой журнал после доступа по указанному ниже URL:

http://example.com/backend/web/lib/roboto/Roboto-Black.ttf

enter image description here

enter image description here

Кажется, что первый файл загружается при посещении HTTP-URL. Но https не обновляется в адресной строке браузера, но не уверен.

VHOST Настройки

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ServerName example.com

    RewriteEngine on
    RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    #RewriteCond %{HTTPS} !=on
    #RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
    RewriteRule .* - [F]

    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"

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

1 Ответ

0 голосов
/ 30 октября 2018

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

Вы четко показываете, что для файлов шрифтов устанавливается HSTS. Вы также показываете, что по причинам HSTS вы правильно показываете внутреннее перенаправление 307.

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

  1. Ложный ответ 307, который обновляет запрос с HTTP до HTTPS. Это создается браузером, и HTTP-запрос никогда не достигает сервера. Поэтому я и называю это «фальшивым» резонансом.
  2. Реальный запрос отправлен по HTTPS.

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

Если я попробую то же самое в Firefox, он просто загружает файл Roboto-Light.woff2 по HTTP, а не перенаправляет на HTTPS.

Откуда ты это знаешь? Вы уверены, что посетили сайт через HTTPS, чтобы получить заголовок HSTS? Первый запрос вполне может быть через HTTP (хотя у вас есть стандартное перенаправление, поэтому он должен перенаправить на HTTPS, а затем загрузить), но после этого он должен автоматически перенаправить ПЕРЕД отправкой запроса.

Если я пытаюсь указать URL ниже как в Google Chrome, так и в Firefox, он просто загружает файл.

Вероятно, так и есть. Но после перенаправления.

Кажется, что первый файл загружается при посещении HTTP-URL. Но https не обновляется в адресной строке браузера, но не уверен.

Нет, как обсуждалось, первый - фиктивный запрос. Второй - это реальный запрос, который фактически отправляется в браузер Поскольку файл шрифта загружается немедленно, он ничего не делает с адресной строкой.

...