मुख्य सामग्री पर जाएँ
TURNKEYGNU / LINUX
ऐपदस्तावेज़Forumब्लॉगस्क्रीनशॉटGitHubTurnKey Hub
文हिंदी
EnglishDeutschEspañol日本語Portuguêsहिंदी中文
होम/TurnKey Linux सर्वर एक रिवर्स प्रॉक्सी के पीछे

दस्तावेज़

TurnKey Linux सर्वर एक रिवर्स प्रॉक्सी के पीछे

A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A प्रॉक्सी एक सर्वर जो वांछित सामग्री और अन्य नेटवर्क की सेवा करने वाले एक या अधिक "वास्तविक" सर्वर के बीच बैठता है, अक्सर इंटरनेट। इसका उपयोग प्रदान करने के लिए किया जा सकता है उच्च उपलब्धता (जैसे यदि आपका मुख्य सर्वर दुर्घटनाग्रस्त हो जाता है) और/या एकाधिक सर्वरों को एक एकल (आमतौर पर सार्वजनिक) आईपी के माध्यम से होस्ट करने का एक तरीका, अक्सर SSL/TLS समाप्ति सहित। एकाधिक सर्वर होस्ट करने के लिए एक एकल आईपी का लाभ उठाने के लिए काफी आम है जब "स्वयं होस्टिंग" (जैसा कि TurnKey उपयोगकर्ता करते हैं)।

नेटवर्क सेटअप इस तरह थोड़ा दिखता है:

                                                backend server 1
                                               /
internet/external network <-> reverse proxy <-> backend server 2
                                               \
                                                backend server 3

संदर्भ और अवलोकन

वहाँ उद्देश्य की एक विशाल सरणी बनाया रिवर्स प्रॉक्सी, प्लस आम webservers, जैसे Apache, Nginx और LigHTTPd सब एक रिवर्स प्रॉक्सी के रूप में कार्य करने के लिए कॉन्फ़िगर किया जा सकता है। इस तरह, यह पोस्ट किसी भी सॉफ्टवेयर की सिफारिश प्रदान करने की कोशिश नहीं करता है, न ही एक्स्हॉस्टली कवर सॉफ्टवेयर विशिष्ट विन्यास। जब यह config का उल्लेख करता है, तो यह आम तौर पर Apache और/or Nginx तक सीमित होगा - सबसे लोकप्रिय वेबसर्वर के रूप में। यह सीमित उपयोग मामलों के लिए कुछ विशिष्ट विन्यास पर स्पर्श करेगा, लेकिन आम तौर पर सामान्य नेटवर्क डिजाइन और विचारों पर उच्च स्तर का नज़र रखेगा। इस पृष्ठ का प्राथमिक उद्देश्य है कि रिवर्स प्रॉक्सी और बैकेंड सर्वर के बीच कनेक्शन के विभिन्न विकल्पों की जांच और व्याख्या करना है। यह मुख्य रूप से रिवर्स प्रॉक्सी और बैकएंड सर्वर के बीच कनेक्शन के विन्यास / डिजाइन पर ध्यान केंद्रित करेगा।

ऐतिहासिक रूप से, रिवर्स प्रॉक्सी को कॉन्फ़िगर करने का डिफ़ॉल्ट तरीका है TLS/SSL (i.e. https) को रिवर्स प्रॉक्सी पर समाप्ति करना और सिर्फ वेनिला http (i.e.) का उपयोग करना है। रिवर्स प्रॉक्सी और बैकेंड सर्वर के बीच अनक्रिप्टेड, "प्लेन टेक्स्ट" ट्रैफिक। यह अच्छी तरह से काम करता है और यदि बैकेंड नेटवर्क किसी संभावित दुर्भावनापूर्ण अभिनेता या समझौता उपकरणों से अलग हो जाता है, तो यह भी पर्याप्त सुरक्षित हो सकता है।

हालांकि, इन दिनों कि इस तरह की स्थापना आम तौर पर असुरक्षित माना जाता है। ऐसा इसलिए है क्योंकि सादे http का उपयोग करने से नेटवर्क को स्नूप नेटवर्क यातायात तक पहुंचने और पासवर्ड जैसे संवेदनशील डेटा को रोकने की अनुमति मिलती है। इसके अलावा, http के माध्यम से सर्वर की पहचान की पुष्टि करने के लिए कोई तंत्र नहीं है, एक MITM हमला आदिवासी है।

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

विकल्प

सभी विकल्प सुरक्षा और प्रयास के बीच समझौता करते हैं। मैंने पहले से ही विकल्पों का एक सामान्य और उच्च स्तर का अवलोकन प्रदान किया है, लेकिन चलो थोड़ा अधिक विशिष्ट हो जाते हैं और उन्हें थोड़ा और तोड़ देते हैं। यहाँ आम विकल्प हैं जो मैं देखता हूँ, कम सुरक्षित के अस्पष्ट आदेश में (कुछ रैंकिंग अलग होने योग्य हैं)। फिर हम प्रत्येक को थोड़ा अधिक ध्यान देने वाले प्रयास में गोता लगाते हैं।

  • http://www.suncrypted.com/ http://www.suncrypted.com/ad http://www.sunncrypted.com/ad http://www.suncodeed.com/ad http://www.suncodeed.com/ad http://www. http://www. http://www. http://www.suncodeed/s/admission/s/ http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www.
  • https: - स्वयं हस्ताक्षरित प्रमाण; cert रिवर्स प्रॉक्सी द्वारा नजरअंदाज
  • https: - स्वयं हस्ताक्षरित cert & CA; cert रिवर्स प्रॉक्सी द्वारा सत्यापित
  • https: "proper" CA ने वाइल्डकार्ड साइर्ट पर हस्ताक्षर किए; रिवर्स प्रॉक्सी द्वारा सत्यापित
  • https: "proper" CA ने विशिष्ट Cert हस्ताक्षर किए; Cert रिवर्स प्रॉक्सी द्वारा सत्यापित

http://www.suncrypted.com/ http://www.suncrypted.com/ad http://www.sunncrypted.com/ad http://www.suncodeed.com/ad http://www.suncodeed.com/ad http://www. http://www. http://www. http://www.suncodeed/s/admission/s/ http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www. http://www.

जैसा कि ऊपर उल्लेख किया गया है, यह ऐतिहासिक "डिफ़ॉल्ट" सेट अप है। एक बार कॉन्फ़िगर किया गया है, यह आम तौर पर "अन्य" काम करता है और बिना किसी हस्तक्षेप की आवश्यकता के "कभी" करना जारी रखता है। एक बार जब एक बार जब यह सेट करना बहुत आसान था; क्योंकि अधिकांश सर्वर अक्सर http के माध्यम से होस्ट करने के लिए बॉक्स से डिज़ाइन किए गए थे।

हालांकि, चूंकि यातायात को अलेखित रूप से प्रेषित किया जा रहा है, वैसे ही नेटवर्क पर किसी भी दुर्भावनापूर्ण अभिनेता / डिवाइस जो बैकेंड सर्वर आसानी से यातायात को बाधित करने में सक्षम होगा (जैसे कि यातायात को अक्षम किया जा रहा है) A password, etc., शायद बदतर). इसके अलावा, वहाँ कोई मान्यकरण है कि बैकएंड सर्वर, MITM हमलों आदि आदि के लिए खतरा है।

प्रयास के संबंध में, यदि आप अपने सभी सर्वर को स्क्रैच से बना रहे हैं, तो संभवतः इसे कम से कम प्रयास की आवश्यकता होती है। हालांकि यदि आप TurnKey का उपयोग कर रहे हैं, तो यह विशिष्ट सर्वर पर निर्भर करेगा। हमारे कई सर्वर https पर रीडायरेक्ट करते हैं, कम से कम लॉग इन (पासवर्ड स्नोपिंग के जोखिम को कम करने के लिए)। उनमें से कई को एक विशिष्ट पूर्व निर्धारित डोमेन के माध्यम से जुड़ने में सक्षम होने की भी आवश्यकता होती है, इसलिए उस पर पुनर्निर्देशित होगा। FQDN डिफ़ॉल्ट रूप से डोमेन पुनर्निर्देशन शायद कोई मुद्दा नहीं होगा और आम तौर पर आपका रिवर्स प्रॉक्सी केवल डोमेन के माध्यम से कनेक्शन की अनुमति देगा ताकि कोई मुद्दा न हो। हालांकि, स्पष्ट रूप से https://www.youtu.com/redirecting http://www.youtu/redirecting http://www.youtu/redirecting http://www.youtu/redirecting http://www.youtu/redirecting http://www.youtu/redirecting http://www.youtu/redirecting http://www.youtu/redirect/redirect/redirect/redirect/redirect/redirect/ https://www.youtuit-redirect/redirect/redirect/redirect/redirect/redirect/

