Как можно отключить безопасное повторное согласование, инициированное клиентом в stunnel4? Я использую stunnel версии 4.53-1.1ubuntu1 в Ubuntu 14.04 Trusty с OpenSSL 1.0.1f и stunnel 4.53-1.1 в Debian Wheezy с OpenSSL 1.0.1e.
В stunnel docs перечисляет вариант для этого:
повторное согласование = да | нет
поддержка повторного согласования SSL
но, к сожалению, это приводит к следующей ошибке:
Строка 70: «renegotiation = no»: указанное имя параметра здесь недопустимо.
Но где действует этот вариант? Я пробовал это для отдельных сервисов (что в любом случае не имеет смысла), но это тоже не сработало. В документации по этому поводу не очень много подробностей, и я не смог найти никакой информации об этом в поисковых системах.
Кто-нибудь знает, как это правильно сделать?
Я использовал следующую минимальную конфигурацию:
pid=/stunnel4.pid
debug = 5
output = /var/log/stunnel4/stunnel.log
cert = /etc/ssl/certs/ssl-cert-snakeoil.pem
key = /etc/ssl/private/ssl-cert-snakeoil.key
renegotiation = no
[https]
accept = 443
connect = localhost:8000
Эти тесты показали, что повторное согласование поддерживается:
Слтесты Qualys показывают:
Безопасное инициированное клиентом повторное согласование: поддерживаемая ОПАСНОСТЬ DoS (подробнее)
Выполнение этого вручную с помощью openssl также подтверждает:
$ openssl s_client -connect localhost:443
CONNECTED(00000003)
[...]
---
R
RENEGOTIATING
depth=0 CN = mint.home
verify error:num=18:self signed certificate
verify return:1
depth=0 CN = mint.home
verify return:1
В соответствии с Stunnel ChangeLog, renegotiation
параметр был добавлен в stunnel версия 4.54. Это объясняет, почему stunnel 4.53 жалуется на
Указанное название опции здесь недействительно
Альтернативные решения: