Чтобы устранить недавно обнаруженную уязвимость POODLE в SSLv3, мы отключили старый протокол на наших серверах, включая сервер репозитория Subversion.
Это привело к поломке svn-клиентов на наших машинах RHEL5 — теперь они сообщают о следующей ошибке:
svn: OPTIONS of 'https://svn.example.net/foo/trunk/': SSL negotiation failed: Secure connection truncated (https://svn.example.net)
.
Версия svn - 1.6.11. Та же версия на RHEL6 работает нормально, так что можно подумать, что разница в openssl-библиотеках.
Но Apache, работающий на той же машине RHEL5, что и svn-клиент, использует те же библиотеки и обслуживает свой собственный SSL-трафик без сбоев (поверх TLSv1).
Как заставить svn-client работать без svn-server, поддерживающего SSLv3?
Обновлять: Присмотревшись к ldd
выводу , я вижу, что svn
ссылки с GNUTLS на RHEL6, но OpenSSL на RHEL5, что может объяснять разницу. Я все еще не понимаю, почему Apache, использующий OpenSSL на той же системе RHEL5, не испытывает проблем с предложением TLSv1.
решение1
Попробуйте этот обходной путьhttps://access.redhat.com/solutions/1234843.
svn-client <-- поддерживает SSLv3 --> локальный stunnel <-- нет SSLv3 / автоматический возврат к TLS --> сервер SVN
Некоторые компоненты не предоставляют параметры конфигурации, позволяющие отключить SSLv3. В настоящее время известно, что в эту категорию попадают следующие компоненты:
OpenLDAP
чашки
Можно отключить SSLv3 для этих компонентов с помощью stunnel. Stunnel предоставляет оболочку шифрования между удаленным клиентом и локальным (inetd-startable) или удаленным сервером, используя библиотеку OpenSSL для криптографии. n Чтобы отключить SSLv3 на stunnel, используйте следующие параметры конфигурации в файле stunnel.conf:
options = NO_SSLv2
options = NO_SSLv3
решение2
Одним из решений была перекомпиляция Subversion для использования новой версии serf (1.3.8) — новейшая версия serf также не использует SSLv3 и может взаимодействовать с сервером TLS-only. Однако обновление svn
-client на десятках систем само по себе проблематично.
Мы решили эту проблему, изменив Apache на сервере, как описано вмой ответ на мой собственный вопрос на ServerFault. Удачи.