लिनक्स में एक मध्यवर्ती सीए को सौंपना?


18

से इस ब्लॉग

इंटरमीडिएट सीए एक रूट सीए द्वारा हस्ताक्षरित प्रमाणपत्र हैं जो किसी भी वेबसाइट के लिए मनमाने प्रमाण पत्र पर हस्ताक्षर कर सकते हैं।

वे रूट CA के समान ही शक्तिशाली हैं, लेकिन आपके सिस्टम के ट्रस्टों की पूरी सूची नहीं है, क्योंकि रूट CA इच्छानुसार नए बना सकते हैं, और आपका सिस्टम पहली नजर में उन पर भरोसा करेगा। सीटी में लॉग इन हजार हैं।

इस महीने एक दिलचस्प एक पॉप अप हुआ, जो सितंबर 2015 में स्पष्ट रूप से उत्पन्न हुआ: "ब्लू कोट पब्लिक सर्विसेज इंटरमीडिएट सीए", सिमेंटेक द्वारा हस्ताक्षरित। (इस CA द्वारा हस्ताक्षरित कोई प्रमाण पत्र अब तक सीटी लॉग या सेंसिस तक नहीं पहुंचा है।)

मैंने सोचा कि यह एक अच्छा अवसर है कि एक मध्यवर्ती सीए को स्पष्ट रूप से कैसे लिखा जाए, जो अन्यथा ओएस एक्स में भरोसा किया जाएगा। यह सीए को एक ही संगठन को एक नया मध्यवर्ती सौंपने से रोक नहीं पाएगा, लेकिन कुछ भी नहीं से बेहतर है।

जब मैंने उबंटू में ब्लॉग में चरणों की कोशिश की, तो मैं इस प्रमाण पत्र को डाउनलोड करता हूं https://crt.sh/?id=19538258 । जब मैं खोलता हूँ। इसे ग्नोम कीरिंग में आयात करता है, लेकिन तब मैं इसे आयात करने के बाद प्रमाणपत्र को "अविश्वास" करने का तरीका नहीं खोज सकता।

जवाबों:


8

बस चीजों को कठिन बनाने के लिए, प्रमाणपत्रों के साथ काम करने के लिए लिनक्स में एक से अधिक पुस्तकालय हैं।

आप मोज़िला एनएसएस का उपयोग कर रहे हैं, तो आप कर सकते हैं सक्रिय रूप से अविश्वास (उनकी शब्दावली) प्रमाणपत्र का उपयोग करके certutil के -t trustargsविकल्प:

$ certutil -d <path to directory containing database> -M -t p -n "Blue Coat Public Services Intermediate CA"

Firefox के लिए, <path to directory containing database>आम तौर पर है ~/.mozilla/firefox/<???>.profileजहां <???>कुछ यादृच्छिक देख पात्र हैं। (सर्टिफिकेट उदा है। उबंटू के लिबन्स 3-टूल पैकेज में)

ब्रेकडाउन इस प्रकार है:

-M डेटाबेस को संशोधित करने के लिए

-t p निषिद्ध करने के लिए विश्वास स्थापित करने के लिए

-n नामित प्रमाण पत्र पर कार्रवाई करने के लिए

एनएसएस के भीतर भी, सभी एप्लिकेशन समान डेटाबेस साझा नहीं करते हैं; इसलिए आपको इस प्रक्रिया को दोहराना पड़ सकता है। उदाहरण के लिए, क्रोम के लिए भी ऐसा ही करने को बदलने -d <path>के लिए -d sql:.pki/nssdb/

$ certutil -d sql:.pki/nssdb/ -M -t p -n "Blue Coat Public Services Intermediate CA"

हालांकि, सभी एप्लिकेशन एनएसएस का उपयोग नहीं करते हैं, इसलिए यह पूर्ण समाधान नहीं है। उदाहरण के लिए, मुझे विश्वास नहीं है कि ओपनएसएसएल पुस्तकालय के साथ ऐसा करना संभव है।

नतीजतन, कोई भी एप्लिकेशन जो सर्टिफिकेट चेन बिल्डिंग (TLS, IPSec आदि) प्रदान करने के लिए OpenSSL का उपयोग करता है, एक ब्लू कोट सर्टिफिकेट के साथ एक चेन पर भरोसा करेगा और रूट CA को हटाने के बारे में ऐसा कुछ भी नहीं है जिससे आप उस पर हस्ताक्षर कर सकें आपका ट्रस्ट एंकर स्टोर (जो मूर्खतापूर्ण रूप से विचार कर रहा होगा कि यह एक सिमेंटेक रूट सीए है जैसा कि आप आधे इंटरनेट को अविश्वास करना चाहते हैं), जबकि एनएसएस पर भरोसा करने वाले अनुप्रयोगों को ब्लू कोट सर्टिफिकेट वाले किसी भी श्रृंखला को अविश्वास करने के लिए अधिक दानेदार कॉन्फ़िगर किया जा सकता है। ।

