
तेज़ SSL/TLS स्कैनर जो समर्थित सिफ़र सूट, प्रोटोकॉल और कमजोरियों (Heartbleed, POODLE, CRIME) की खोज करता है, जिसमें प्रमाणपत्र श्रृंखला विश्लेषण और कुंजी विनिमय गणना शामिल है।
sslscan संस्करण 2 अब जारी किया गया है। इसमें बैकएंड स्कैनिंग कोड का एक बड़ा पुनर्लेखन शामिल है, जिसका अर्थ है कि यह कई जाँचों के लिए OpenSSL के संस्करण पर निर्भर नहीं है। इसका मतलब है कि लीगेसी प्रोटोकॉल (SSLv2 और SSLv3) का समर्थन करना संभव है, साथ ही TLSv1.3 का भी समर्थन करना - भले ही इसे किस OpenSSL संस्करण के विरुद्ध संकलित किया गया हो।
यह मुख्य रूप से jtesta के काम के कारण संभव हुआ है, जो अधिकांश बैकएंड पुनर्लेखन के लिए जिम्मेदार रहे हैं।
अन्य प्रमुख परिवर्तनों में शामिल हैं:
--http विकल्प हटा दिया गया, क्योंकि यह टूटा हुआ था और शुरू में इसका बहुत कम उपयोग था।संस्करण 2.0.0-beta4 में XML आउटपुट में एक संभावित रूप से ब्रेकिंग परिवर्तन किया गया है। पहले, कई <certificate> तत्व लौटाए जा सकते थे (एक डिफ़ॉल्ट रूप से, और दूसरा यदि --show-certificate का उपयोग किया गया था)।
प्रमुख परिवर्तन हैं:
<certificates> तत्व जिसमें तत्व होंगे।<certificate><certificate> तत्वों में एक नया type विशेषता है, जो या तो हो सकता है:
short।--show-certificate का उपयोग किया जाता है तो full।<certificate> में <signature-algorithm> तत्व में अब "Signature Algorithm:" उपसर्ग, या स्पेसिंग और नई पंक्ति शामिल नहीं है।यदि आप XML आउटपुट का उपयोग कर रहे हैं, तो आपको अपने पार्सर में बदलाव करने की आवश्यकता हो सकती है।
यह rbsec ([email protected]) द्वारा ioerror के sslscan संस्करण का एक फोर्क है (जिसका मूल रीडमी नीचे शामिल है)।
प्रमुख परिवर्तन इस प्रकार हैं:
--show-certificate के साथ प्रदर्शित करें)।--failed के साथ प्रदर्शित करें)।--ipv6 के साथ बल दिया जा सकता है)।--no-compression से अक्षम करें)।--no-ciphersuites।--no-colour।--no-heartbleed से अक्षम करें)।--rdp के साथ RDP सर्वरों को स्कैन करने का समर्थन (श्रेय skettler)।--sleep विकल्प जोड़ा गया।--no-preferred।--show-client-cas।--no-cipher-details।--cipher-details।--starttls-ldap।--sni-name (श्रेय Ken)।--iana-names--show-certificatesयह अनुशंसा की जाती है कि OpenSSL सिस्टम इंस्टॉलेशन को अनदेखा करें और अपने स्वयं के संस्करण के विरुद्ध स्थिर रूप से बनाएं। हालाँकि इसके परिणामस्वरूप अधिक संसाधन-भारी sslscan बाइनरी (फ़ाइल आकार, मेमोरी खपत, आदि) होती है, यह TLS संपीड़न जैसी कुछ अतिरिक्त जाँचों की अनुमति देता है। ध्यान दें कि sslscan संस्करण 2.2.0 के अनुसार, sslscan के लिए आवश्यक न्यूनतम OpenSSL संस्करण 3.5.0 (LTS) है, इसलिए यदि आपका डिस्ट्रो पुराना संस्करण भेजता है तो इसके विरुद्ध बनाना काम नहीं करेगा, और आपको स्थिर बिल्ड करना होगा।
अपना स्वयं का OpenSSL संस्करण संकलित करने के लिए, आपको शायद OpenSSL बिल्ड निर्भरताएँ स्थापित करने की आवश्यकता होगी। नीचे दिए गए आदेशों का उपयोग Debian पर ऐसा करने के लिए किया जा सकता है।
apt install git zlib1g-dev make gcc
फिर चलाएँ
make static
यह OpenSSL रिपॉजिटरी को क्लोन करेगा, और sslscan को संकलित करने से पहले OpenSSL को कॉन्फ़िगर/कंपाइल/टेस्ट करेगा।
कृपया ध्यान दें: डिफ़ॉल्ट रूप से, OpenSSL को आगे के अनुकूलन के बिना gcc के साथ संकलित किया जाता है। clang के साथ संकलित करने के लिए, नीचे दिए गए आदेशों का उपयोग करके बिल्ड निर्भरताएँ स्थापित करें।
apt install git zlib1g-dev make clang
फिर चलाएँ
make static CC=clang
आप यह सत्यापित कर सकते हैं कि क्या आपके पास स्थिर रूप से लिंक किया गया OpenSSL संस्करण है, यह जाँच कर कि sslscan --version द्वारा सूचीबद्ध संस्करण में -static प्रत्यय है या नहीं।
सुनिश्चित करें कि आपकी स्थानीय Docker स्थापना कार्यात्मक है, और कंटेनर को इसके साथ बनाएँ:
make docker
या मैन्युअल रूप से:
docker build -t sslscan:sslscan .
फिर आप sslscan को इसके साथ चला सकते हैं:
docker run --rm -ti sslscan:sslscan --help
jtesta द्वारा एक पैच के लिए धन्यवाद, sslscan को अब Windows पर संकलित किया जा सकता है। यह मूल रूप से या Linux से क्रॉस-कंपाइल करके किया जा सकता है। निर्देशों के लिए INSTALL देखें।
ध्यान दें कि sslscan मूल रूप से Linux के लिए लिखा गया था, और इसका Windows पर व्यापक रूप से परीक्षण नहीं किया गया है। इस प्रकार, Windows संस्करण को प्रायोगिक माना जाना चाहिए।
पूर्व-निर्मित क्रॉस-कंपाइल किए गए Windows बाइनरी GitHub रिलीज़ पेज पर उपलब्ध हैं।
macOS (पहले OS X नाम से जाना जाता था) पर स्थिर रूप से बनाने के लिए प्रायोगिक समर्थन है, हालाँकि इसे असमर्थित माना जाना चाहिए। macOS (पहले OS X नाम से जाना जाता था) पर स्रोत से OpenSSL को संकलित करने के लिए आवश्यक किसी भी निर्भरता को स्थापित करने की आवश्यकता हो सकती है। एक बार जब आप कर लें, तो बस चलाएँ:
make static
यह STARTTLS को बेहतर समर्थन देने के लिए sslscan.c का एक फोर्क है।
sslscan का मूल होम पेज है:
http://www.titania.co.uk
sslscan मूल रूप से इसके द्वारा लिखा गया था:
Ian Ventura-Whiting
इस फोर्क का वर्तमान होम पेज (जब तक अपस्ट्रीम एक समाप्त पैच को मर्ज नहीं करता) है:
http://www.github.com/ioerror/sslscan
अधिकांश प्री-TLS प्रोटोकॉल सेटअप OpenSSL s_client.c प्रोग्राम से प्रेरित था। इस फोर्क का लक्ष्य STARTTLS सेटअप को पॉलिश करने के बाद अंततः मूल परियोजना के साथ विलय करना है।
OpenSSL सेटअप कोड का कुछ हिस्सा The Tor Project के Tor प्रोग्राम से उधार लिया गया था। इस प्रकार BSD लाइसेंस का अनुपालन करने के लिए यह कहना उचित है:
Copyright (c) 2007-2010, The Tor Project, Inc.