স্ট্যান্ডেল সার্ভার আপ করার জন্য বাগটি: `SSL3_GET_CLIENT_HELLO: ভুল সংস্করণ নম্বর`


9

আমি stunnelউইন্ডোজ এক্সপিতে একটি সার্ভার স্থাপন করছি এবং যখন কোনও ক্লায়েন্ট অ্যাক্সেস করার চেষ্টা করে তখন আমি এই বাগটি পাই:

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)

কোন ধারণা এই সম্পর্কে কি করতে হবে? আমি অনলাইনে পড়েছি যে এর অর্থ এই হতে পারে যে আমার সার্ভারটি বিজ্ঞাপন দিচ্ছে যে এটি এসএসএল 3 এ যোগাযোগ করতে পারে তবে বাস্তবে তা করতে পারে না। যদি এটি সত্য হয় তবে আমি কীভাবে এটি ঠিক করতে পারি তা জানতে চাই। আমি stunnel.confফাইলটি সম্পাদনা করছি তবে এটি ঠিক করার জন্য এটিতে কী পরিবর্তন করা উচিত তা আমার কোনও ধারণা নেই।

হালনাগাদ:

উপরের ত্রুটি বার্তাটি তখনই প্রদর্শিত হয় যখন টোভিলিও ক্লায়েন্ট (অর্থাত্ টোলিওর সার্ভার) আমার সার্ভারটি অ্যাক্সেস করার চেষ্টা করে। আমি যখন আমার কম্পিউটারগুলির মধ্যে একটি দিয়ে আমার সার্ভারটি অ্যাক্সেস করার চেষ্টা করি, পৃষ্ঠাটি প্রদর্শিত হয়, তবে সামগ্রীগুলি প্রদর্শিত হওয়ার পরে, ক্রোম পৃষ্ঠাটি প্রায় 30 সেকেন্ডের জন্য "লোডিং" হিসাবে দেখায়, যার শেষে stunnelএই বার্তাটি দেয়:

transfer: s_poll_wait: TIMEOUTclose exceeded: closing

হালনাগাদ:

এখানে ওয়্যারশার্ক ক্যাপচারটি রয়েছে: https://gist.github.com/cool-RR/4963477

ক্যাপ ফাইল: https://dl.roidbox.com/u/1927707/wireshark.cap

নোট করুন যে সার্ভারটি 8088 পোর্টে চলে।

হালনাগাদ:

সার্ভার থেকে লগটি এখানে রয়েছে (ডিবাগ = 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)

হালনাগাদ:

এখানে আমার stunnel.confফাইল।


ড্রপবক্স ফাইলটি অনুপস্থিত বলে মনে হচ্ছে। সার্ভারটি HTTP / 404
মিরেসিয়া ভুটকোভিচি

@ মিরসেভাটকোভিচি দুঃখিত, এখনই ঠিক করা হয়েছে।
রাম রাছুম

আমি প্রশ্নে অনুগ্রহটি 100 পয়েন্টে বাড়িয়েছি।
রাম রাছুম

1
আপনি কি দয়া করে পাশাপাশি স্টানল.কনফ ফাইলও অন্তর্ভুক্ত করতে পারেন? কারণ দেখে মনে হচ্ছে আপনার সার্ভার SSLv3.0 সংযোগগুলি প্রত্যাখ্যান করছে
স্টিফেন

এটি এখন অন্তর্ভুক্ত করা হয়েছে
রাম রাছুম

উত্তর:


3

আপনার একটি নেটওয়ার্ক ক্যাপচার করা উচিত এবং এটি কেন প্রত্যাখ্যান করা হয়েছে তা দেখতে হবে। উভয় শেষ পয়েন্টে লগগুলি পরীক্ষা করুন check debugস্টানেল কনফেমে লেভেল বাড়ান ।

ক্লায়েন্টটি এসএসএল প্রোটোকলের কোন সংস্করণ সমর্থন করছে তা নির্ধারণ করার জন্য আপনাকে একটি নেটওয়ার্ক ট্রেস তৈরি করতে হবে। তারপরে নিশ্চিত হয়ে নিন যে আপনার সার্ভারটিও সেই সংস্করণটিকে সমর্থন করে।

