Я запускаю веб-службу, реализованную на сервере Ubuntu 14.04 LTS. Я отлаживаю TLSv1
разрыв соединения через некоторое время между клиентом, использующим openssl версии 0.9.7m
, и сервером, использующим openssl 1.0.1f
. У меня нет доступа к клиентской стороне, только к серверу и роутеру. Когда я запускаю openssl s_server
вместо сервера, я вижу сообщение безопасное повторное согласование не поддерживается
при подключении клиента. Повторное согласование не обязательно имеет какое-либо отношение к проблемам с подключением, но я пытаюсь понять повторное согласование. Пока мне не удалось найти ответы на следующие вопросы:
openssl s_server
] и / или openssl s_client
, чтобы поэкспериментировать с ним? Существует четыре возможных типа повторного согласования :
С момента обнаружения возможности выполнения атак повторного согласования ( CVE-2009-3555 ), уязвимость существует «во всех текущих версиях TLS» , можно с уверенностью предположить, что повторное согласование не будет выполнено безопасно, если и клиент, и сервер не реализуют расширение индикации повторного согласования TLS .
Первой реакцией OpenSSL было отключить повторное согласование с безопасным повторным согласованием внедряется в более позднем выпуске .
Клиент, использующий 0.9.7m, по определению, предшествует CVE-2009-3555 и одновременно подвержен этой атаке, а также не может выполнять безопасное повторное согласование.
Что касается того, что может вызвать повторное согласование, вы можете отслеживать это по-разному Ent RFC: TLS v1.0 , TLS v1.1 , TLS v1.2 . Различные сообщения в блогах , анализирующие CVE-2009-3555, также содержат подробную информацию о том, когда это происходит.
И относительно того, может ли это быть принудительно с помощью подкоманды s_client
в целях тестирования, да, это задокументировано на странице руководства :
ПОДКЛЮЧЕННЫЕ КОМАНДЫ
Если соединение установлено с сервером SSL, то отображаются любые данные, полученные от сервера, и любые нажатия клавиш будут отправлены на сервер. При интерактивном использовании (что означает, что ни -quiet, ни -ign_eof не заданы), сеанс будет повторно согласован, если строка начинается с R [...]
Это также можно сделать программно ].