হৃদয়যুক্ত: কীভাবে নির্ভরযোগ্যভাবে এবং বহনযোগ্যভাবে ওপেনএসএসএল সংস্করণটি চেক করবেন?


88

আমি জিএনইউ / লিনাক্স এবং অন্যান্য সিস্টেমে ওপেনএসএসএল সংস্করণটি যাচাই করার জন্য একটি নির্ভরযোগ্য এবং বহনযোগ্য উপায়ের দিকে চেয়ে ছিলাম যাতে ব্যবহারকারীরা সহজেই আবিষ্কার করতে পারে যে হার্টবেলড বাগের কারণে তাদের এসএসএল আপগ্রেড করা উচিত কিনা।

আমি ভেবেছিলাম এটি সহজ হবে তবে আমি দ্রুত উবুন্টু 12.04 এলটিএসে সর্বশেষ ওপেনএসএসএল ১.০.১ জি সহ একটি সমস্যার মধ্যে পড়ে গেলাম:

ওপেনসেল সংস্করণ - একটি

আমি একটি সম্পূর্ণ সংস্করণ দেখার আশা করছিলাম, তবে পরিবর্তে আমি এটি পেয়েছি:

ওপেনএসএসএল 1.0.1 14 মার্চ 2012
এতে নির্মিত: মঙ্গলবার 4 জুন 07:26:06 ইউটিসি 2013
প্ল্যাটফর্ম: [...]

আমার অপ্রীতিকর অবাক করার জন্য, সংস্করণ পত্রটি দেখায় না। কোনও এফ, কোনও জি নেই, কেবল "1.0.1" এবং এটিই। তালিকাভুক্ত তারিখগুলি কোনও (অ-) দুর্বল সংস্করণ আবিষ্কার করতে সহায়তা করে না।

1.0.1 (AF) এবং 1.0.1g এর মধ্যে পার্থক্যটি গুরুত্বপূর্ণ।

প্রশ্নাবলী:

  • সংস্করণটি পরীক্ষা করার একটি নির্ভরযোগ্য উপায় কী, পছন্দসই ডিগ্রো ক্রস করুন?
  • সংস্করণ চিঠিটি কেন প্রথম স্থানে প্রদর্শিত হচ্ছে না? আমি উবুন্টু 12.04 এলটিএস ছাড়া আর কোনও কিছুর উপর এটি পরীক্ষা করতে অক্ষম ছিলাম।

অন্যরাও এই আচরণটি রিপোর্ট করছে। কয়েকটি উদাহরণ:

কিছু (ডিসট্রো-নির্দিষ্ট) পরামর্শগুলি এতে রোলিং করছে:

  • উবুন্টু এবং ডেবিয়ান: apt-cache policy opensslএবং apt-cache policy libssl1.0.0। সংস্করণ নম্বরগুলি এখানে প্যাকেজগুলির সাথে তুলনা করুন: http://www.ubuntu.com/usn/usn-2165-1/
  • ফেডোরা 20: yum info openssl(টুইটারে @znmeb ধন্যবাদ) এবংyum info openssl-libs

ওপেনএসএসএল এর পুরানো সংস্করণটি এখনও বাসিন্দা কিনা তা পরীক্ষা করা হচ্ছে:

দেখা যাচ্ছে যে উবুন্টু এবং ডেবিয়ানে ওপেনএসএসএল প্যাকেজ আপডেট করা সর্বদা পর্যাপ্ত নয়। এছাড়াও আপনি libssl1.0.0 প্যাকেজ আপডেট করা উচিত, এবং যদি পরীক্ষা -then- openssl version -aইঙ্গিত built on: Mon Apr 7 20:33:29 UTC 2014


2
কমপক্ষে নিশ্চিত হয়ে নিন যে আপনার যে ওপেনএসএসএল সংস্করণটি দেখাচ্ছে তার তারিখের কারণে এটি জি নয়
প্যাটো সানিজ

3
এটি CentOS[root@null~]# openssl version -a OpenSSL 1.0.1e-fips 11 Feb 2013
জ্যাকব

