सही ढंग से सेटअप एपाचे कई उपयोगकर्ताओं के साथ वर्चुअल होस्ट करता है


15

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

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

मैं एक नए सर्वर पर जाने की प्रक्रिया में हूं और वर्चुअल होस्ट और उपयोगकर्ता खातों की स्थापना के संबंध में सही चरणों की तलाश कर रहा हूं जो उन्हें एक्सेस कर सकें। चूँकि हम 3rd पार्टी सॉफ्टवेयर का उपयोग करते हैं, इसलिए हमें इस अवसर पर किसी अन्य व्यक्ति को अपनी वेबसाइट की फाइलों की जांच करने के लिए साइट की आवश्यकता होगी।

हमारा वर्तमान सर्वर 10.04 संस्करण है, हालांकि नया सर्वर 12.04 संस्करण है। सभी वेबसाइट फ़ाइलों के तहत सेटअप हैं

/home/www/site1.com

/home/www/site2.com

/home/www/site3.com

आदि

संक्षेप में, मुझे लगता है कि यह वही है जिसके बाद मैं हूं।

  1. मैं एक वर्चुअल होस्ट और उपयोगकर्ता को सही तरीके से कैसे सेटअप करूं, ताकि इसकी केवल अपनी फाइलों तक ही पहुंच हो, न कि सर्वर पर किसी अन्य वर्चुअल होस्ट की। उदाहरण के लिए, उस साइट को दुर्भावनापूर्ण कोड के साथ शोषण किया जाना चाहिए, यह सर्वर पर अन्य साइटों को संक्रमित नहीं कर सकता है

  2. मैं उपयोगकर्ताओं को कैसे सेटअप करूंगा ताकि वे केवल उनकी दी गई फाइलों में ही दब जाएं और किसी भी अन्य साइट तक न पहुंच सकें।

जैसा कि पहले उल्लेख किया गया है, इन चरणों में से किसी एक को कैसे करें, इसके बारे में विस्तार से कई लेख हैं, लेकिन कुछ भी नहीं जो उन्हें मूल रूप से एक साथ लाता है।

वास्तव में किसी की मदद की सराहना कर सकते हैं। कृपया सलाह देने के लिए किसी भी अतिरिक्त जानकारी के लिए स्वतंत्र महसूस करें। मैं वर्तमान में chroot सेटअप करने के लिए ट्यूटोरियल का अनुसरण कर रहा हूं, हालांकि मुझे डर है कि मैं इसे सही ढंग से नहीं कर रहा हूं क्योंकि मैंने रास्ते में कुछ विसंगतियों को उठाया है। जेलकिट की जाँच भी कर रहा हूँ

जवाबों:


6

चूंकि प्रश्न "अपाचे वर्चुअल होस्ट अलग उपयोगकर्ता" के रूप में Google में शीर्ष खोज परिणाम है, इसलिए मैं इस उत्तर के आधार पर अधिक विस्तृत जवाब देना चाहूंगा । मेरा उत्तर PHP और CGI के usecase को कवर नहीं करता है (आप suPHP का उपयोग करेंगे)। यह अपाचे मॉड्यूल के रूप में उपयोग किए जाने पर PHP पर केंद्रित है।

आप अपाचे मॉड्यूल apache2-mpm-itk का उपयोग कर सकते हैं । यह अपाचे 2.4 के वर्तमान संस्करण के लिए उपलब्ध है। यह निर्देशन के साथ आता है AssignUserID। यह निर्देश उपयोगकर्ता को परिभाषित करता है और एक आभासी मेजबान के अनुरोध को नियंत्रित करता है। यह अपाचे साइट विन्यास का एक उदाहरण है जिसे मैंने समाप्त किया है:

<VirtualHost *:80>
ServerName www.site1.com
DocumentRoot /home/www/site1.com
AssignUserID site1 www-data
php_admin_value open_basedir /home/www/site1.com
...
</VirtualHost>

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

नोट: Apache2-mpm-itk वर्तमान में Apache के http2 मॉड्यूल के साथ असंगत है।


1

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

अपने सवाल पर वापस आते हुए, मुझे लगता है कि उत्तर अच्छी तरह से एक ट्यूटोरियल लेख या एक छोटी सी किताब हो सकती है। एक शुरुआत के लिए इन लेखों को देखें:

https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

http://www.servermom.org/build-ubuntu-server-a-complete-guide/


धन्यवाद बायोसायबरमैन ये बहुत बुनियादी कदम हैं जिनका मैं अनुसरण करता हूं और बहुत परिचित हूं। एकमात्र अंतर यह है कि मैंने प्रत्येक वेबसाइट को एक अलग उपयोगकर्ता के लिए नहीं चुना है, जो कि मैं अगले प्रयास करने जा रहा हूं, लेकिन क्या यह वर्चुअलहोस्ट फ़ोल्डर को एक दूसरे से सुरक्षित करता है? जेलकिट समाधान का हिस्सा लगता है, लेकिन मुझे 100% यकीन नहीं है। मैं अतीत में वेबमिन के साथ खेल चुका हूं इसलिए इसे फिर से देखूंगा और देखूंगा कि इसमें मेरे किसी भी प्रश्न के साथ मदद मिलेगी या नहीं।
user249729
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.