Stunnel จะไม่ทำงานกับ SSLv3 จากโฮสต์บางแห่ง


9

คำเตือน: SSLv3 เป็นล้าสมัย พิจารณาปิดการใช้งานทั้งหมด

ฉันกำลังพยายามตั้งค่า Stunnel ไปยังเซิร์ฟเวอร์เป็นแคช SSL ทุกอย่างราบรื่นและส่วนใหญ่ทำงานตามที่ออกแบบไว้

จากนั้นฉันก็พบข้อผิดพลาดในไฟล์บันทึก:

 SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

ไม่ใช่ลูกค้าทุกคนเรียกสิ่งนั้นด้วยเหตุผลแปลก ๆ การเชื่อมต่อจาก CentOS โดยใช้ลิงก์ - ข้อผิดพลาดปรากฏขึ้น (ลองหลายเครื่อง) การเชื่อมต่อจาก Ubuntu โดยใช้ลิงก์ - ไม่มีข้อผิดพลาด

ลองใช้ wget และทุกอย่างราบรื่นด้วย TLSv1 แต่ข้อผิดพลาดแสดงขึ้นด้วย SSLv3 ในเวลาเดียวกันรายงาน wget:

OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

ไม่สามารถสร้างการเชื่อมต่อ SSL

นี่คือการกำหนดค่าของฉัน:

pid = /etc/stunnel/stunnel.pid
debug = 3
output = /etc/stunnel/stunnel.log

socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1

verify=3    

; fixing "fingerprint does not match" error
fips=no

[https]
accept=12.34.56.78:443
connect=127.0.0.1:80
TIMEOUTclose=0
xforwardedfor=yes
CAfile = /path/to/ssl/example.com.cabundle
cert=/path/to/ssl/example.com.crt
key=/path/to/ssl/example.com.key

ใครมีความเข้าใจในสิ่งที่เกิดขึ้นที่นี่? Googled เป็นเวลาหลายชั่วโมงแล้วคิดไม่ออก

รุ่น OpenSSL: OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

เวอร์ชั่น Stunnel: 4.32

แก้ไข:

นี่คือผลลัพธ์ของ openssl s_client -connect example.com:443 -ssl3

CONNECTED(00000004)
3897:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40
3897:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:530:

เช่นเดียวกันกับ-tls1งานตกลงโดยไม่มีข้อผิดพลาดใด ๆ


คำตอบ:


10

ตกลงปัญหาได้รับการแก้ไข ... ฉันเพิ่มสิ่งนี้ลงในการกำหนดค่า:

sslVersion = all
options = NO_SSLv2

เท่าที่ฉันเข้าใจข้อผิดพลาดเกี่ยวข้องกับ SSLv23 ตอนนี้ทำงานได้ตามที่คาดไว้


ฉันยังต้องการเพิ่มfips = no
Steve Tauber

คุณสามารถเพิ่มoption = NO_SSLv3เพื่อบังคับให้เลือกหนึ่งในตัวแปร TLS
Tedford

6

SSL3_GET_RECORD:wrong version numberเป็นกุญแจสำคัญ ดูเหมือนว่าคมในระบบ CentOS ของคุณไม่ได้ใช้ SSLv3

การตรวจสอบพฤติกรรมที่แน่นอนด้วยopenssl s_client:

ตรวจสอบว่าเกิดอะไรขึ้นกับ SSLv3 เพียง:

openssl s_client -connect server:443 -ssl3

และด้วย TLS เพียง:

openssl s_client -connect server:443 -tls1

แก้ไขโพสต์เพื่อให้รายละเอียดเพิ่มเติม
Sergey

ลองเพิ่ม-no_ticketในความพยายาม SSLv3 ดูเหมือนว่าบั๊ก OpenSSLนี้
เชนแมดเดน

อืมแสดงตัวเลือกที่ไม่รู้จัก
Sergey

@ เซ่อนั่น .. แปลก คุณได้openssl versionอะไรจาก
เชนหัวเสีย

0

ฉันต้องตั้งค่า

options = -NO_SSLv3

เพื่อปิดการใช้งานตัวเลือกเริ่มต้นในขณะนี้ของ NO_SSLv3 (เซิร์ฟเวอร์ที่เชื่อมต่อกับไม่ใช้ TLS)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.