1
@ প্যাটোসিনজ আমি যাচাই করেছি apt-cache policy opensslএবং এর সাথে প্রতিক্রিয়া জানিয়েছি: Installed: 1.0.1-4ubuntu5.12যা উবুন্টু 12.04 এলটিএসের জন্য সবে প্রকাশিত 1.0.1g g আমি লগ আউট করে ফিরে এসেছি verify যাচাই করার জন্য আমি আর কিছু করতে পারি?
মার্টিজন

1
আমি এটি উল্লেখ করব, এটি জানেন না, যদি এটি সহায়ক হয় ... তবে উবুন্টু 12.04 এলটিএস ওপেনএসএসএল 1.0.1 (ভ্যানিলা) দিয়ে পাঠানো হবে।
আশাহীন N00b 0

1
যদি সেই বিল্ডের তারিখটি সঠিক হয় তবে আপনি 1.0.1e এর চেয়ে সাম্প্রতিকতম "রিলিজ সংস্করণ" কোডটি রাখতে পারবেন না, যেহেতু 1.0.1f 2014 সালে ওপেনএসএসএল 1.0.1 প্রকাশের নোট অনুসারে প্রকাশিত হয়েছিল । অবশ্যই ব্যক্তিগত লাইন বা বিভাগগুলি অবশ্যই অফিসিয়াল ওপেনএসএসএল 1.0.1f প্রকাশের আগে অবশ্যই আপনার উবুন্টু সংস্করণে ব্যাকপোর্ট করা হয়েছে। এবং বিল্ডের তারিখটি সম্পূর্ণরূপে সহায়ক হতে পারে।
অ্যান্টি-দুর্বল পাসওয়ার্ডগুলি

উত্তর:


66

দ্বারা OpenSSL সংস্করণটি দ্বারা প্রদর্শিত তারিখ উপর ভিত্তি করে, আপনার মনে হয় হয় সেখানে প্রদর্শিত পূর্ণ সংস্করণ দেখতে পেল না।

ওপেন এসএসএল 1.0.1 প্রকাশিত হয়েছে 14 ই মার্চ, 2012 এ । 1.0.1a 2012 এপ্রিল 19 এ প্রকাশিত হয়েছিল।

সুতরাং, আমি এগিয়ে যাচ্ছি এবং এটি দৃsert়ভাবে বলতে যাচ্ছি openssl version -aযে এটি সিস্টেমে ইনস্টল থাকা ওপেনএসএসএল-এর সম্পূর্ণ সংস্করণটি প্রদর্শন করার জন্য সঠিক, ক্রস-ডিস্ট্রো উপায়। আমার কাছে সমস্ত লিনাক্স ডিস্ট্রোসের অ্যাক্সেসের জন্য এটি কাজ করে বলে মনে হয় এবং হেল্প.বুন্টু.কম ওপেনএসএসএল ডকুমেন্টেশনেও প্রস্তাবিত পদ্ধতিটি । উবুন্টু এলটিএস 12.04 সাথে ভ্যানিলা ওপেনএসএসএল ভি 1.0.1 প্রেরণ করা হয়েছে, এটির একটি চিঠি না থাকার কারণে সংস্করণটি সংক্ষিপ্ত সংস্করণের মতো দেখাচ্ছে looks

এটি বলার পরে, এটি প্রদর্শিত হবে যে উবুন্টুতে (বা তারা কীভাবে ওপেনএসএসএলকে প্যাকেজ করে) সেখানে একটি বড় ত্রুটি রয়েছে, এতে ওপেনএসএসএল যে openssl version -aকোনও একটিতে আপগ্রেড হয়েছে কিনা তা নির্বিশেষে 14 ই মার্চ, 2012 থেকে মূল 1.0.1 সংস্করণটি ফিরিয়ে দিতে থাকবে নতুন সংস্করণ। এবং বেশিরভাগ জিনিস যেমন বৃষ্টি হয় তখন তা .েলে দেয় ours

ওপেনএসএসএল (বা অন্যান্য প্যাকেজগুলি) আপডেট আপডেট করার অভ্যাসের ক্ষেত্রে উবুন্টু একমাত্র বড় বিভ্রান্তি নয়, প্রবাহিত আপডেটগুলি এবং সংস্করণ সংখ্যাটির উপর নির্ভর করে যে প্রত্যেকে স্বীকৃতি দেয় ter ওপেনএসএসএল-এর ক্ষেত্রে, যেখানে বর্ণের সংস্করণ সংখ্যাগুলি কেবল বাগ ফিক্স এবং সুরক্ষা আপডেটগুলি উপস্থাপন করে, এটি প্রায় অপ্রয়োজনীয় বলে মনে হয়, তবে আমাকে অবহিত করা হয়েছে যে এটি ওফএসএসএল-এর সাথে প্যাকেজযুক্ত প্রধান লিনাক্স ডিগ্রোস শিপ প্যাকেজের কারণে হতে পারে । পুনর্নির্মাণের আশেপাশের প্রয়োজনীয়তার কারণে যে কোনও পরিবর্তনের কারণে ট্রিগার হয়, এমনকি সুরক্ষা গর্তগুলিকে প্লাগ করে এমন পরিবর্তন করে এটি সংস্করণে লক থাকে।

উদাহরণস্বরূপ, ডেবিয়ানে, স্থির সংস্করণটি 1.0.1e-2+deb7u5এর প্রবাহের সংস্করণটির পরিবর্তে একটি সংস্করণ নম্বর প্রদর্শন করে 1.0.1g

ফলস্বরূপ, এই মুহুর্তে লিনাক্স ডিস্ট্রিবিউশন জুড়ে এসএসএল সংস্করণগুলি পরীক্ষা করার জন্য কোনও নির্ভরযোগ্য, পোর্টেবল উপায় নেই , কারণ তারা প্রত্যেকে বিভিন্ন নিজস্ব সংস্করণ সংখ্যা স্কিম সহ নিজস্ব ব্যাকপোর্টেড প্যাচ এবং আপডেট ব্যবহার করে। আপনার চালিত লিনাক্সের প্রতিটি বিভাজনের জন্য আপনাকে স্থির সংস্করণ নম্বরটি দেখতে হবে এবং আপনার সার্ভারগুলি কোনও দুর্বল সংস্করণ চলছে কিনা তা নির্ধারণ করতে সেই বিতরণের নির্দিষ্ট সংস্করণ সংখ্যার বিপরীতে ইনস্টল করা ওপেনএসএসএল সংস্করণটি পরীক্ষা করতে হবে।


3
আমার ইনস্টলটি একটি সহজ উবুন্টু 12.04 এলটিএস যা আমি নিজেই সংকলন করেছি বা উবুন্টু সংগ্রহস্থলগুলি ছাড়া অন্য উত্স থেকে ডাউনলোড করেছি without যদি উবুন্টু সংক্ষিপ্ত সংস্করণ সংখ্যার সাথে ওপেনএসএসএল বিতরণ করে তবে openssl version -aকোনও পোর্টেবল পদ্ধতি নয় (অন্তত উবুন্টুর কাছে পোর্টেবল নয়)। আমি যাচাই করেছি apt-cache policy opensslএবং এটির সাথে প্রতিক্রিয়া জানিয়েছি: Installed: 1.0.1-4ubuntu5.12যা উবুন্টু 12.04 এলটিএসের জন্য সবে প্রকাশিত 1.0.1g। আমি লগ আউট এবং চেক করার আগে ফিরে এসেছি।
মার্টিজন

19
হোপলেস এন 100 বি, ভার্সন সংস্করণগুলির পরিবর্তে ব্যাকপোর্টিং ফিক্সগুলির নীতি সম্পর্কে সন্দেহজনক কিছু নেই; এটি প্ল্যাটফর্মের স্থিতিশীলতা নিশ্চিত করার একটি খুব ভাল উপায়, যা সার্ভারের পরিবেশে অত্যন্ত কাম্য। যে কোনও সিদ্ধান্তের মতোই এর পরিণতিও রয়েছে, যা ব্যবহারকারীদের সচেতন হওয়া প্রয়োজন; তবে এটি " আমি foo xyz চালিয়ে যাচ্ছি তাই আমি সর্বশেষ শোষণের পক্ষে ঝুঁকির মধ্যে আছি না " যুক্তিটির লাইন, এটি কোনও খারাপ জিনিস করে না।
ম্যাডহ্যাটার

10
@ টুও সংস্করণ নম্বরগুলি একটি কারণে বিদ্যমান। যদি আমরা কেবল উইন্ডোটিতে প্রবাহিত সংস্করণ নম্বরগুলি ছাঁটাই করে ফেলি কারণ "এন্টারপ্রাইজ", বা যাই হোক না কেন, সংস্করণ সংখ্যার সাথে কেন বিরক্ত করবেন? পাশাপাশি কেবলমাত্র আমাদের সমস্ত সামগ্রীর নামকরণের সাথে নামকরণ শুরু করতে পারে May আমরা দুর্বল ওপেনএসএসএল সংস্করণগুলিকে হোলি হার্টবেলড এবং ফিক্সডগুলিকে কনিং কোগুল্যান্ট বলতে পারি
আশাহীন N00b 13

7
@ হোপলেস এন 00 বি আমি মনে করি আপনি "এটি XYZ সংস্করণে ঠিক করা হয়েছিল" ফাঁদে আটকে যাচ্ছেন, তারা সংস্করণ নম্বরগুলি অনুসরণ করেন না কারণ সর্বশেষ সংস্করণে আমদানি করা সমস্ত কিছু বাগ এবং সুরক্ষা ফিক্স। যদি তারা সংস্করণ নম্বরটি কাটাতে থাকে তবে আপনি অতিরিক্ত কার্যকারিতাও আশা করতে পারেন .. "আমার কাছে ওপেনএসএসএল বনাম এক্সওয়াইজেড আছে, কেন আমার কাছে ইসিডিএইচএ নেই ???? .. ইত্যাদি" আপনি যখন বুঝতে পারবেন যে এটি কেবল বাগফিক্স।
নিক ডব্লিউ

13
@ নিকডাব্লু @ জুবল @ ম্যাডহ্যাটার ওপেনএসএসএল-এর জিনিসটি যদিও এটি হ'ল: After the release of OpenSSL 1.0.0 the versioning scheme changed. Letter releases (e.g. 1.0.1a) can only contain bug and security fixes and no new features.সুতরাং, প্রবাহের সংস্করণ প্রকল্পটি ত্যাগ করে কিছুই লাভ হয় না; আপডেটগুলি ব্যাকপোর্টিং মূলত আপডেট হওয়া সংস্করণটি ব্যবহারের সমান, কারণ আপডেটটিতে কেবল সুরক্ষা এবং বাগ ফিক্সগুলি যেভাবেই অন্তর্ভুক্ত থাকে। এটি যা করে তা হ'ল জিনিসগুলিকে বিভ্রান্ত করা এবং লিনাক্স ডিস্ট্রোস জুড়ে ওপেনএসএসএল সংস্করণটি পোর্টেবলভাবে পরীক্ষা করার কোনও উপায় ছাড়াই আমাদের ছেড়ে যান।
আশাহীন N00b

18

যদি আপনি সত্যিকার অর্থে ক্রস প্ল্যাটফর্মের কিছু চান তবে সংস্করণ সংখ্যার উপর নির্ভর না করে দুর্বলতার জন্য নিজেই পরীক্ষা করুন।

আপনার কাছে এমন কোড থাকতে পারে যা এমন সংস্করণ সংখ্যার প্রতিবেদন করে যা দুর্বল বলে পরিচিত, তবে প্রকৃত কোডটি দুর্বল নয় । এবং বিপরীত - নিঃশব্দে দুর্বল কোড - আরও খারাপ হতে পারে!

অনেক বিক্রয়কারী যারা ওপেনএসএসএল এবং ওপেনএসএসএইচের মতো ওপেনসোর্স পণ্যগুলিকে বান্ডিল করেন তারা এপিআই স্থিতিশীলতা এবং ভবিষ্যদ্বাণীকে বজায় রাখার জন্য বেছে বেছে কোডের একটি পুরানো সংস্করণে জরুরি সমাধানগুলি পুনরায় প্রেরণ করবেন। এটি "দীর্ঘমেয়াদে মুক্তি" এবং অ্যাপ্লায়েন্স প্ল্যাটফর্মগুলির জন্য বিশেষত সত্য।

তবে যে বিক্রেতারা নিঃশব্দে এটি করে (তাদের নিজস্ব সংস্করণ স্ট্রিং প্রত্যয়টি যুক্ত না করে) তারা দুর্বলতা স্ক্যানারগুলিতে (এবং বিভ্রান্তকারী ব্যবহারকারীদের) মিথ্যা ইতিবাচক ট্রিগার করার ঝুঁকি চালায়। সুতরাং এটি স্বচ্ছ এবং যাচাইযোগ্য করার জন্য, কিছু বিক্রেতারা তাদের নিজস্ব স্ট্রিংগুলি প্রধান প্যাকেজ সংস্করণে সংযুক্ত করেন। ডেবিয়ান (ওপেনএসএসএল) এবং ফ্রিবিএসডি উভয়ই (ওপেনএসএসএইচে, VersionAddendumsshd_config নির্দেশিকার মাধ্যমে ) কখনও কখনও এটি করে।

যেসব বিক্রেতারা এটি করেন না তারা সম্ভবত অন্যান্য প্রোগ্রামগুলির সংস্করণ সংখ্যাগুলি পরীক্ষা করে এমন অনেক প্রত্যক্ষ বা অপ্রত্যক্ষ উপায়ে ভাঙ্গার সম্ভাবনা হ্রাস করার জন্য এটি করছেন।

সুতরাং এটি দেখতে এটি দেখতে পারেন:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"

$ openssl version
OpenSSL 1.0.1 14 Mar 2012

... যদিও এটি প্যাচ করা হয়েছে :

$ dpkg -l openssl | grep openssl
ii  openssl  1.0.1-4ubuntu5.12  [truncated]

$ ls -la `which openssl`
-rwxr-xr-x 1 root root 513208 Apr  7 12:37 /usr/bin/openssl

$ md5sum /usr/bin/openssl
ea2a858ab594905beb8088c7c2b84748  /usr/bin/openssl

খেলার মতো এই জিনিসগুলির সাথে, আপনি যদি সংস্করণ নম্বরটিতে বিশ্বাস না করেন তবে আপনি ভাল


এটি স্পষ্ট যে সংস্করণগুলি পরীক্ষা করা এতটা সহজ এবং রূপান্তরকারী নয় যতটা আমি আশা করি এটি হবে। দুর্বলতার জন্য পরীক্ষা করা ক্রস প্ল্যাটফর্ম, তবে এটি করা আরও কঠিন: আপনি যে নির্দিষ্ট দুর্বল সফ্টওয়্যার পরিষেবাটি চালাচ্ছেন তার জন্য আপনার কাছে একটি নির্ভরযোগ্য পিওসি বা পরীক্ষার ব্যবস্থা থাকতে হবে। এই ক্ষেত্রে এটি সমস্ত অ্যাপাচি এবং এনজিনেক্সের জন্য একটি পিসিও দিয়ে শুরু হয়েছিল। আমি যদি এই মুহুর্তে এসএসটিপি ব্যবহার করে কেবল এসএমটিপি ব্যবহার করি এবং আমি কী দুর্বল তা পরীক্ষা করতে চাই? শেষ পর্যন্ত আমাদের বেশিরভাগ পরিষেবাদির জন্য পরীক্ষা করা হবে, তবে এটি কিছুটা সময় নিতে পারে।
মার্টিজন

মার্তিজন, এটাই ফর্সা পয়েন্ট। যখন পরীক্ষা পাওয়া যায় না, তখন মাধ্যমিক পদ্ধতিগুলি (যেমন আপনার টার্গেট সিস্টেমে আক্রান্ত বাইনারিগুলির জন্য চেকসাম সন্ধান করা) কম অনুকূল হয় তবে কাজটি সম্পন্ন করার পক্ষে এটি যথেষ্ট ভাল হতে পারে ... এবং তারপরে পরবর্তী আগুনে চলে যেতে পারে। :-)
রইস উইলিয়ামস

14

দুর্ভাগ্যক্রমে, আমি নিশ্চিত নই যে এটি করার একটি ক্রস প্ল্যাটফর্মের উপায় আছে। আমি যখন কোনও ব্লগ পোস্টে আলোচনা করব , ওপেনএসএসএল এর সংস্করণটি একটি নির্দিষ্ট সংস্করণে আপগ্রেড করার পরে উবুন্টু 12.04 রেভারেজ 1.0.1.1 এ প্রদর্শিত হবে।

কেবলমাত্র উবুন্টু 12.04 এর জন্য, নীচের সমস্তগুলি সত্য হলে আপনি আপডেট হয়েছেন কিনা তা আপনি বলতে পারবেন:

  1. dpkg -s openssl | grep Version সংস্করণ 1.0.1-4ubuntu5.12 বা তার পরেরটি দেখায়।
  2. dpkg -s libssl1.0.0 | grep Version সংস্করণ 1.0.1-4ubuntu5.12 বা তার পরেরটি দেখায়।
  3. openssl version -a 2014 এপ্রিল, 2014 বা তার পরে "বিল্ট ইন" তারিখ দেখায়।

অতিরিক্ত তথ্যের জন্য @ আদনিকে ধন্যবাদ।


2
ঠিক আছে, সেই ক্ষেত্রে আমি অবশ্যই 1.0.1-4ubuntu5.12উবুন্টু 12.04 এলটিএসের জন্য প্যাকেজ সংস্করণটি যুক্ত করব। আপনি যদি উবুন্টু ১২.১০ তে থাকেন তবে আপনার কমপক্ষে সংস্করণটি দেখতে হবে 1.0.1c-3ubuntu2.7এবং আপনি যদি ১৩.১০ তে থাকেন তবে 1.0.1e-3ubuntu1.2উত্স অনুসারে এটি কমপক্ষে সংস্করণ হওয়া উচিত: উবুন্টু. com
মার্টিজন

1
দুর্ভাগ্যক্রমে এটি অপর্যাপ্ত। আপনাকে অবশ্যইlibssl1.0.0 উবুন্টুতে স্পষ্টভাবে আপগ্রেড করতে হবে । যদি আপনি এপ্রিল 7 2014 এর আগে তারিখে একটি বিল্ট দেখছেন তবে ওপেনসেল সংস্করণটি সঠিক দেখাচ্ছে ( 1.0.1-4ubuntu5.12উবুন্টু 12.04 এর জন্য) আপনি সম্ভবত এখনও ঝুঁকির মধ্যে রয়েছেন।
ড্যানি

@ এডান্নি আপনি শুধু আমাকে অনেক কাজ বাঁচিয়েছেন। আমি নির্ধারণের চেষ্টা করছিলাম যে কেন বিল্ডের তারিখটি কিছু 12.04 সিস্টেমে সঠিক ছিল এবং অন্যদের পক্ষে ভুল। আপনি একটি জীবনদাতা!
শোফ

openssl version -aএপ্রিল of এর বিল্ড ডেটের প্রয়োজন হতে পারে না, কারণ পুরানো রিলিজগুলিতে ফিক্সটি ব্যাকপোর্ট করা হচ্ছে।
প্যাট্রিক জেমস ম্যাকডোগল

4

নিম্নলিখিত চেষ্টা করুন। এটি ক্রিপ্টো লাইব্রেরি থেকে সমস্ত স্ট্রিং উত্তোলন করবে যার সাথে ssh লিঙ্কযুক্ত। এটি আউটপুট একাধিক লাইন উত্পাদন করে, তবে প্রয়োজনে 1 লাইনে রূপান্তর করা যেতে পারে।

ldd `which ssh` | awk '/\// { print $3 }' | grep crypto | xargs strings  | grep OpenSSL

উত্পাদন করে

OpenSSLDie
DSA_OpenSSL
...
MD4 part of OpenSSL 1.0.1f 6 Jan 2014 
MD5 part of OpenSSL 1.0.1f 6 Jan 2014
... 
etc

উদীয়মান আগে জেন্টু উপর

[ebuild     U  ] dev-libs/openssl-1.0.1f [1.0.1c] USE="bindist (sse2) tls-heartbeat%* zlib -gmp -kerberos -rfc3779 -static-libs {-test} -vanilla" 4,404 kB

উপরের কমান্ডের ফলাফল

...
OpenSSL 1.0.1c 10 May 2012

পরে

...
OpenSSL 1.0.1f 6 Jan 2014

খুব, এখনও কোন জি।


3
আমি ভেবেছিলাম আপনি একটি ভাল সমাধান সরবরাহের খুব কাছাকাছি ছিলেন, তবে দুর্ভাগ্যক্রমে এটি উবুন্টু 12.04 এলটিএস-তে ক্রিপ্টো লাইব্রেরির জন্য কাজ করে না। এটি সংস্করণ সহ সমস্ত স্ট্রিংগুলি দেখায় [...] part of OpenSSL 1.0.1 14 Mar 2012, একইভাবে প্রদর্শন openssl version -aকরে। এটি এমন একটি কৌশল যা অন্য ক্ষেত্রে যদিও কাজ করতে পারে!
মার্টিজন

@ মার্তিজন ভাল এটি দুর্ভাগ্যজনক, তবে এটি উবুন্টু ১২.১০ তে কাজ করে। অদ্ভুত যে এটি 12.04-এ নিজেকে ভুল চিহ্নিত করবে identify একাধিক libs আছে? এটি কি ssh সর্বাধিক আপ টু ডেট ব্যবহার করে না?
waTeim

আমি অন্য কোনও ওপেনসেল বাইনারি বা ক্রিপ্টো লাইব্রেরি খুঁজে পাইনি। এটি অন্যদের দ্বারা প্রস্তাবিত হয়েছে যে পার্থক্যটি হ'ল, 12.04 এলটিএস-তে, উবুন্টু সংস্করণটি বড় না করেই 1.0.1 এ পরিবর্তনগুলি ব্যাকপোর্ট করছে। যদিও 12.10 একটি এলটিএস নয় এবং তাই উবুন্টু ব্যাকপোর্টের পরিবর্তে সেখানে সর্বশেষতম সংস্করণ ব্যবহার করে।
মার্টিজন

2

এই স্ক্রিপ্টগুলির মধ্যে কি সমস্ত পরিষেবা পরীক্ষা করে, বা তারা কেবল এইচটিটিপিএস পরীক্ষা করে ? আফাইক , পোস্টগ্রাএসকিউএল ঝুঁকিপূর্ণ, তবে কোনও বন্য-আক্রমণে উপরিভাগ না আসা পর্যন্ত এটি কেবল একটি গুজব।

ব্যবহারের জন্য একটি মেটাস্প্লিট স্ক্রিপ্ট উপলব্ধ।

https://github.com/rapid7/metasploit-framework/commit/dd69a9e5dd321915e07d8e3dc8fe60d3c54f551a

আপনি এটি টাইপ করতে পারেন ( 2014-01-14 তারিখের GnuWin32 ওপেনএসএসএল বাইনারি সংস্করণ 1.0.1.6 এর সাথে পরীক্ষিত ), বা কেবল এইটির নীচে দেওয়া মন্তব্যে স্ক্রিপ্টটি ব্যবহার করতে পারেন। এটি আরও নির্ভুল এবং সহজ!

s_client -connect a23-75-248-141.deploy.static.akamaitechnologies.com:443 -debug -state

একবার সংযুক্ত বি টাইপ করুন এবং আপনি একটি দুর্বল হোস্টে দেখতে পাবেন এবং আপনার সংযোগ বিচ্ছিন্ন হবে না:

B

HEARTBEATING
write to 0x801c17160 [0x801cbc003] (66 bytes => 66 (0x42))
0000 - 18 03 03 00 3d 8f 6f 3c-52 11 83 20 9c a2 c0 49   ....=.o 5 (0x5))
0000 - 18 03 03 00 3d                                    ....=
read from 0x801c17160 [0x801cb7008] (61 bytes => 61 (0x3D))
0000 - 05 4d f5 c0 db 96 d1 f5-c7 07 e5 17 1f 3b 48 34   .M...........;H4
0010 - 6e 11 9d ba 10 0c 3a 34-eb 7b a5 7c c4 b6 c0 c0   n.....:4.{.|....
0020 - b0 75 0e fe b7 fa 9e 04-e9 4e 4a 7d 51 d3 11 1f   .u.......NJ}Q...
0030 - e2 23 16 77 cb a6 e1 8e-77 84 2b f8 7f            .#.w....w.+..
read R BLOCK

আপনি এটির মতো দেখতে একটি হৃদস্পন্দন প্রতিক্রিয়া পাবেন।

