पहले 1024 पोर्ट केवल रूट उपयोगकर्ता तक ही सीमित क्यों हैं?


53

यह किसी भी चीज़ की तुलना में अधिक निष्क्रिय जिज्ञासा है। मेरे एक दोस्त ने मुझसे पूछा 'यह कौन सी पोर्ट रेंज है जो केवल लिनक्स के तहत ही उपयोग कर सकता है?' मैंने उसे 0-1024 प्रतिबंधित कर दिया था। फिर उसने मुझसे पूछा कि ऐसा क्यों है और ... मैं एक नुकसान में था। कोई विचार नहीं।

क्या कोई कारण है कि ये बंदरगाह प्रतिबंधित हैं और 1025-65535 नहीं हैं?

अधिकांश प्रमुख नेटवर्क सेवाएं (HTTP, FTP, SSH, Telnet, HTTPS, POP, SMTP, आदि) इस श्रेणी में हैं इसलिए संभव उत्तर जो मैंने सोचा:

  • एक अविश्वसनीय उपयोगकर्ता एक प्रोग्राम चला सकता है जो लॉगऑन विवरण के लिए इन बंदरगाहों पर सुनता है।
  • एक अविश्वसनीय उपयोगकर्ता एक अनधिकृत सर्वर एप्लिकेशन चला सकता है।

क्या कोई यहां रोशनी बिखेर सकता है?

जवाबों:


52

मान लीजिए कि आप पोर्ट <1024 पर एक कंप्यूटर के साथ डेटा का आदान-प्रदान कर रहे हैं, और आप जानते हैं कि कंप्यूटर यूनिक्स के कुछ संस्करण चला रहा है। तब आप जानते हैं कि उस पोर्ट पर चलने वाली सेवा को सिस्टम एडमिनिस्ट्रेटर द्वारा अनुमोदित किया जाता है: यह रूट के रूप में चल रहा है, या कम से कम रूट के रूप में शुरू किया जाना था।

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

मल्टीसियर मशीनों के साथ, विशेष रूप से एक स्थानीय नेटवर्क पर, यह बात कर सकता है। उदाहरण के लिए, नागरिक क्रिप्टोग्राफी से पहले के दिनों में, एक अन्य मशीन पर शेल कमांड चलाने का एक लोकप्रिय तरीका था rsh( r emote sh ell); आप पासवर्ड प्रमाणीकरण का उपयोग कर सकते हैं, या आप मशीन A पर उपयोगकर्ता X साबित करके बस प्रमाणित कर सकते हैं (मशीन B के साथ यह जानते हुए कि X @ A बिना पासवर्ड के X @ B के रूप में लॉग इन कर सकता है)। कैसे साबित करें? rshग्राहक setuid जड़ है, और एक पोर्ट संख्या <1024 का उपयोग करता है, तो सर्वर जानता है कि ग्राहक यह करने के लिए बात कर रहा है भरोसेमंद है और के रूप में करने के लिए एक पर जो उपयोगकर्ता यह लागू है झूठ नहीं होंगे। इसी प्रकार एन.एफ.एस. उपयोगकर्ताओं और अनुमतियों के संबंध में पारदर्शी होने के लिए डिज़ाइन किया गया था, इसलिए एक सामान्य कॉन्फ़िगरेशन यह था कि एक स्थानीय नेटवर्क पर प्रत्येक मशीन एक ही उपयोगकर्ता डेटाबेस का उपयोग करती थी, और सर्वर बी से ए बढ़ते फाइल सिस्टम पर उपयोगकर्ता एन को बी में उपयोगकर्ता एन की अनुमति मिलेगी। फिर, तथ्य यह है कि एनएफएस क्लाइंट पोर्ट नंबर <1024 से आ रहा है, यह साबित करता है कि ए में रूट ने एनएफएस क्लाइंट को वीटो कर दिया है, जो यह सुनिश्चित करने वाला है कि यदि यह उपयोगकर्ता एन से होने के लिए एक अनुरोध को प्रसारित करता है तो यह वास्तव में है उपयोगकर्ता एन से।

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


2
तो, एक गरीब आदमी के प्रमाणीकरण की तरह? क्या इस सम्मेलन का आधुनिक * निक्स-जैसे ऑपरेटिंग सिस्टम में कोई वास्तविक लाभ है?
एंड्रयू लैम्बर्ट

2
@ हैरान: यूनिक्स दुनिया रूढ़िवादी है, इसलिए पूछने के लिए सवाल "क्या यह किसी भी वास्तविक परेशानी का कारण है?" (और इसका पूर्ण ज्ञान के साथ उत्तर दिया जाना चाहिए कि चलने लायक हर एक बंदरगाह को बदलने के लिए कमांड लाइन तर्क है)।
dmckee

5
@ डीडीकी यह भी तर्क दिया जा सकता है कि इस तरह के डिज़ाइन से रूट के रूप में अधिक सर्वर चल रहे हैं, भले ही उनके पास वैकल्पिक बंदरगाहों पर चलने का विकल्प हो।
एंड्रयू लैंबर्ट

5
@ हैरान यह स्थानीय नेटवर्क पर आज भी कभी-कभार उपयोगी हो सकता है। मुझे नहीं लगता कि यह रूट के रूप में चल रहे अधिक सर्वरों की ओर जाता है, सेवाएं पोर्ट को बाँध सकती हैं, फिर विशेषाधिकारों को छोड़ सकती हैं, या उपलब्ध होने पर क्षमताओं का उपयोग कर सकती हैं, या व्यवस्थापक फ़ायरवॉल कॉन्फ़िगरेशन पर पोर्ट को पुनर्निर्देशित कर सकते हैं। मुझे नहीं लगता कि यह यूनिक्स आज बनाया गया था, लेकिन इसे चोट नहीं पहुंचेगी।
गिल्स एसओ- बुराई को रोकना '

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