Назад | Перейти на главную страницу

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

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

TLS1.2 теперь доступен для apache, чтобы добавить TLS1.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

кстати, вы также можете увеличить набор Cipher, используя:

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

SSLProtocol +TLSv1.1 +TLSv1.2

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

Другая часто используемая библиотека SSL / TLS - это НСС; он используется менее известным модулем 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, поэтому, пожалуйста, начните распространять идею регулярного обновления браузеров среди людей.