मैं एक Opensl CRL फ़ाइल कैसे स्थापित करूं?


0

यहाँ परिदृश्य है।

  • सर्वर: उबंटू 12.04 - पोस्टफिक्स और डवकोट
  • क्लाइंट: उबंटू 13.10 - ऑफलाइनमैप और एमएसएमटीपी

मैं हार्टलेड से अपनी रिकवरी खत्म कर रहा हूं और अपने सर्वर सर्टिफिकेट को फिर से जारी करना चाहता हूं। चूंकि यह एक निजी सर्वर है, इसलिए मैंने मूल रूप से एक सीए बनाया, फिर सर्वर प्रमाण पत्र पर हस्ताक्षर करने के लिए सीए का उपयोग किया। CA प्रमाणपत्र मेरे क्लाइंट सिस्टम पर ठीक से स्थापित है, सर्वर पर सर्वर कुंजी और प्रमाणपत्र स्थापित हैं।

अब, मैंने एक CRL बनाया है और विभाजित किया है कि CRL को सर्वर पर जाने की आवश्यकता नहीं है (यदि मेरे पास कोई अन्य उपयोगकर्ता है, तो दूर-दूर वितरित करने के अलावा), लेकिन मेरे डेस्कटॉप मशीन पर स्थापित करने की आवश्यकता है ताकि OpenSSL स्वीकार न करे मूल कुंजी। इसलिए, मैंने CRL फ़ाइल को / etc / ssl / crl में कॉपी किया। मैंने लिंक का उपयोग करके बनाया

ln -s mycrl.pem `openssl crl -hash -noout -in mycrl.pem`.0

उस का परिणाम उचित लगता है।

खुलता है s_client कनेक्शन सर्वर के लिए ठीक है। कोई त्रुटि संदेश जो मैं कनेक्शन में देख सकता हूं, लेकिन मुझे उम्मीद है कि सभी प्रकार की त्रुटियां होंगी और संभवत: कनेक्ट करने से इनकार भी। इसलिए, मैं अपनी ओपनस्फ़ल कॉन्फ़िगरेशन फ़ाइल में देखता हूं और CRL फ़ाइल को /etc/ssl/crl.pem पर ले जाता हूं। समान परिणाम:

depth=1 C = US, ST = TX, L = Austin, O = SavanniDGerinel, OU = SavanniDGerinel, CN = SavanniDGerinel CA, name = savannidgerinel.com, emailAddress = savanni@alyra.org
verify return:1
depth=0 C = US, ST = TX, L = Austin, O = SavanniDGerinel, OU = SavanniDGerinel, CN = apps.savannidgerinel.com, name = savannidgerinel.com, emailAddress = savanni@alyra.org
verify return:1
---
Certificate chain
 0 s:/C=US/ST=TX/L=Austin/O=SavanniDGerinel/OU=SavanniDGerinel/CN=apps.savannidgerinel.com/name=savannidgerinel.com/emailAddress=savanni@alyra.org
   i:/C=US/ST=TX/L=Austin/O=SavanniDGerinel/OU=SavanniDGerinel/CN=SavanniDGerinel CA/name=savannidgerinel.com/emailAddress=savanni@alyra.org
... tons more stuff ....
SSL-Session:
  ... tons of sessions stuff ...
  Verify return code: 0 (ok)

मैं अपने लैपटॉप पर ओपनएसएसएल प्रणाली को वास्तव में बल देने के लिए मजबूर कैसे करूं? और, यह देखते हुए कि मुझे यकीन है कि प्रमाणपत्र नियमित रूप से निरस्त हो जाते हैं, मेरे सिस्टम पर बिल्कुल कोई अन्य सीआरएल फाइलें क्यों नहीं हैं? मुझे कैसे यकीन हो सकता है कि मैं वास्तव में उस चीज़ से जुड़ रहा हूं जो मुझे लगता है कि मैं इससे जुड़ रहा हूं?

इस पर एक बिंदु भी ठीक नहीं करने के लिए, लेकिन एक निरसन सूची को स्थापित करना मुश्किल क्यों है? यह मुझे उस तरह के हमले के रूप में बताता है जो अंत उपयोगकर्ताओं के लिए तुच्छ होना है जो इंटरनेट सुरक्षा सुनिश्चित करने के लिए कुछ भी नहीं जानते हैं।

जवाबों:


2

s_clientसीआरएल सत्यापन के साथ ओपनएसएसएल का उपयोग करने के लिए आपको विभिन्न अनिर्दिष्ट चीजों को करना होगा, जिसे मैंने https://superuser.com/questions/742231/s-client-not-failing-on-revoked-certifate/742289#742289 में वर्णित किया है ।

इसके अलावा मुझे नहीं पता कि OpenSSL का उपयोग करने वाला कोई भी एप्लिकेशन CRL चेक बिल्कुल भी करता है, क्योंकि मुझे लगता है कि आपको एपीआई में इन चेक को स्पष्ट रूप से सक्षम करना होगा और फिर अनपेक्षित स्थानों पर CRL डाल देना चाहिए। और निश्चित रूप से CRLs की कोई स्वचालित डाउनलोडिंग नहीं है।

यदि आप अब सोचते हैं कि यह सब टीएलएस सामान टूट गया है तो आप शायद सही हैं और यह केवल ओपनएसएसएल पर लागू नहीं होता है।


तो ... मूल रूप से एक आदमी के बीच में हमले को रोकने का कोई तरीका नहीं है, क्योंकि मुझे कभी भी अपनी पुरानी संभावित समझौता कुंजी को अस्वीकार करने के लिए आवेदन नहीं मिल सकता है?
सावन डी'गेरिनल

CRLs का उपयोग करने के लिए API फ़ंक्शन हैं और OCSP समर्थन भी है। लेकिन सीआरएल का डाउनलोड आवेदन द्वारा किया जाना चाहिए, क्योंकि ओपनएसएसएल केवल एक पुस्तकालय है जो उपयोगकर्ता एजेंट नहीं है जो प्रॉक्सी, प्रमाणीकरण और सभी वेब सामग्री के बारे में जानता है। OpenSSL को OCSP (दुर्भाग्य से अनिर्दिष्ट) के लिए भी समर्थन है, लेकिन s_clientउपकरण (जो केवल परीक्षण के लिए अभिप्रेत है) के पास इसके लिए कोई समर्थन नहीं है। सारांश में - सीआरएल चेकिंग के लिए समर्थन है, लेकिन ओपनएसएसएल का उपयोग करने वाले एप्लिकेशन को स्वयं आवश्यक विवरणों से निपटना पड़ता है। कुछ कर सकते हैं, दूसरों को नहीं।
स्टीफन उलरिच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.