एक सर्वर पर कई एसएसएल प्रमाणपत्र


1

हम अपने काफी छोटे लेकिन समर्पित उत्पादन सर्वर पर दो वेबसाइटों की मेजबानी कर रहे हैं। दोनों वेबसाइट को SSL प्रमाणीकरण की आवश्यकता होती है।

इसलिए, हमारे पास उन दोनों के लिए वर्चुअलहोस्ट सेट हैं। वे दोनों अपने स्वयं के domain.key, domain.crt और domain.intermediate.crt फ़ाइलों को संदर्भित करते हैं।

प्रत्येक साइट के लिए प्रत्येक CSR और प्रमाणपत्र फ़ाइल अपनी अनूठी जानकारी का उपयोग करके सेटअप की गई थी और उनके बीच कुछ भी साझा नहीं किया गया था (सर्वर के अलावा अन्य)

हालाँकि, जो कभी भी साइट का प्रतीकात्मक लिंक (/ etc / apache2 / साइट्स-सक्षम में सेट किया गया) पहले संदर्भ है, वह साइट है जिसके प्रमाणपत्र को संदर्भित किया जाता है, भले ही हम दूसरी साइट पर जा रहे हों।

उदाहरण के लिए, मान लें कि हमारी कंपनियां कैडबरी और नेस्ले हैं। हम दोनों साइटों को अपने प्रमाणपत्रों के साथ सेट करते हैं लेकिन हम अपाचे की साइट-सक्षम फ़ोल्डर में कैडबरी का प्रतीकात्मक लिंक बनाते हैं और फिर नेस्ले का।

आप नेस्ले की यात्रा पूरी तरह से ठीक कर सकते हैं लेकिन यदि आप प्रमाणपत्र की स्थापना की जांच करते हैं, तो यह कैडबरी के प्रमाणपत्र का संदर्भ देता है।

हम इन वेबसाइटों को एक समर्पित Ubuntu 12.04.3 LTS सर्वर पर होस्ट कर रहे हैं। दोनों प्रमाणपत्र Thawte.com द्वारा प्रदान किए गए हैं।

मुझे कुछ हद तक सफलता नहीं मिली। मैं उम्मीद कर रहा हूँ कि किसी और के पास एक अच्छा समाधान है?

धन्यवाद

संपादित करें: केवल अन्य समाधान जो लगता है कि कुछ लोगों को सफलता प्रदान करता है, अपाचे के साथ एसएनआई का उपयोग कर रहा है। हालाँकि, यहाँ सेटअप हमारे सेटअप के साथ बिल्कुल मेल नहीं खाते थे।


आप 100% सही हैं। मैंने प्रश्न संपादित किया है। मैंने एसएनआई विकल्प की कोशिश की, लेकिन वह बिल्कुल भी काम नहीं करता था।
काइल ओ'ब्रायन

लेकिन वास्तव में, मुझे लगता है कि मुझे उस मामले में फिर से सुनने के लिए खुला होना चाहिए क्योंकि मैंने पहली बार कुछ सही ढंग से लागू नहीं किया था
काइल ओ'ब्रायन

एसएनआई के बिना आपके पास केवल एक आईपी पते के प्रति एक प्रमाण पत्र हो सकता है, क्योंकि वेब सर्वर को यह पता नहीं चल सकता है कि प्रमाणपत्र विनिमय होने के बाद आप क्या साइट प्राप्त कर रहे हैं । तो यह पहले वाले का उपयोग करता है। आपके प्रश्न में उल्लेख नहीं है कि आपके पास कितने आईपी हैं।
पॉल

@Paul - हाँ, ऐसा लगता है कि यहाँ बहुत कम है। ठीक है, हमारे पास तकनीकी रूप से 5 हैं। जिस समय मैंने यह पोस्ट किया, हालांकि, मुझे यकीन नहीं था कि हम उनमें से एक को काफी कम बजट वाले क्लाइंट पर इस्तेमाल करना चाहते थे। यह कहा जा रहा है, एक अकादमिक दृष्टिकोण से, आप सही प्रतीत होते हैं। एकमात्र तरीका एसएनआई का अच्छा कार्यान्वयन है। क्या आप एसएनआई और मेरे प्रश्न की जानकारी का उपयोग करके एक उत्तर दे सकते हैं और मैं इसे सही मानूंगा। धन्यवाद
काइल ओ'ब्रायन

सावधान रहें, आप अभी भी कई ग्राहकों को जोड़ सकते हैं जो एसएनआई का समर्थन नहीं करते हैं। उदाहरण के लिए, विंडोज एक्सपी पर इंटरनेट एक्सप्लोरर।
डेविड श्वार्ट्ज

जवाबों:


3

एक एकल IP पते पर कई एसएसएल साइटों की मेजबानी के साथ समस्या यह है कि एसएसटी प्रमाणपत्र एक्सचेंज पहले होता है, जीईटी स्टेटमेंट से पहले वेब सर्वर को पता चलता है कि आप किस साइट को लक्षित कर रहे हैं।

भले ही आप अपने ब्राउज़र में सर्वर https://google.com का नाम टाइप करते हों, लेकिन नाम को उसके आईपी पते पर हल कर दिया जाता है, और आईपी पते के लिए एक एसएसएल सत्र शुरू किया जाता है। हम जिस विशिष्ट URL को लक्षित कर रहे हैं, वह किसी मानक SSL हैंडशेक का हिस्सा नहीं हो सकता है, अन्यथा यह ईवेर्सड्रॉपर्स को दिखाई देगा। इसलिए वेबसर्वर को यह पता नहीं चल सकता है कि किस सर्टिफिकेट का उपयोग करना है, और इसलिए आमतौर पर पहले का उपयोग करता है।

एसएनआई टीएलएस / एसएसएल का विस्तार है जो होस्टनाम को सत्र वार्ता में शामिल करने की अनुमति देता है। यह इन दिनों क्लाइंट और सर्वर में व्यापक रूप से समर्थित है। हालांकि यह होस्टनाम को ईवेर्सड्रॉपर के लिए दृश्यमान बनाता है, यह स्वीकार्य माना जाता है क्योंकि इसमें केवल पूर्ण url (जिसमें संवेदनशील जानकारी हो सकती है) के बजाय होस्टनाम शामिल है और आपने बहुत ही संभावित रूप से होस्टनाम के लिए अनएन्क्रिप्टेड DNS लुकअप को किक करने से पहले किया था। एसएसएल सत्र।

अपाचे में, तीन चरण हैं:

  1. 443 पर एक डिफ़ॉल्ट वेबसाइट का उपयोग न करें
  2. अपने: 443 वर्चुअल होस्ट परिभाषा में Servername निर्देशों का उपयोग करें
  3. सुनिश्चित करें कि अपाचे हाल ही में ओपनएसएसएल के साथ बनाया गया है

यदि यह SNI समर्थन के साथ निर्मित नहीं है, तो आपको अपाचे त्रुटि लॉग में एक संदेश मिलेगा:

 You should not use name-based virtual hosts in conjunction with SSL!!

यदि सब कुछ ठीक है, तो आपको लॉग में निम्नलिखित मिलेंगे:

 [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)

1
+1 के लिए "अगर सब ठीक है"
19:18
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.