जवाबों:
उबंटू का सामुदायिक प्रलेखन वास्तविक कारणों की व्याख्या करता है कि क्यों उत्पादन सर्वर सिस्टम पर GUI चलाने की अनुशंसा नहीं की जाती है:
अधिकांश Ubuntu सर्वर डेवलपर्स X को सर्वर पर स्थापित करने की अनुशंसा नहीं करते हैं। GUI स्थापित नहीं करने के कई कारण हैं।
GUI स्थापित नहीं करने के कुछ कारणों में शामिल हैं:
- आपके पास सुरक्षा भेद्यताओं के लिए अधिक कोड होगा, और अधिक पैकेज जिन्हें अपडेट करने की आवश्यकता है, और अधिक सर्वर डाउनटाइम।
- एलटीएस सर्वर रिलीज के पूरे 5 साल के जीवन चक्र के लिए एक्स 11 और डेस्कटॉप पैकेज समर्थित नहीं हैं।
- प्रदर्शन को नुकसान हो सकता है क्योंकि संसाधन (मेमोरी, हार्ड डिस्क स्पेस, सीपीयू, आदि) जीयूआई द्वारा खपत किए जाएंगे।
- उत्पादन सर्वर पर केवल आवश्यक सॉफ़्टवेयर स्थापित करना सबसे अच्छा अभ्यास है।
- GUI में अन्य नेटवर्क सेवाएँ शामिल हो सकती हैं जो सर्वर के लिए अनुपयुक्त हैं।
- उबंटू डेस्कटॉप संस्करण के लक्ष्यों में से एक यह है कि उपयोगकर्ताओं को लिनक्स का उपयोग करना आसान हो। कुछ डेस्कटॉप वातावरणों को स्थापित करते समय, ऐसी सेवाएँ जिन्हें आप विशेष रूप से नहीं चाहते हैं उन्हें स्थापित किया जाएगा। उदाहरण के लिए, अवहि-डेमन , जो नेटवर्किंग को कॉन्फ़िगर करने में मदद करने के लिए उपयोग किया जाता है, एक और खुला पोर्ट जोड़ता है और एक .local डोमेन के साथ अवांछित DNS टकरावों को पेश कर सकता है।
तो सबसे सुरक्षित सर्वर के लिए एक जीयूआई स्थापित नहीं करना सबसे अच्छा है।
"ServerGUI" द्वारा "उबंटू डॉक्यूमेंटेशन विकी का योगदानकर्ता", यहाँ CC-BY-SA 3.0 द्वारा अनुमति के अनुसार पुन: प्रस्तुत किया गया है ।
कुछ हद तक आम गलतफहमी के विपरीत, X11 एक सर्वर होने का वास्तव में कोई लेना-देना नहीं है कि उत्पादन सर्वर पर GUI चलाने को सुरक्षा के दृष्टिकोण से गैर-आदर्श क्यों माना जाता है। X11 वस्तुतः किसी भी ऑपरेटिंग सिस्टम पर, अब नेटवर्क पर सुलभ होने के लिए डिफ़ॉल्ट रूप से कॉन्फ़िगर नहीं किया गया है। उबंटू के किसी भी संस्करण में डिफ़ॉल्ट कॉन्फ़िगरेशन में कभी भी X11 नेटवर्क-सुलभ सर्वर नहीं चलता है। (टीसीपी के माध्यम से उबंटू पर एक्स 11 को एक्सेस करने के लिए, आपको इसे आगे भेजना होगा हालांकि एसएसएच या मैन्युअल रूप से सर्वर को फिर से कॉन्फ़िगर करना होगा।)
इसके अलावा, भले ही X11 ने नेटवर्क-सुलभ सर्वर चलाया हो , लेकिन यह उत्पादन सर्वर सिस्टम पर स्थापित नहीं होने का एक कारण नहीं होगा। उत्पादन सर्वर चलाने वाला कोई भी व्यक्ति अपनी आवश्यकताओं के लिए इसे कॉन्फ़िगर करने में सक्षम है और यह सुनिश्चित करने के लिए ऑडिट कर रहा है कि अवांछनीय सेवाएं नहीं चल रही हैं। (वे नहीं, तो कर सकते हैं कि की तुलना में एक जीयूआई स्थापित होने के द्वारा बनाई किया जाएगा उनकी सुरक्षा करने के लिए एक बहुत अधिक खतरा होगा।) यहां तक कि अगर X11 था (एक भौतिक नेटवर्क इंटरफेस पर एक बंदरगाह सुनने के लिए जो मामला नहीं है बंदरगाह), अंतर्निहित netfilter
उपयोग iptables
(या एक उच्च-स्तरीय फ्रंटेंड जैसे ufw
) को पुन: कॉन्फ़िगर करके आसानी से अवरुद्ध किया जा सकता है ।
इसके विपरीत, उपरोक्त समस्याओं को सुलह से दूर करना इतना आसान नहीं है।
हर चलने की प्रक्रिया एक सुरक्षा जोखिम है। विशेष रूप से वे जो एक नेटवर्क पोर्ट पर सुनते हैं (X11 करता है)।
सामान्य अच्छा अभ्यास एक सर्वर पर कुछ भी चलाने के लिए नहीं है जो कि बिल्कुल होने की आवश्यकता नहीं है, और X11 निश्चित रूप से एक सर्वर पर होने की आवश्यकता नहीं है जिसे आप एसएसएच करेंगे।
मुझे संदेह है कि आपके द्वारा पढ़ा गया लेख X11 में एक विशिष्ट भेद्यता के बारे में बात कर रहा था (यह तय हो गया होगा यदि हां, तो भेद्यताएं लंबे समय तक अधूरा घूमने के लिए नहीं होती हैं), लेकिन केवल सामान्य अच्छा अभ्यास।
-nolisten tcp
डिफ़ॉल्ट रूप से उपयोग करता है
इसका कारण यह है कि X विंडो सिस्टम एक गंभीर सुरक्षा जोखिम उत्पन्न करता है यदि इसे ठीक से सुरक्षित नहीं किया गया है। एक X11 "डिस्प्ले" आपके डेस्कटॉप पर चलने वाला X11 सर्वर है, और इसमें स्क्रीन, कीबोर्ड और माउस शामिल हैं। यदि आपका X11 डिस्प्ले असुरक्षित है, तो यह इंटरनेट पर कहीं भी चलने वाले प्रोग्राम को इससे कनेक्ट करने की अनुमति देगा और कनेक्शन आपके लिए पूरी तरह से अदृश्य हो सकता है। एक बार कनेक्ट होने के बाद, उस प्रोग्राम की आपके डिस्प्ले तक पूरी पहुंच है, जिसका अर्थ है कि यह हो सकता है:
एक अंगूठे का नियम उपयोग करने के लिए नहीं है xhost +
- यह आपके प्रदर्शन की सुरक्षा को पूरी तरह से निष्क्रिय कर देता है।
एक्स को फॉरवर्ड करने का एक अच्छा तरीका है ssh
से लिया गया : http://www2.slac.stanford.edu/computing/security/xwindow/
xhost +
कमांड है
xhost +
-nolisten tcp
हालांकि ओवरराइड नहीं कर सकते , बस आपको लोकलहोस्ट से किसी भी कनेक्शन के लिए खोल सकते हैं।