Как включить TLS 1.1 и 1.2 с OpenSSL и Apache

В свете растущего числа проблем безопасности, таких как недавно анонсированный Browser Exploit Against SSL/TLS (BEAST), мне было любопытно, как мы могли бы включить TLS 1.1 и 1.2 с OpenSSL и Apache, чтобы гарантировать, что мы не будем уязвимы к таким векторам угрозы.

6 ответов

Решение

TLS1.2 теперь доступен для Apache, чтобы добавить TLSs1.2, вам просто нужно добавить конфигурацию виртуального хоста https:

SSLProtocol -all +TLSv1.2

-all удаляет другой протокол ssl (SSL 1,2,3 TLS1)

+TLSv1.2 добавляет TLS 1.2

для большей совместимости браузера вы можете использовать

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-GC$

Вы можете проверить безопасность своего веб-сайта https с помощью онлайн-сканера, например: https://www.ssllabs.com/ssltest/index.html

Скомпилируйте apache с последней версией OpenSSL, чтобы включить TLSv1.1 и TLSv1.2

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

SSLProtocol +TLSv1.1 +TLSv1.2

Согласно журналу изменений OpenSSL, поддержка TLS 1.2 была добавлена ​​в ветку разработки OpenSSL 1.0.1, но эта версия еще не выпущена. Возможно, в коде mod_ssl также потребуются некоторые изменения, чтобы фактически включить TLS 1.2 для Apache.

Другая широко используемая библиотека SSL/TLS - это NSS; он используется менее известным модулем Apache mod_nss; К сожалению, текущие выпуски NSS также не поддерживают TLS 1.2.

Еще одна библиотека SSL/TLS - это GnuTLS, и она претендует на поддержку TLS 1.2 уже в своем текущем выпуске. Существует модуль Apache, использующий GnuTLS: mod_gnutls, который также утверждает, что поддерживает TLS 1.2. Однако этот модуль кажется довольно новым и может быть не очень стабильным; Я никогда не пытался использовать это.

Вы не можете, OpenSSL пока не предлагает релиз для TLS 1.1.

Один соответствующий комментарий на. по этому вопросу:

Не могли бы вы объяснить немытым массам, как бы вы реализовали поддержку TLS 1.1 и 1.2 в мире, где доминирующая библиотека OpenSSL еще не поддерживает ни один из протоколов в своих стабильных выпусках? Конечно, вы можете использовать GnuTLS и mod_gnutls, и я попробовал это, но в этом не было никакого смысла, так как никакой браузер, кроме Opera, не поддерживал его, и в модуле были некоторые странные сбои. IE 8/9 должен был поддерживать их в Vista и 7, но не смог получить доступ к сайту, обслуживаемому mod_gnutls, когда 1.1 и 1.2 были включены на стороне клиента. Вчера я попробовал это заново просто из любопытства, и теперь даже Opera 11.51 задыхается на TLS 1.1 и 1.2. Так что. Ничто действительно не поддерживает протоколы. Нужно дождаться OpenSSL 1.0.1 для TLS 1.1, и никто не знает, когда это произойдет.

http://it.slashdot.org/comments.pl?sid=2439924&cid=37477890

Адам Лэнгли, инженер Google Chrome, отмечает, что TLS 1.1 не решил бы эту проблему из-за проблемы с реализацией SSLv3, с которой все должны обходиться: браузеры должны перейти на SSLv3 для поддержки ошибочных серверов, и злоумышленник может инициировать это понижаем.

http://www.imperialviolet.org/2011/09/23/chromeandbeast.html

Gnu_tls работает как шарм и также реализует SNI (идентификацию имени сервера), что очень удобно для виртуального хостинга....

Нет проблем также найти пакеты bin для mod_gnutls в дистрибутивах Linux, я использую его с 2 лет и никаких проблем, он также более производительный, чем openssl imho.

Но проблема также в том, что большинство браузеров не поддерживают tls 1.1 или 1.2, поэтому, пожалуйста, начните распространять идею регулярного обновления браузеров среди людей.

Другие вопросы по тегам