Отключение всех старых версий ssl в Apache 2 для принудительной аутентификации через TLS 1.2?

Я читал здесь , что все (более старые?) Версии SSL должны быть отключены для принудительной аутентификации TLS 1.2. Как это сделать на Apache 2?

1
задан 17 March 2017 в 12:46
3 ответа

Это неверно, использование только TLSv1.2 удалит некоторые совместимости браузера и не устранит все нарушения SSL.

Если SSL больше не используется, это связано с некоторым нарушением ценных бумаг не обнаружено. Но это не решает всех проблем.

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

Здесь конфигурация для защиты вашего SSL, нарушения совместимости браузера без уязвимости для атака:

SSLEngine on
SSLOptions +StrictRequire
SSLProxyEngine on

# Prevent Beast attack
SSLHonorCipherOrder on

# SSL Compression (CRIME attack)
SSLCompression off

# HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; pr$

# PROTOCOL
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4

После этого вы можете проверить свой уровень безопасности SSL на этом сайте https://www.ssllabs.com/ssltest

2
ответ дан 3 December 2019 в 17:04

Я читал здесь, что все (более старые?) Версии SSL необходимо отключить, чтобы принудительно выполнить аутентификацию TLS 1.2.

Это не то, о чем говорится! В нем говорится, что для принудительного использования TLS необходимо отключить все версии SSL, а не для принудительного использования TLSv1.2.

SSL / TLS существует в нескольких версиях в порядке возрастания возраста и безопасности:

  1. SSLv2
  2. SSLv3
  3. TLSv1
  4. TLSv1.1
  5. TLSv1.2

SSLv1 никогда не был общедоступным, и TLSv1.3 в настоящее время разрабатывается.

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

Принято считать, что SSLv2 и SSLv3 теперь небезопасны из-за комбинации обнаруженных в них недостатков и увеличения вычислительной мощности, что означает, что они могут быть взломаны. Поэтому вам определенно следует отключить их, используя следующее:

SSLProtocol all -SSLv2 -SSLv3

Примечание. SSLv2 обычно отключен по умолчанию, но явного вреда нет.

TLSv1 представляет интерес. Стандарт соответствия PCI (используемый, когда вы принимаете платежи по картам на своем веб-сайте) недавно потребовал отключить TLSv1, но он по-прежнему необходим для некоторых браузеров, которые все еще используются, так что это может навредить некоторым из ваших пользователей (например, пользователям IE8 на XP - да, даже хотя XP официально удалена и не поддерживается, она все еще используется). Лично я думаю, что мы почти готовы отключить это, но еще не совсем.

TLSv1.1 - еще один интересный вариант. TLSv1.2 вышел вскоре после этого, и почти каждый браузер, поддерживающий 1.1, также поддерживает 1.2, поэтому использование 1.1 очень мало. Поэтому, если вы хотите укрепить свою конфигурацию SSL / TLS, может быть, лучше пропустить ее и перейти сразу к TLSv1.2, а не к обоим, что избавит вас от отключения позже, когда какая-то уязвимость будет обнаружена позже. С другой стороны, это все еще безопасно, и, возможно, это крошечное подмножество браузеров являются некоторыми из ваших посетителей.

Так что, если вам нужен только TLSv1.2 (с опцией TLSv1.3 в будущем), вы можете использовать эту конфигурацию:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Или, в качестве альтернативы, просто это (хотя и ограничивает вас только TLSv1.2, независимо от того, что будет дальше):

SSLProtocol TLSv1.2

Вы также можете измерить свое текущее использование, используя собственный формат журнала, чтобы вы могли видеть, сколько ваших посетителей все еще используют TLSv1, например: http://httpd.apache.org/docs/current/mod/mod_ssl.html#logformats

Однако это еще не все, что касается надежной настройки https.

Для начала это сильно зависит от версии OpenSSL, которую вы установили, и / или версии, с которой он был скомпилирован. Это может означать, что TLSv1.2 даже недоступен для вас - существует множество установок OpenSSL 0.9.8!

Далее идет CipherSuite, который вы используете в этой версии SSL / TLS.Некоторые из них более безопасны, чем другие, а некоторые снижают производительность, чем другие. Вы также должны указать, что сервер должен указывать порядок, чтобы использовался ваш самый надежный набор. Это (на момент написания) сильное предложение с хорошей устаревшей поддержкой:

SSLHonorCipherOrder on
SSLCipherSuite "EECDH+AES128:EECDH+AES256:+SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RSA+3DES:!DSS"

Затем есть другие варианты, такие как сжатие, HSTS, CT, HPKP и OCSP Stapling, но они действительно являются специальными темами и выходят за рамки этого вопроса ( написал о них здесь, если хотите продолжить чтение: https://www.tunetheweb.com/security/https/ )

Лучшим вариантом для тестирования вашей настройки https является онлайн https : //www.ssllabs.com/ssltest инструмент. Просто введите адрес своего веб-сайта, и через пару минут вы получите отчет о том, насколько хороши ваши настройки. ИМХО, нет веской причины не получать здесь оценку A, если вы не используете старое оборудование / программное обеспечение (в этом случае, почему вы не обновляетесь?). Если вы присматриваете за веб-сайтом, я настоятельно рекомендую повторно запускать этот тест раз в квартал, чтобы проверять любые новые разработки и изменения конфигурации, которые вам могут потребоваться, чтобы оставаться в курсе своей конфигурации.

3
ответ дан 3 December 2019 в 17:04
  1. Обновление до последней версии Apache 2.
  2. Обновление до последней версии OpenSSL 1.0.1 +.
  3. Отредактируйте Apache ssl.conf или httpd.conf

Добавить

# only use TLSv1.2 and above, to have SHA-256 and GCM
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Перезапустить Apache.

0
ответ дан 3 December 2019 в 17:04

Теги

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