একটি প্যাচড হোস্টে, আপনি নীচের মত একটি প্রতিক্রিয়া দেখতে পাবেন এবং আপনি সংযোগ বিচ্ছিন্ন হয়ে যাবেন:

প্রবেশ করুন খ

HEARTBEATING
write to 0x801818160 [0x8019d5803] (101 bytes => 101 (0x65))
0000 - 18 03 03 00 60 9c a3 1e-fc 3b 3f 1f 0e 3a fe 4c   ....`....;?..:.L
0010 - a9 33 08 cc 3d 43 54 75-44 7d 2c 7b f3 47 b9 56   .3..=CTuD},{.G.V
0020 - 89 37 c1 43 1c 80 7b 87-66 ff cb 55 5f 8d 1a 95   .7.C..{.f..U_...
0030 - 1b 4c 65 14 21 a1 95 ac-7a 70 79 fc cc a0 cf 51   .Le.!...zpy....Q
0040 - 0f 7e c5 56 14 c8 37 c1-40 0b b8 cb 43 96 8a e6   .~.V..7.@...C...
0050 - 21 42 64 58 62 15 fb 51-82 e6 7f ef 21 1b 6f 87   !BdXb..Q....!.o.
0060 - b9 c2 04 c8 47                                    ....G

উৎস:

এই সরঞ্জামগুলিও রয়েছে:


0

উবুন্টুর জন্য আপনি ব্যবহার করতে পারেন:

aptitude show libssl1.0.0 | grep Version

এবং http://www.ubuntu.com/usn/usn-2165-1/ এর সাথে তুলনা করুন । একটি রিবুট (!!!) পরে আপনি চেক করতে পারেন http://possible.lv/tools/hb



0

আমি এই স্ক্রিপ্টটি বিকেন্দ্রে পেয়েছি :

openssl s_client -connect example.com:443 -tlsextdebug 2>&1| grep 'server extension "heartbeat" (id=15)' || echo safe

example.comআপনি যে সার্ভারটি চেক করতে চান তার নাম বা আইপি ঠিকানা দিয়ে প্রতিস্থাপন করুন ।

"safe"আপনার সার্ভার ঠিক আছে বা "server extension "heartbeat" (id=15)"না থাকলে ফিরে আসবে ।

এটি সংস্করণ সংখ্যার উপর নির্ভর করে না, তবে সার্ভার এক্সটেনশনের তালিকা তৈরি করার কারণে এটি সমস্যা সৃষ্টি করে, তাই এটি গ্রন্থাগারের সংস্করণ শেননিগানের প্রতিরোধী হওয়া উচিত।

আপনি যে মেশিনটি চালাচ্ছেন তা কাজ করার জন্য অবশ্যই ওপেনএসএসএল 1.0.1 বা তার পরে ব্যবহার openssl s_clientকরা উচিত


4
দরকারী, তবে আপনাকে এক্সটেনশন এবং ফিক্স সহ কোনও সংস্করণ আছে কিনা তা আপনাকে জানায় না ।
mattdm

1
দুর্বলতার জন্য এটি যাচাই করার পক্ষে একটি ভাল উপায় এবং কিছু স্ক্রিপ্ট এটি করে। এটিতে আসলে এসএসএইচ অ্যাক্সেসের প্রয়োজন হয় না।
স্টিফান লাসিউইস্কি

8
বড় বড় সতর্কতা গুরুত্বপূর্ণ সতর্কতা - আপনি যে মেশিনটি চালাচ্ছেনopenssl s_clientতা কাজ করার জন্য ওপেনএসএসএল ১.০.১ বা তারপরে ব্যবহার করা উচিত। আপনি যদি 0.9.8 বা 1.0.0 দিয়ে কোনও মেশিনে এই কমান্ডটি চালান তবে এটি "নিরাপদ" প্রতিবেদন করবে, এমনকি দুর্বল সার্ভারগুলির জন্যও
voretaq7

বিজোড়। আমি এই ওপেনএসএসএল এর একটি সংস্করণ চালাচ্ছি যা সম্ভবত এই বাগ দ্বারা প্রভাবিত হয়েছে, তবুও স্ট্রিংটি আউটপুটটিতে উপস্থিত হবে না ...
মাইকেল

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