स्थानीय नेटवर्क से केवल अपाचे वर्चुअल होस्ट तक पहुंच की अनुमति


19

मेरे पास लिनक्स सर्वर I पर एक वेब पेज है, जो Apache 2.2 चला रहा है। यह सर्वर कुछ अन्य सेवाओं के लिए बाहरी दुनिया को दिखाई देता है।

मैं अपाचे को कॉन्फ़िगर करना चाहूंगा ताकि एक दिया गया वर्चुअल होस्ट केवल स्थानीय नेटवर्क के अंदर से दिखाई दे, इसलिए मैं अपने संगठन के अन्य लोगों से प्रतिक्रिया प्राप्त करने के लिए एक वेब एप्लिकेशन को तैनात कर सकता हूं। मुझे लगता है कि यह अनुमति दें निर्देश के साथ करना है, लेकिन मेरे प्रयोग ठीक नहीं चल रहे हैं।

इसे प्राप्त करने के लिए मैं अपनी कॉन्फ़िग फ़ाइल को कैसे बदल सकता हूँ? क्या मुझे फ़ायरवॉल कॉन्फ़िगरेशन को भी बदलना चाहिए?


क्या आप अपने सर्वर के लिए एक निजी (गैर-रूटेबल) आईपी पते का उपयोग कर रहे हैं जैसे कि 10.0.0.100 या सार्वजनिक (रूटेबल) आईपी एड्रेस?
क्लोसेट्नोक

सर्वर के पास एक सार्वजनिक आईपी पता है, और मैं इसे कार्य नेटवर्क के बाहर से कनेक्ट कर सकता हूं - उदाहरण के लिए घर से। सहकर्मियों के कंप्यूटर में सभी 10 के स्थानीय आईपी पते हैं। *। *। * प्रकार।
बीटीज

जवाबों:


12

आसान। बस अपने मुख्य कॉन्फ़िगरेशन या अपने वर्चुअल कॉन्फ़िगरेशन में ऐसा कुछ सेट करें:

<Directory /var/www/path/to/your/web/documents>

  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1 ::1
  Allow from localhost
  Allow from 192.168
  Allow from 10
  Satisfy Any

</Directory>

<Directory></Directory>बयान मूल रूप से कहते हैं, "इस निर्देशिका में कुछ भी करने के लिए इन नियमों का उपयोग करें। और "इस निर्देशिका" द्वारा, /var/www/path/to/your/web/documentsजिसका उल्लेख मैं इस उदाहरण में सेट करता हूं, लेकिन आपकी साइट के स्थानीय निर्देशिका पथ से मिलान करने के लिए इसे बदला जाना चाहिए।

अगले <Directory></Directory>क्षेत्र में आप डिफ़ॉल्ट अपाचे व्यवहार को बदल रहे हैं जो Allowडिफ़ॉल्ट रूप से सभी के लिए है Order Deny,Allow। इसके बाद, आप Deny from allहर किसी की पहुंच से इनकार करते हैं। Follwing वे Allow fromकथन हैं, जो 127.0.0.1 ::1(लोकलहोस्ट आईपी एड्रेस), localhost(लोकलहोस्ट ही) से एक्सेस की अनुमति देता है । वह सब मानक सामान है। चूंकि localhostकई आंतरिक सिस्टम प्रक्रियाओं के लिए एक्सेस की आवश्यकता होती है।

वह चीज़ जो आपके लिए मायने रखती है।

के Allow fromलिए के 192.168रूप में के रूप में अच्छी तरह 10से किसी भी / सभी नेटवर्क पते से नेटवर्क रेंज है कि उन नंबरों से उपसर्ग है से उपयोग की अनुमति देगा।

तो यह दर्शाता है 192.168कि मूल रूप से इसका मतलब है कि अगर उपयोगकर्ता का पता है 192.168.59.27या 192.168.1.123वे वेबसाइट देख पाएंगे।

और इसी तरह उपसर्ग के Allow fromलिए उपयोग करने का 10आश्वासन देता है कि अगर किसी के पास आईपी पता है 10.0.1.2या यहां तक ​​कि 10.90.2.3वे सामग्री को देख पाएंगे।

दुनिया में बहुत ज्यादा सभी आंतरिक नेटवर्क या तो 192.168रेंज का उपयोग करते हैं या रेंज में कुछ 10। बाहरी कुछ भी नहीं। तो इस कॉम्बो का उपयोग करने से बाहरी दुनिया तक पहुंच को अवरुद्ध करने का आपका लक्ष्य प्राप्त होगा लेकिन केवल अपने स्थानीय नेटवर्क के भीतर से ही पहुंच की अनुमति दें।


Satisfy Anyइस मामले में क्या करना चाहिए? मुझे इस सब के बारे में कुछ भी नहीं पता है, लेकिन जब यह मेरे परिदृश्य में मौजूद था, तो मैं <Location /path>बाहरी नेटवर्क से पेज (मैंने इस्तेमाल किया ) को एक्सेस कर सकता था । हालांकि इसे हटाकर मेरे मुद्दे तय हो गए। यह समझना अच्छा था कि यह मामला क्यों था क्योंकि यह थोड़ा चिंतित था कि मैं जगह में नियमों के साथ भी पृष्ठ तक पहुंच सकता हूं।
liamnichols

@liamnichols जैसा कि यहाँ बताया गया है : "अनुरोध को अनुमति देता है यदि कोई आवश्यकता पूरी हो (प्रमाणीकरण या पहुँच)।"
JakeGould

14

इस उत्तर में उतरने वाले लोग, कृपया ध्यान दें कि यह अपाचे 2.2 के लिए विशिष्ट है।

Apache 2.4 ने इन निर्देशों को हटा दिया है।

नया तरीका मॉड्यूल mod_authz_hostऔर Requireनिर्देशों का उपयोग कर रहा है । ( लिंक )

अपाचे 2.4 में आपको करना चाहिए

<Directory /var/www/ncp-web/>
  Require host localhost
  Require ip 127.0.0.1
  Require ip 192.168
  Require ip 10
</Directory>

, और सभी अनुमति निर्देशों को हटा दें।


5

अपने वर्चुअल होस्ट निर्देश के अंदर इस अनुभाग को जोड़ें:

<Location /mypathurl>
    Order deny,allow
    Deny from all
    Allow from 192.168.1.10
</Location>

ऊपर अपने आईपी बदलें। इसका उपयोग वित्तीय स्तर की सुरक्षा, FYI के लिए नहीं किया जाना चाहिए।


-1

मुझे नहीं पता कि आपके पास अपना नेटवर्क सेटअप कैसे है, हालांकि, मैं कोशिश कर रहा हूं और बेहतर जवाब देने की कोशिश कर रहा हूं।

मान लेते हैं कि आपके पास DSL कनेक्शन के साथ एक छोटा कार्यालय है। आपके पास एक स्थिर सार्वजनिक IP पता या आपके लाइन, डीएसएल मॉडेम और फ़ायरवॉल को निर्दिष्ट पते का एक ब्लॉक होगा। यह कैसे होता है, इसके विवरण में शामिल हुए बिना, मैं महत्वपूर्ण भाग में पहुंच जाऊंगा।

आपको NAT (नेटवर्क एड्रेस ट्रांसलेशन) का उपयोग करना चाहिए। इससे सार्वजनिक IP पते आपके नेटवर्क के WAN (इंटरनेट) पक्ष पर रहते हैं और LAN की ओर नेटवर्क के भीतर निजी IP पते (जैसे 10.0.0.100) का उपयोग करते हैं। यह मानक संचालन प्रक्रिया है। यदि आप अपने नेटवर्क के भीतर एक वेब सर्वर की मेजबानी करते हैं, तो आप अपने वेब सर्वर पर किसी भी वेब ट्रैफ़िक को इंगित करने के लिए पोर्ट फ़ॉरवर्डिंग या अन्य समान तंत्र का उपयोग करेंगे।

इस मानक परिदृश्य में, आपके आंतरिक कंप्यूटर सभी निजी IP पते का उपयोग करेंगे।

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


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

यदि आपके पास एक फ़ायरवॉल है, तो आप कुछ पोर्ट को उस IP पते पर बंद कर सकते हैं।
क्लिटनेटॉक

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

@JakeGould फायरवॉल जरूरी ओवरकिल समाधान नहीं हैं। मुझे पता है कि अपाचे वास्तव में अच्छी तरह से है। हालांकि, अधिकांश अच्छे फायरवॉल में HTTP फ़िल्टरिंग विकल्प हैं जो सर्वर पर लोड न डालकर मदद करते हैं। साथ ही, अपाचे उत्कृष्ट है, जबकि यह गलती के बिना नहीं है। साथ ही, वैकल्पिक पोर्ट एक्सेस सहित पोर्ट एक्सेस को फ़ायरवॉल का उपयोग करके हेरफेर किया जा सकता है ताकि कुछ वेब सेवाएँ सार्वजनिक रहें और अन्य केवल LAN के भीतर ही उपलब्ध हों।
क्लोजेटनोक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.