SNI और HTTP के बीच संघर्ष डोमेन प्रदान करता है


22

मैंने हाल ही में एक वर्डप्रेस वेबसाइट को एक होस्टिंग प्रदाता से अपने स्वयं के चलने वाले Ubuntu सर्वर 12.04.2 LTS और Apache 2.2.22 के सर्वर पर एक छोटे स्टोर के साथ स्थानांतरित किया है। मुझे स्टोर के लिए एसएसएल की आवश्यकता है। मैंने सर्वर के लिए एक नए आईपी पर कुछ साधारण vhosts की स्थापना की, एक बाइंडिंग को विशिष्ट IP के पोर्ट 80 और दूसरे बाइंडिंग को 443 पोर्ट पर रखने के लिए। दोनों के पास ServerName www.example.comऔर ServerAlias example.comvhost config में है। मेरे पास है SSLStrictSNIVHostCheck off

साइट बहुत धीमी गति से चल रही है, लेकिन काम कर रही है। मैं अपनी त्रुटि लॉग में निम्नलिखित प्राप्त कर रहा हूं।

[Error] Hostname example.com provided via SNI and hostname www.example.com provided via HTTP are different

मुझे उम्मीद है कि धीमापन उपरोक्त संदेश से संबंधित है। क्यों दिखाई दे रहा है और इसके बारे में मैं क्या कर सकता हूं इस पर कोई विचार?

जवाबों:


24

अपने प्रवेश लॉग को देखें (त्रुटि लॉग नहीं)। त्रुटि के समय और तारीख के साथ आपको अपमानजनक अनुरोध की पहचान करने और उपयोगकर्ता एजेंट का पता लगाने में सक्षम होना चाहिए। मेरे मामले में, यह एक बॉट था:

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)"

मेरा सर्वर HTTP 400 के साथ जवाब देता है: खराब अनुरोध।

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

हो सकता है कि वे किसी दिन अपने बॉट को ठीक करेंगे, इस बीच आप शायद इसे अनदेखा कर सकते हैं। मुझे संदेह है कि यह मेजबान पर सुस्ती पैदा कर सकता है, जब तक कि अनुरोध बहुत अधिक दर पर नहीं आते हैं।


11

हो सकता है कि कुछ ग्राहकों द्वारा आपके सर्वर की कमजोरियों का परीक्षण करने के लिए जानबूझकर यह त्रुटि पैदा की गई हो। मैंने पाया है कि researchscan367.eecs.umich.eduमेरे द्वारा बनाए गए सर्वर पर त्रुटि को ट्रिगर करने के अनुरोध से । इस मामले में यह एक अच्छी बात है कि त्रुटि उत्पन्न होती है।

मैं उत्सुक था कि किस तरह के हमले संभव हैं, और मैंने सिक्योरिटी स्टैक एक्सचेंज पर यह सवाल पूछा: Apache2 के त्रुटि कोड AH02032 से किस तरह के हमले को रोका जाता है?


1

पहली नज़र में एक ग्राहक मुद्दे की तरह लगता है ... क्या ब्राउज़र इस समस्या का कारण है?

यह संदेश सुझाएगा कि होस्टनाम उस ग्राहक को भेजता है जो एसएसएल कनेक्शनसेटअप के दौरान भेजता है वह ग्राहक नहीं है जो एचटीटीपीएस अनुरोध में एसएसएल परत के उठने के बाद भेज देता है।


मुझे नहीं पता कि यह क्या कारण है। त्रुटि क्लाइंट की जानकारी नहीं बताती है। मुझे पता है कि मैं इसे नियमित रूप से देख रहा हूं। मैं उम्मीद कर रहा था कि ServerAlias ​​इसे खुश करने के लिए पर्याप्त था क्योंकि सिद्धांत रूप में सर्वर जानता है कि www.domain.com और domain.com बराबर हैं।
झिलमिलाहट

@flickerfly हाँ, यह एक छोटी गाड़ी ग्राहक है, और बहुत कुछ आप तब तक नहीं कर सकते जब तक आप इसकी पहचान नहीं कर सकते।
माइकल हैम्पटन

2
ठीक है, बस बंदरगाह के लिए NameBasedVirtualHost निर्देश 443 को हटाकर एसएनआई को अक्षम कर दिया। मुझे लगता है कि मुझे इस बिंदु पर इसकी आवश्यकता नहीं है। मुझे लगता है कि यह काम करने वाला है।
झिलमिलाहट

1

मेरे मामले में एक अंडरस्कोर के साथ एक नई वर्चुअलहोस्ट का निर्माण समस्या थी। मेरे पास वाइल्डकार्ड SSL प्रमाणपत्र है।

काम नहीं किया:

<VirtualHost *:443>
        SSLEngine on
        ServerName sub_domain.example.com
        Redirect / https://www.example.com/restofmyredirectlink
</VirtualHost>

यद्यपि अपाचे ने सफलतापूर्वक पुनः आरंभ किया, मुझे HTTP 400 त्रुटियां मिलीं। त्रुटि लॉग में:

[Wed Sep 05 11:28:00.349960 2018] [ssl:error] [pid 19906:tid 140392626808576] AH02031: Hostname sub_domain.example.com provided via SNI, but no hostname provided in HTTP request

लेकिन हटाए गए अंडरस्कोर ने काम किया:

<VirtualHost *:443>
        SSLEngine on
        ServerName subdomain.example.com
        Redirect / https://www.example.com/restofmyredirectlink
</VirtualHost>

1
ServerFault में आपका स्वागत है। होस्टनाम में अंडरस्कोर डालना आरएफसी के खिलाफ है और विभिन्न तरीकों से टूट जाएगा। stackoverflow.com/questions/2180465/…
लड़कियों को

1
ठीक ठीक! तो इसीलिए यह अब एक संदर्भ के रूप में यहाँ भी है।
बजे MS

0

यह देखने के लिए कि क्या आप स्थानीय (आंतरिक) आईपी पते पर डोमेन नाम निर्दिष्ट कर रहे हैं, अपनी / etc / होस्ट फ़ाइल की जाँच करें। बदलने / आदि / होस्ट सेवा nscd पुनरारंभ के बाद नाम सेवा कैश डेमॉन को पुनरारंभ करना न भूलें

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