संक्षेप में, जबकि यह विशेष रूप से सुरक्षित सेट अप नहीं है, यह मानते हुए कि आप सभी लोगों और उपकरणों पर भरोसा करते हैं जो नेटवर्क से जुड़ सकते हैं जहां बैकएंड सर्वर रहते हैं, मुझे लगता है कि मैं सोचता हूं कि मैं क्या हूं? यह पूरी तरह से वैध विन्यास है।

कैसे

इस सेट को TurnKey बैकेंड सर्वर (या किसी अन्य सर्वर जो http://www.youtu.) के साथ काम करने के लिए आपको https://redirect. वास्तव में, शायद https को पूरी तरह से अक्षम करने के लिए उचित है। Apache विन्यास में, उन लाइनों को देखें जो पोर्ट 80 वर्चुअल होस्ट में "Rewrite" या "Redirect" से शुरू होती हैं। Nginx में फिर से पोर्ट 80 वर्चुअल सर्वर विन्यास में पुनर्निर्देशित करने की तलाश करें; "वापसी 30x" (जहां x संख्या है) या 'redirect" शुरू करने वाली लाइनों की तलाश करें।

https: - स्वयं हस्ताक्षरित प्रमाण; cert रिवर्स प्रॉक्सी द्वारा नजरअंदाज

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

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

कैसे

सभी विन्यास इस काम को रिवर्स प्रॉक्सी पर करने की आवश्यकता है। AFAIK Nginx इस व्यवहार के लिए डिफ़ॉल्ट - यानी। यह इस तथ्य को अनदेखा करता है कि certs स्वयं हस्ताक्षरित certs हैं और वैसे भी कनेक्ट करता है। अधिक जानकारी के लिए Nginx विन्यास को फिर से देखें, चेक करें निर्देशनात्मक डॉक.

Apache को कुछ अतिरिक्त विन्यास की आवश्यकता होती है। मैं विशिष्ट रूप से नहीं जाऊंगा, लेकिन इसका उपयोग करने की आवश्यकता होगी। SSLProxy* निर्देशजैसे SSLProxyCheckPeerCN और SSLProxyCheckPeerName.

https: - स्वयं हस्ताक्षरित cert & CA; cert रिवर्स प्रॉक्सी द्वारा सत्यापित

यह विकल्प आगे सुरक्षा उन्नयन है, जैसा कि पिछले विकल्प से परे है, सत्यापन भी होता है। इस विकल्प का उपयोग करने का मतलब है कि दोनों स्नूपिंग और MITM हमले व्यवहार्य नहीं हैं। डाउनसाइड यह है कि यह आपके द्वारा हस्ताक्षरित CA (प्रमाणित प्राधिकरण) कुंजी उत्पन्न करने और अपने CA कुंजी द्वारा हस्ताक्षरित स्वयं हस्ताक्षरित certs उत्पन्न करने की आवश्यकता के अनुसार अतिरिक्त प्रयास का एक सा है। CA (public) key को भी रिवर्स प्रॉक्सी पर संग्रहीत करने की आवश्यकता है।

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

कैसे

मुझे पता है कि यह विकल्प Apache और Nginx दोनों के लिए उपलब्ध है। दुर्भाग्य से मुझे विशिष्ट निर्देश की आवश्यकता नहीं है, लेकिन वे लगभग निश्चित रूप से "ssl" और उनके नाम में "ca" (और शायद "proxy)" होने की संभावना रखते हैं। जैसा कि ऊपर उल्लेख किया गया है, क्योंकि Nginx डिफ़ॉल्ट रूप से certs को प्रमाणित नहीं करता है, आप इसे सक्षम करना चाहते हैं।

https: "proper" CA ने वाइल्डकार्ड साइर्ट पर हस्ताक्षर किए; रिवर्स प्रॉक्सी द्वारा सत्यापित

एक "Wildcard" प्रमाण पत्र एक विशेष TLS/SSL प्रमाण पत्र है जो एकाधिक उप-डोमेन के लिए मान्य है। उदाहरण के लिए, Eg *.example.com के लिए एक वाइल्डकार्ड प्रमाणपत्र www.example.com, docs.example.com और blog.example.com (etc) के लिए मान्य होगा। अपने बैकएंड सर्वर पर वाइल्डकार्ड certs का उपयोग करने के लिए तत्काल ऊपर और नीचे विकल्पों के समान सुरक्षा प्रोफ़ाइल है, हालांकि विशिष्ट के बजाय वेल्डीशन सामान्य है। जबकि प्रमाणित को मान्य किया जाएगा, आप यह सुनिश्चित नहीं कर सकते कि आप किस सर्वर से जुड़ रहे हैं। यह अभी भी बहुत सुरक्षित होना चाहिए, हालांकि अगर कोई हमलावर आपके बैकएंड सर्वर में से एक तक पहुंच प्राप्त करता है, तो वे वाइल्डकार्ड साइर्ट को चोरी कर सकते हैं और कुछ अन्य बनाने के लिए इसका उपयोग कर सकते हैं। सर्वर/सेवा "वैलिड"

कैसे

अद्यतन होने पर नए प्रमाणपत्र प्राप्त करने और वितरित करने के लिए एक तंत्र से परे, आवश्यक कोई अतिरिक्त विन्यास नहीं होना चाहिए। हालांकि जैसा कि मैंने ऊपर उल्लेख किया है, Nginx डिफ़ॉल्ट रूप से certs को प्रमाणित नहीं करता है, इसलिए आप सक्षम होना चाहते हैं।

https: "proper" CA ने विशिष्ट Cert हस्ताक्षर किए; Cert रिवर्स प्रॉक्सी द्वारा सत्यापित

आधुनिक समय में, जहां हमारे पास ऐसी सेवाएं हैं जैसे कि Let's EncryptIMO यह सबसे आसान और सबसे अच्छा विकल्प है। आपको रिवर्स प्रॉक्सी का लाभ मिलता है, इसके साथ ही इसके अपने वैध CA साइन किए गए Cert के साथ "स्टैंडलोन" सर्वर की सुरक्षा मिलती है। यह एक विशेष रूप से अच्छा विकल्प है यदि कोई ऐसा मौका है कि यह सर्वर सीधे सार्वजनिक रूप से सामना करने के लिए ले जाया जा सकता है। आप शून्य परिवर्तन के साथ प्रत्यक्ष सार्वजनिक पहुंच की अनुमति दे सकते हैं और इसे "काम" (और अभी भी सुरक्षित) होना चाहिए।

चूंकि आपके बैकेंड सर्वर के पास यह स्वयं का वैध सीए हस्ताक्षरित प्रमाण होगा, इसलिए https कनेक्शन मान्य होंगे और "अन्य कार्य" होना चाहिए। इसके बाद आपको "मुक्त" के लिए पूरी तरह से प्रामाणिकीकृत एन्क्रिप्टेड कनेक्शन की अतिरिक्त सुरक्षा भी मिलती है।

कैसे

TurnKey बैकेंड सर्वर के लिए, आप लेवरेज कर सकते हैं Confconsole का उन्नत मेनू Let's Encrypt प्रमाणपत्र प्राप्त करने के लिए। डिफ़ॉल्ट (HTTP-01) सत्यापन के लिए 80 पोर्ट तक पहुंच की आवश्यकता होती है, लेकिन इसके लिए आपके रिवर्स प्रॉक्सी पर बहुत अतिरिक्त विन्यास की आवश्यकता नहीं होनी चाहिए। डोमेन प्राधिकरण सत्यापन DNS (DNS-01) के माध्यम से भी किया जा सकता है जो एक वैकल्पिक विकल्प है (जो DNS-01 का समर्थन करता है) हालांकि IMO HTTP आसान है।

TURNKEYGNU / LINUX

शुरू से सब कुछ बनाए बिना अपना इन्फ़्रास्ट्रक्चर खुद सँभालें।

TurnKey के बारे में जानें
परिचयदस्तावेज़Forumआम सवालब्लॉगGitHub
मुफ़्त और ओपन सोर्ससुरक्षा पहले से शामिलचलाने के लिए तैयार