Lỗi thiết lập máy chủ stunnel: `SSL3_GET_CLIENT_HELLO: số phiên bản sai`


9

Tôi đang thiết lập stunnelmáy chủ trên Windows XP và tôi gặp lỗi này khi khách hàng cố truy cập:

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)

Bất cứ ý tưởng phải làm gì về điều này? Tôi đọc trên mạng rằng điều này có thể có nghĩa là máy chủ của tôi đang quảng cáo rằng nó có thể giao tiếp trong SSL3 nhưng thực tế thì không thể. Nếu điều này là đúng, tôi muốn biết làm thế nào tôi có thể sửa nó. Tôi đang chỉnh sửa stunnel.conftệp nhưng tôi không biết phải thay đổi tệp nào để sửa lỗi này.

CẬP NHẬT:

Thông báo lỗi ở trên chỉ hiển thị khi ứng dụng khách Twilio (tức là máy chủ của Twilio) cố gắng truy cập máy chủ của tôi. Khi tôi cố gắng truy cập máy chủ của mình bằng một trong các máy tính của mình, trang sẽ hiển thị, nhưng sau khi nội dung hiển thị, Chrome hiển thị trang là "đang tải" trong khoảng 30 giây, ở cuối stunnelthông báo sẽ đưa ra thông báo này:

transfer: s_poll_wait: TIMEOUTclose exceeded: closing

CẬP NHẬT:

Đây là cách chụp wireshark: https://gist.github.com/cool-RR/4963477

Tệp giới hạn: https://dl.dropbox.com/u/1927707/wireshark.cap

Lưu ý rằng máy chủ chạy trên cổng 8088.

CẬP NHẬT:

Đây là nhật ký từ máy chủ (với 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)

CẬP NHẬT:

Đây là stunnel.conftập tin của tôi .


Các tập tin dropbox dường như bị thiếu. Máy chủ đang trả lại HTTP / 404
Mircea Vutcovici

@MirceaVutcovici Xin lỗi, đã sửa ngay.
Ram Rachum

Tôi đã tăng tiền thưởng cho câu hỏi lên 100 điểm.
Ram Rachum

1
Bạn có thể vui lòng bao gồm tập tin stunnel.conf không? Bởi vì có vẻ như máy chủ của bạn đang từ chối các kết nối SSLv3.0
Stephane

Bao gồm nó ngay bây giờ
Ram Rachum

Câu trả lời:


3

Bạn nên thực hiện một chụp mạng và xem tại sao nó bị từ chối. Cũng kiểm tra các bản ghi trên cả hai điểm cuối. Tăng debugcấp độ trong stunnel conf.

Bạn cần tạo một dấu vết mạng để tìm ra phiên bản nào của giao thức SSL mà máy khách đang hỗ trợ. Sau đó, đảm bảo rằng máy chủ của bạn cũng hỗ trợ phiên bản đó.

Một khách hàng gửi một thông điệp ClientHello chỉ định phiên bản giao thức TLS cao nhất mà nó hỗ trợ, một số ngẫu nhiên, một danh sách các CextSuites được đề xuất và các phương thức nén được đề xuất.

Nguồn

Xin lưu ý rằng giao thức SSL đã được thay đổi vài năm trước vì lỗi bảo mật trong quá trình đàm phán lại. Xem CVE-2009-3555trang này về Đổi mới SSL

Máy chủ đang phản hồi với:

Secure Sockets Layer
    SSLv3 Record Layer: Alert (Level: Fatal, Description: Handshake Failure)
        Content Type: Alert (21)
        Version: SSL 3.0 (0x0300)
        Length: 2
        Alert Message
            Level: Fatal (2)
            Description: Handshake Failure (40)

Bạn phải kiểm tra nhật ký trên máy chủ SSL để xem tại sao nó từ chối kết nối. Cố gắng bật gỡ lỗi SSL trên stunnel bằng : debug=7.

Máy stunnelchủ có options = NO_SSLv3, nhưng máy khách đang cố gắng kết nối bằng SSLv3. Bạn cần nâng cấp máy khách để hỗ trợ phiên bản SSL mới hơn hoặc bạn cần thay đổi stunnelcấu hình để chấp nhận SSLv3.


Tôi đã cập nhật câu hỏi với nhiều chi tiết hơn. Bạn vẫn cần tôi để chụp mạng?
Ram Rachum

Có, để biết phiên bản nào được máy khách SSL hỗ trợ.
Mircea Vutcovici

Tôi đã thực hiện một cú bắt Wireshark và liên kết với nó trong câu hỏi.
Ram Rachum

1
Ok, vấn đề là bạn đã bật chế độ Trin (nó được bật theo mặc định trong stunnel được biên dịch với Trin) và máy khách đang cố gắng kết nối bằng SSLv3 (tôi giả sử, bạn phải xác nhận từ nhật ký hoặc chụp mạng). Nhưng Trin chỉ hoạt động với TLSv1 hoặc mới hơn.
Mircea Vutcovici

1
Bạn có 2 giải pháp: 1. nâng cấp ứng dụng khách SSL (Twilio). 2. vô hiệu hóa tuân thủ mật khẩu và hạ thấp bảo mật, bằng cách thêm fips = novào stunnel.conf
Mircea Vutcovici

0

Nó có thể là phiên bản SSL không khớp giữa máy khách và máy chủ. Đảm bảo máy khách chỉ được cấu hình cho SSL3, bằng cách vô hiệu hóa các phiên bản SSL cũ hơn trên máy khách.


Tôi không biết làm thế nào để làm điều đó.
Ram Rachum
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.