Веб-сервер Apapche перенаправляет неподдерживаемые шифры на http?

Мы отключим поддержку браузеров, которые поддерживают только TLS1.0

Когда мы отключим поддержку TLS 1.0 на нашем веб-сервер, можем ли мы перенаправить браузеры, которые не поддерживают TLS 1.1 или выше, на страницу http, объясняя, почему у них нет доступа и что они могут с этим поделать?

Многие пользователи уже будут иметь наш https: // в своих избранное, поэтому мы не можем предположить, что они сначала перейдут на http-сайт , где мы могли бы отобразить сообщение для неподдерживаемых браузеров или перенаправить поддерживаемые браузеры на защищенный сайт.

0
задан 19 June 2018 в 12:47
2 ответа

Когда мы отключим поддержку TLS 1.0 на нашем веб-сервере, можем ли мы перенаправить браузеры, которые не поддерживают TLS 1.1 или выше, на страницу http, объясняя, почему у них нет доступа и к чему они что с этим поделать?

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

Также: если вы используете HSTS , вы, вероятно, не сможете перенаправить на обычную HTTP-страницу в вашем собственном домене. (Хотя, если их браузеры не поддерживают TLS 1.1 или более позднюю версию, они, вероятно, также не будут поддерживать HSTS , так что это не проблема.)


Вместо этого: до отключения поддержки TLS 1.0 вы можете начать регистрировать , сколько клиентов все еще используют старые шифры, и провести осознанный анализ воздействия, используя что-то вроде:

CustomLog logs/ssl_cipher_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%{User-agent}i\""

Также / дополнительно вы можете использовать переменную среды SSL SSL_PROTOCOL (SSLv3, TLSv1, TLSv1.1, TLSv1.2) для создания правила mod_rewrite для обнаружения старых шифров и, например, перенаправления этих запросов (не проверено):

RewriteCond %{SSL:SSL_PROTOCOL} =SSLv3  [OR]
RewriteCond %{SSL:SSL_PROTOCOL} =TLSv1
RewriteRule (.*) http://%{SERVER_NAME}/unsupported_tls_version.html [L,R=302]
1
ответ дан 4 December 2019 в 13:25

Это невозможно.

HTTPS сначала создает безопасное соединение, а затем использует это безопасное соединение для отправки и получения сообщений HTTP по этому защищенному соединению (включая перенаправления

Отсутствие общих шифров / версия TLS означает отсутствие соединения и, следовательно, отсутствие сообщений HTTP.

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

С учетом этих рассуждений @Hbruijn дает хороший совет о том, как измерить и, следовательно, попытаться минимизировать воздействие.

По мере того, как удаление TLSv1 становится обычным (в соответствии с требованиями соответствия PCI), все больше и больше сайтов отключит это, и пользователи, вероятно, будут часто получать это сообщение, поэтому им следует уловить намек. Таким образом, количество затронутых пользователей должно быть небольшим и очевидным.

В качестве основного воздействия (по крайней мере, для просмотра) i , скорее всего, будет IE10 , вы также можете добавить что-то вроде следующего в начало страницы на некоторое время, прежде чем удалить поддержку TLSv1.

<!--[if lt IE 11]>
<p class=“old-ie”>
We notice you are using an old version of Internet Explorer that is shortly due to be unsupported on this site. Please upgrade to be able to continue to use this site.
</p>
<![endif]-->

Здесь используются специальные теги if для IE, а затем вы можете стилизовать его, чтобы сделать его большим красным очевидным предупреждением.

Старый Android - другой вероятный кандидат (который выше не будет помогите с), но с версии 4.4 Chrome Webview (который поддерживает TLSv1.2) используется по умолчанию, поэтому, надеюсь, большинство пользователей Android не пострадают.

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

1
ответ дан 4 December 2019 в 13:25

Теги

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