उदाहरण के लिए, मेरा मानना ​​है कि ओपनवीपीएन ओपनएसएसएल का उपयोग करता है क्योंकि यह प्रमाणपत्र के लिए पुस्तकालय है, इसलिए बड़े भाई आपके ज्ञान के बिना आपके ओपनवीपीएन ट्रैफिक को सुन सकते हैं यदि आप एक वाणिज्यिक वीपीएन प्रदाता से कनेक्ट कर रहे हैं जो ओपनवीपीएन का उपयोग करता है। यदि आप वास्तव में इसके बारे में चिंतित हैं, तो जांचें कि आपके वाणिज्यिक वीपीएन प्रदाता का रूट CA कौन है - यदि यह Symantec / Verisign है, तो हो सकता है कि यह किसी और के लिए उन्हें खोदने का समय हो?

ध्यान दें कि SSH X509 प्रमाणपत्रों का उपयोग नहीं करता है इसलिए आप ब्लू कोट MITM हमलों की चिंता किए बिना SSH का उपयोग करके कनेक्ट और टनल कर सकते हैं।


मैंने यह इंगित करने के लिए प्रश्न को अपडेट किया कि जब मैंने प्रमाणपत्र पर डबल क्लिक किया था तो उसे गनोम कीरिंग में आयात किया गया था। मैंने नीचे अपने उत्तर में फ़ायरफ़ॉक्स में इसे आयात करने का एक तरीका खोजने का प्रबंधन किया।
राफेल २ rap

OpenSSL के लिए सिर्फ प्रमाणपत्र को हटाना ही नहीं है जैसा कि इसे अविश्वसनीय करना है? यह केवल उन खानों को मान्य कर सकता है जिनके बारे में वह जानता है।
ब्राचली

1
@ ब्रेचली - क्या होगा यदि टीएलएस हैंडशेक के हिस्से के रूप में संदिग्ध प्रमाण पत्र (जैसा कि होना चाहिए) भेजा गया था? यह केवल तब तक विश्वसनीय होगा, जब तक कि कोई रास्ता नहीं है (जैसा कि मोज़िला एनएसएस, विंडोज और ओएस-एक्स के साथ है) यह आग्रह करने के लिए कि यह हमेशा अविश्वासित है।
garethTheRed

@garethTheRed मुझे कुछ याद आ रहा है, लेकिन अगर पुस्तकालय को प्रमाणित करने की आवश्यकता है तो या तो CRL नहीं करेंगे या विश्वसनीय रूट CA को हटाकर समस्या को हल करेंगे? चाहे वह ग्राहक हो या सर्वर सेर्ट्स, उसे अभी भी सत्यापन की आवश्यकता होनी चाहिए।
ब्राचली

1
हाँ। Bluecoat को वेरिसाइन द्वारा CA- सर्टिफिकेट जारी किया गया था, जिसके लिए इन-द-मिडिल डिवाइस का उपयोग किया गया था। ओपी पूछता है कि इस प्रमाणपत्र को कैसे अविश्वास किया जाए। तो यह एक अधीनस्थ प्रमाण पत्र को सौंपने के बारे में है कि बेहतर जारी करने वाला सीए (इस मामले में रूट) को रद्द नहीं करेगा, जब आप कहते हैं, आप रूट (सत्यापन) पर भरोसा नहीं करना चाहते हैं।
garethTheRed

0

मैं अभी तक टिप्पणी नहीं कर सकता, इसलिए मुझे यहां टिप्पणी करनी होगी कि उबंटू ग्नोम 15.10 पर, जब मैं @ garethTheRed के दृष्टिकोण का उपयोग करता हूं, मुझे मिलता है:

~$ certutil -d ~/.mozilla/firefox/<directory>.default -M -t p -n "Blue Coat Public Services Intermediate CA" 
certutil: could not find certificate named "Blue Coat Public Services Intermediate CA": SEC_ERROR_BAD_DATABASE: security library: bad database.

~$ certutil -d sql:.pki/nssdb/ -M -t p -n "Blue Coat Public Services Intermediate CA"
certutil: could not find certificate named "Blue Coat Public Services Intermediate CA": SEC_ERROR_UNRECOGNIZED_OID: Unrecognized Object Identifier.

"ब्लू कोट सिस्टम्स, इंक।" काम भी नहीं करता है।

(यह मेरे द्वारा आयात किया गया प्रमाणपत्र है: https://crt.sh/?id=19538258 )


क्या आपने पहले सर्टिफिकेट डाउनलोड और आयात किया था?
राफेल

हां, मैंने इसे एक आयात किया: crt.sh/?id=19538258 । (लगता है मैं अभी टिप्पणी कर सकता हूँ! :)
डायगन

मुझे लगता है कि आप केवल अपने जवाब पर टिप्पणी कर सकते हैं। मैंने वास्तव में अभी तक प्रक्रिया की कोशिश नहीं की है।
राफेल

मेरा जवाब नीचे देखें
राफेल २ '

@rapeel - मैंने नीचे संपादित करने का प्रयास किया, जिससे आपको पता चल गया कि: जबकि उपरोक्त लिंक "-t p" को "निषिद्ध (स्पष्ट रूप से अविश्वासित)" के रूप में वर्णित करता है, उबंटू 15.10 मैन पेज इसे "p - Valid peer" के रूप में वर्णित करता है। मुझे आशा है कि आपने गलत काम नहीं किया।
Diagon
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.