Я настраиваю stunnel
сервер в Windows XP, и я получаю эту ошибку, когда клиент пытается получить доступ:
2013.02.14 00:02:16 LOG7[8848:7664]: Service [https] accepted (FD=320) from 107.20.36.147:56160
2013.02.14 00:02:16 LOG7[8848:7664]: Creating a new thread
2013.02.14 00:02:16 LOG7[8848:7664]: New thread created
2013.02.14 00:02:16 LOG7[8848:9792]: Service [https] started
2013.02.14 00:02:16 LOG5[8848:9792]: Service [https] accepted connection from 107.20.36.147:56160
2013.02.14 00:02:16 LOG7[8848:9792]: SSL state (accept): before/accept initialization
2013.02.14 00:02:16 LOG7[8848:9792]: SSL alert (write): fatal: handshake failure
2013.02.14 00:02:16 LOG3[8848:9792]: SSL_accept: 1408A10B: error:1408A10B:SSL routines:SSL3_GET_CLIENT_HELLO:wrong version number
2013.02.14 00:02:16 LOG5[8848:9792]: Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
2013.02.14 00:02:16 LOG7[8848:9792]: Local socket (FD=320) closed
2013.02.14 00:02:16 LOG7[8848:9792]: Service [https] finished (0 left)
Есть идеи, что с этим делать? Я читал в Интернете, что это может означать, что мой сервер рекламирует, что он может общаться по SSL3, но на самом деле это не так. Если это правда, я хотел бы знать, как я могу это исправить. Я редактирую stunnel.conf
файл, но не знаю, что в нем изменить, чтобы это исправить.
ОБНОВИТЬ:
Приведенное выше сообщение об ошибке отображается только тогда, когда клиент Twilio (то есть сервер Twilio) пытается получить доступ к моему серверу. Когда я пытаюсь получить доступ к своему серверу с одного из моих компьютеров, страница действительно появляется, но после того, как отображается содержимое, Chrome показывает страницу как «загружаемую» в течение примерно 30 секунд, в конце которой stunnel
выдается следующее сообщение:
transfer: s_poll_wait: TIMEOUTclose exceeded: closing
ОБНОВИТЬ:
Вот захват проволочной акулы: https://gist.github.com/cool-RR/4963477
Файл шапки: https://dl.dropbox.com/u/1927707/wireshark.cap
Обратите внимание, что сервер работает на порту 8088.
ОБНОВИТЬ:
Вот журнал с сервера (с debug = 7):
2013.02.17 17:06:52 LOG7[7636:2092]: No limit detected for the number of clients
2013.02.17 17:06:52 LOG5[7636:2092]: stunnel 4.54 on x86-pc-msvc-1500 platform
2013.02.17 17:06:52 LOG5[7636:2092]: Compiled/running with OpenSSL 1.0.1c-fips 10 May 2012
2013.02.17 17:06:52 LOG5[7636:2092]: Threading:WIN32 SSL:+ENGINE+OCSP+FIPS Auth:none Sockets:SELECT+IPv6
2013.02.17 17:06:52 LOG5[7636:2092]: Reading configuration from file stunnel.conf
2013.02.17 17:06:52 LOG5[7636:2092]: FIPS mode is enabled
2013.02.17 17:06:52 LOG7[7636:2092]: Compression not enabled
2013.02.17 17:06:52 LOG7[7636:2092]: Snagged 64 random bytes from C:\Documents and Settings\User/.rnd
2013.02.17 17:06:52 LOG7[7636:2092]: Wrote 1024 new random bytes to C:\Documents and Settings\User/.rnd
2013.02.17 17:06:52 LOG7[7636:2092]: PRNG seeded successfully
2013.02.17 17:06:52 LOG6[7636:2092]: Initializing service [https]
2013.02.17 17:06:52 LOG7[7636:2092]: Certificate: G:\Dropbox\StartSSL\SSL Cert.pem
2013.02.17 17:06:52 LOG7[7636:2092]: Certificate loaded
2013.02.17 17:06:52 LOG7[7636:2092]: Key file: G:\Dropbox\StartSSL\SSL Cert.pem
2013.02.17 17:06:52 LOG7[7636:2092]: Private key loaded
2013.02.17 17:06:52 LOG7[7636:2092]: Could not load DH parameters from G:\Dropbox\StartSSL\SSL Cert.pem
2013.02.17 17:06:52 LOG7[7636:2092]: Using hardcoded DH parameters
2013.02.17 17:06:52 LOG7[7636:2092]: DH initialized with 2048-bit key
2013.02.17 17:06:52 LOG7[7636:2092]: ECDH initialized with curve prime256v1
2013.02.17 17:06:52 LOG7[7636:2092]: SSL options set: 0x03000004
2013.02.17 17:06:52 LOG5[7636:2092]: Configuration successful
2013.02.17 17:06:52 LOG7[7636:2092]: Service [https] (FD=268) bound to 0.0.0.0:8088
2013.02.17 17:07:08 LOG7[7636:2092]: Service [https] accepted (FD=320) from 54.242.25.199:45922
2013.02.17 17:07:08 LOG7[7636:2092]: Creating a new thread
2013.02.17 17:07:08 LOG7[7636:2092]: New thread created
2013.02.17 17:07:08 LOG7[7636:8004]: Service [https] started
2013.02.17 17:07:08 LOG5[7636:8004]: Service [https] accepted connection from 54.242.25.199:45922
2013.02.17 17:07:08 LOG7[7636:8004]: SSL state (accept): before/accept initialization
2013.02.17 17:07:08 LOG7[7636:8004]: SSL alert (write): fatal: handshake failure
2013.02.17 17:07:08 LOG3[7636:8004]: SSL_accept: 1408A10B: error:1408A10B:SSL routines:SSL3_GET_CLIENT_HELLO:wrong version number
2013.02.17 17:07:08 LOG5[7636:8004]: Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
2013.02.17 17:07:08 LOG7[7636:8004]: Local socket (FD=320) closed
2013.02.17 17:07:08 LOG7[7636:8004]: Service [https] finished (0 left)
ОБНОВИТЬ:
Ответы:
Вы должны сделать захват сети и понять, почему он был отклонен. Также проверьте журналы на обеих конечных точках. Увеличьте
debug
уровень в конф.Вам необходимо выполнить сетевую трассировку, чтобы выяснить, какую версию протокола SSL поддерживает клиент. Затем убедитесь, что ваш сервер также поддерживает эту версию.
Источник
Обратите внимание, что протокол SSL был изменен несколько лет назад из-за ошибки безопасности при повторном согласовании. См. CVE-2009-3555 и эту страницу о пересмотре SSL
Сервер отвечает:
Вы должны проверить журналы на сервере SSL, чтобы понять, почему он отказался от подключения. Попробуйте включить SSL отладки на Stunnel с:
debug=7
.stunnel
Сервер имеетoptions = NO_SSLv3
, но клиент пытается подключиться с помощью SSLv3. Вам необходимо обновить клиент для поддержки более новой версии SSL или изменитьstunnel
конфигурацию для принятия SSLv3.источник
fips = no
понизьте уровень безопасности, добавив в stunnel.confЭто может быть несоответствие версии SSL между клиентом и сервером. Убедитесь, что клиент настроен только для SSL3, отключив старые версии SSL на клиенте.
источник