Soru Hatalı sunucu kurulumu: "SSL3_GET_CLIENT_HELLO: yanlış sürüm numarası"


Ben kuruyorum stunnel Windows XP'de sunucu ve bir istemci erişmeye çalıştığında bu hatayı alıyorum:

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)

Bu konuda ne yapacağınız hakkında bir fikrin var mı? Çevrimiçi olarak bunun, sunucumun SSL3'te iletişim kurabildiği ancak gerçekte yapamayacağı reklamcılık yaptığı anlamına gelebileceğini okudum. Eğer bu doğruysa, bunu nasıl düzeltebileceğimi bilmek isterim. Düzenliyorum stunnel.conf Dosyayı düzeltmek için ne değiştireceğimi bilmiyorum.

GÜNCELLEŞTİRME:

Yukarıdaki hata iletisi yalnızca Twilio istemcisi (yani, Twilio'nun sunucusu) sunucuma erişmeye çalıştığında görünür. Sunucum bilgisayarlarımdan birine erişmeye çalıştığımda, sayfa görünür, ancak içerikler gösterildikten sonra Chrome, sayfayı yaklaşık 30 saniye boyunca "yükleme" olarak gösterir. stunnel bu mesajı verir:

transfer: s_poll_wait: TIMEOUTclose exceeded: closing

GÜNCELLEŞTİRME:

İşte wireshark yakalama: https://gist.github.com/cool-RR/4963477

Kap dosya: https://dl.dropbox.com/u/1927707/wireshark.cap

Sunucunun 8088 bağlantı noktasında çalıştığını unutmayın.

GÜNCELLEŞTİRME:

İşte sunucudan günlük (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)

GÜNCELLEŞTİRME:

İşte benim stunnel.conf dosya.


9
2018-02-08 02:03


Menşei


Dropbox dosyası eksik görünüyor. Sunucu HTTP / 404'ü döndürüyor - Mircea Vutcovici
@MirceaVutcovici Üzgünüm, şimdi sabit. - Ram Rachum
Sorudaki ödülünü 100 puan artırdım. - Ram Rachum
Stunnel.conf dosyasını da ekleyebilir misiniz? Sunucunuzun SSLv3.0 bağlantılarını reddediyor gibi görünüyor - Stephane
Şimdi dahil - Ram Rachum


Cevaplar:


Bir ağ yakalama yapmalı ve neden reddedildiğini görmelisiniz. Ayrıca her iki uç noktadaki günlükleri de kontrol edin. Artırın debug stunnel içinde seviye conf.

İstemcinin desteklediği SSL protokolünün hangi sürümünün olduğunu belirlemek için bir ağ izlemesi yapmanız gerekir. Ardından sunucunuzun bu sürümü desteklediğinden emin olun.

Bir müşteri, en yüksek TLS'yi belirten bir ClientHello mesajı gönderir   protokol sürümü destekler, rastgele bir sayı, önerilen bir liste   CipherSuites ve önerilen sıkıştırma yöntemleri.

Kaynak

SSL protokolünün bir kaç yıl önce yeniden müzakerede bir güvenlik hatası nedeniyle değiştirildiğini lütfen unutmayın. Görmek CVE-2009-3555 ve bu sayfa SSL Yeniden Anlaşmasında

Sunucu şu şekilde yanıt veriyor:

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)

Bağlantıyı neden reddettiğini görmek için SSL sunucusundaki günlükleri kontrol etmelisiniz. Aşağıdakilerle stunnel'de SSL hata ayıklamayı etkinleştirmeyi deneyin: debug=7.

stunnel sunucu var options = NO_SSLv3ancak istemci SSLv3 kullanarak bağlanmaya çalışıyor. SSL'nin daha yeni bir sürümünü desteklemek için istemciyi yükseltmeniz gerekiyor veya değiştirmeniz gerekiyor. stunnel SSLv3'ü kabul edecek yapılandırma.


3
2018-02-12 20:34



Soruyu daha fazla ayrıntıyla güncelledim. Ağ yakalama yapmak için bana hala ihtiyacım var mı? - Ram Rachum
Evet, hangi istemcinin SSL istemcisi tarafından desteklendiğini bilmek için. - Mircea Vutcovici
Bir Wireshark yakalama yaptım ve soruya bağlı. - Ram Rachum
Tamam, sorun FIPS modunun etkin olması (FIPS ile derlenmiş stunnel'de varsayılan olarak etkindir) ve istemcinin SSLv3 kullanarak bağlanmaya çalıştığıdır (varsayalım, günlüklerden veya ağ yakalamalarından onaylamanız gerekir). Ancak FIPS sadece TLSv1 veya daha yeni ile çalışıyor. - Mircea Vutcovici
2 çözümünüz var: 1. SSL istemcisini (Twilio) yükseltin. 2. FIPS uyumluluğunu devre dışı bırakın ve ekleyerek güvenliği azaltın. fips = no stunnel.conf'a - Mircea Vutcovici


İstemci ve sunucu arasında bir SSL sürümü uyuşmazlığı olabilir. İstemcinin eski SSL sürümlerini devre dışı bırakarak istemcinin yalnızca SSL3 için yapılandırıldığından emin olun.


0
2018-02-10 02:31



Bunu nasıl yapacağımı bilmiyorum. - Ram Rachum