В свете растущего числа проблем безопасности, таких как недавно объявленный эксплойт браузера против 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, и никто не знает, когда это попадет в репозиторий.
Адам Лэнгли, инженер 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, поэтому, пожалуйста, начните распространять идею регулярного обновления браузеров среди людей.