हाल ही में पूडल भेद्यता प्रकट होने के बाद, हमारी टीम ने एसएसएलवी 3 से आगे बढ़ने का फैसला किया। लेकिन पूरा हटाने से पहले, वे करना चाहते हैं चेतावनी दी दैनिक उपयोगकर्ताओं है कि उनके ब्राउज़र उपयोग पदावनत SSLv3। इसलिए, हमें यह विचार आया
- प्रोटोकॉल का पता लगाएं (एसएसएलवी 3, टीएलएस 1 आदि ...) सामने के अंत से एसएसएल-ऑफलोडिंग (हम nginx का उपयोग करते हैं)
- Apache-backend के लिए HTTP हेडर के माध्यम से उस जानकारी (एसएसएल प्रोटोकॉल) को पास करें।
तब हमारा बैकएंड कोड उस हेडर को प्रोसेस करेगा और क्लाइंट SSLv3 का उपयोग करने पर चेतावनी देगा ।
मुझे पता है कि nginx में सुविधा है proxy_set_header
। तो यह एक सरल होगा
proxy_set_header X-HTTPS-Protocol $something;
अब, समस्या यह है: जाहिर है कि nginx क्लाइंट द्वारा उपयोग किए जाने वाले प्रोटोकॉल को जानता है, लेकिन मैं उस जानकारी को HTTP हेडर के माध्यम से बैकएंड कैसे पास कर सकता हूं?
धन्यवाद
जैसा कि थ्रेड अपाचे उपयोगकर्ता द्वारा बताया गया है यदि वे SSLv3 का उपयोग कर रहे हैं , तो यह विचार बहुत बुरा विचार बन सकता है।
टीएलएस सुरंग के माध्यम से HTTP ट्रैफिक भेजे जाने से पहले टीएलएस हैंडशेक होता है। जब तक हमारे बैकएंड एसएसएल प्रोटोकॉल का पता लगाता है, तब तक ग्राहक अपने पहले अनुरोध में निजी डेटा भेज सकता है। स्थायी और दीर्घकालिक समाधान के लिए हमें SSLv3 को अक्षम करने पर विचार करना चाहिए।