একটি ক্লায়েন্ট একটি ক্লায়েন্টহেলো বার্তা প্রেরণ করে যাতে এটি সমর্থন করে সর্বোচ্চ টিএলএস প্রোটোকল সংস্করণ, একটি এলোমেলো সংখ্যা, প্রস্তাবিত সাইফারসাইটগুলির একটি তালিকা এবং প্রস্তাবিত সংকোচন পদ্ধতির তালিকা করে।

সূত্র

দয়া করে নোট করুন যে পুনর্নির্মাণে সুরক্ষা বাগের কারণে কয়েক বছর আগে এসএসএল প্রোটোকল পরিবর্তন করা হয়েছিল। সিভিই-২০০৯-৩55৫৫ এবং এসএসএল পুনর্নির্মাণের এই পৃষ্ঠাটি দেখুন

সার্ভার এর সাথে সাড়া দিচ্ছে:

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)

এটি সংযোগ কেন অস্বীকার করেছে তা দেখতে আপনাকে এসএসএল সার্ভারে লগগুলি পরীক্ষা করতে হবে। SSL এর সাথে stunnel উপর ডিবাগ সক্ষম করতে চেষ্টা করুন: debug=7

stunnelসার্ভার রয়েছে options = NO_SSLv3কিন্তু ক্লায়েন্ট SSLv3 ব্যবহার সংযোগ করার চেষ্টা করছে। এসএসএলের নতুন সংস্করণ সমর্থন করার জন্য আপনাকে ক্লায়েন্টকে আপগ্রেড করতে হবে বা stunnelএসএসএলভি 3 গ্রহণ করার জন্য আপনার কনফিগারেশনটি পরিবর্তন করতে হবে ।


আমি আরও বিশদ সহ প্রশ্নটি আপডেট করেছি। আপনার কি আমার এখনও নেটওয়ার্ক ক্যাপচার করার দরকার আছে?
রাম রাছুম

হ্যাঁ, এসএসএল ক্লায়েন্ট দ্বারা কোন সংস্করণ সমর্থিত তা জানতে।
মিরেসিয়া ভুটকোভিচি

আমি একটি ওয়্যারশার্ক ক্যাপচার করেছি এবং এটির সাথে প্রশ্নের সাথে লিঙ্ক করেছি।
রাম রাছুম

1
ঠিক আছে, সমস্যাটি হ'ল আপনি সিএফসি মোড সক্ষম করেছেন (এটি স্ট্র্যান্ডে ডিফল্টরূপে এফআইএডি সংকলিত রয়েছে) এবং ক্লায়েন্টটি এসএসএভি 3 ব্যবহার করে সংযোগ দেওয়ার চেষ্টা করছে (আমি ধরে নিচ্ছি, আপনাকে লগ বা নেটওয়ার্ক ক্যাপচার থেকে নিশ্চিত করতে হবে)। তবে FIPS কেবলমাত্র টিএলএসভি 1 বা আরও নতুন দিয়ে কাজ করছে।
মিরেসিয়া ভুটকোভিচি

1
আপনার 2 টি সমাধান রয়েছে: 1. এসএসএল ক্লায়েন্টকে আপগ্রেড করুন (ট্যুইলিও)। ২. fips = noস্ট্রেন.এলএফ যোগ করে সুরক্ষা কমিয়ে দিন - সুরক্ষা কমিয়ে দিন
মিরেসিয়া ভুটকোভিসি

0

এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি SSL সংস্করণ মেলেনি। ক্লায়েন্টটি কেবল SSL3- এর জন্য ক্লায়েন্টের পুরানো এসএসএল সংস্করণগুলি অক্ষম করে কনফিগার করা হয়েছে তা নিশ্চিত করুন।


কীভাবে করব তা আমার কোনও ধারণা নেই।
রাম রাছুম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.