मैं उबंटू में रूट लॉगिन को कैसे अक्षम कर सकता हूं?


28

कुछ समय पहले मैंने रूट को एक पासवर्ड दिया ताकि मैं रूट के रूप में लॉग इन कर सकूं और कुछ सामान प्राप्त कर सकूं। अब मैं सुरक्षा को कड़ा करने के लिए रूट लॉगिन को अक्षम करना चाहता हूं, क्योंकि मैं इंटरनेट पर अपनी सेवा का खुलासा करने जा रहा हूं। मैंने ऐसा करने के कई तरीके देखे हैं ( sudo passwd -l root, के साथ /etc/shadow, और इसी तरह से), लेकिन कहीं नहीं कहता है कि यह करने का सबसे अच्छा / सबसे समझदार तरीका क्या है। मैंने किया है, sudo passwd -l rootलेकिन मैंने सलाह दी है कि यह कहता है कि यह init स्क्रिप्ट को प्रभावित कर सकता है, और यह उतना सुरक्षित नहीं है जितना यह दिखता है क्योंकि यह अभी भी पासवर्ड मांगता है यदि आप लॉग इन करने की कोशिश करते हैं, बल्कि उपयोग से इनकार करते हैं। तो इसे प्राप्त करने का तरीका क्या होगा?

संपादित करें: स्पष्ट करने के लिए, यह रूट के रूप में स्थानीय लॉगिन के लिए है; मैंने पहले ही SSH के माध्यम से रिमोट लॉगिन को निष्क्रिय कर दिया है। हालांकि SSH के रूप में रूट के रूप में लॉग इन करने का प्रयास अभी भी रूट के पासवर्ड (जो हमेशा विफल रहता है) के लिए संकेत देता है। कि बुरा है?


1
रूट के लिए स्थानीय पहुंच को अक्षम करने से लगभग शून्य सुरक्षा लाभ होता है। के साथ एक उपयोगकर्ता शारीरिक पहुँच सकते हैं pwn अनगिनत तरीकों से अपने बॉक्स।
jscott

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

नीचे मेरे उत्तर के लिए अद्यतन देखें। मुझे लगता है कि अब मैं समझ गया हूं कि आप क्या पूछ रहे हैं।
15

रूट को अक्षम करने के दौरान @jscott घुसपैठ के खिलाफ सुरक्षा लाभ प्रदान नहीं कर सकता है, लेकिन रूट के रूप में लॉगिंग नहीं करता है गलत rmकमांड या इस तरह से wrecking sys के खिलाफ सुरक्षा स्विच प्रदान करता है । कुछ मैंने कठिन तरीका सीखा। हां, कोई बस रूट के रूप में लॉग इन नहीं कर सकता है, लेकिन अक्षम करने से यह sys व्यवस्थापक दृष्टिकोण से समझ में आता है।
कोडचम्प

वीपीएस या होस्टिंग के लिए बहुत अच्छा लगता है, वास्तव में कोई ब्रेनर नहीं है।
jjxtra

जवाबों:


34

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

समाहित करने के लिए sshसंपादन द्वारा रूट एक्सेस को अक्षम करें /etc/ssh/sshd_config:

PermitRootLogin no

के साथ Fiddling /etc/shadow, chsh -s /bin/false rootसभी एक साधारण बूट करने योग्य सीडी / थंबड्राइव के साथ पूर्ववत किया जा सकता है।

अपनी टिप्पणी के अनुसार अपडेट करें:

से help.ubuntu.com : "डिफ़ॉल्ट रूप से, जड़ खाते का पासवर्ड उबंटू में लॉक हो गया है "। कृपया "विशेष रूप से अपने रूट खाते को फिर से अक्षम करना" अनुभाग देखें। रूट के खाते की स्थिति को रीसेट करने के लिए, स्थापित-डिफ़ॉल्ट करने के लिए, निम्न कमांड का उपयोग करें:

sudo usermod -p '!' root

कोई भी सिस्टम सुरक्षित नहीं है जब किसी हमलावर की उस प्रणाली तक भौतिक पहुँच हो। जब आप संपादन / आदि / छाया कर सकते हैं, तो आपको संपादन / आदि / ssh / sshd_config से क्या रोकता है?
स्वेन

@ स्वेन: बिल्कुल। यही कारण है कि मैं "अक्षम" रूट को परेशान करने की उपयोगिता, सुरक्षा-वार पर भी बहस करता हूं। रूट की पहुंच प्रतिबंधित करें, हां। खाता अक्षम करें, नहीं।
14

4
sudo service ssh पुनरारंभ ....... ऐसा करने के बाद।
नवेद चौगल

संदर्भित मदद फ़ाइल अब निम्न आदेश देती है: sudo passwd -dl root
MrG

21

मुझे लगता है कि आप ssh के माध्यम से दूरस्थ लॉगिन को देखें। निम्नलिखित पंक्ति को इसमें जोड़ें /etc/ssh/sshd_config:

PermitRootLogin no

और ssh सेवा को पुनरारंभ करें

sudo service ssh restart

यह काम करना चाहिए और आप अपना मूल खाता रख सकते हैं जैसा कि यह है (या इसे वैसे भी अक्षम करने का प्रयास करें यदि आपको लगता है कि आवश्यक है)।


क्षमा करें, मुझे कहना चाहिए था, यह स्थानीय लॉगिन के लिए है। मैंने सवाल अपडेट किया है।
बेन हाइमर

4

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

यह किसी को उपयोगकर्ता नाम के ढेर का परीक्षण करने से रोकने के लिए, यह जानने के लिए कि आपके सिस्टम पर मान्य हैं। हालाँकि, सुरक्षा के दृष्टिकोण से, यदि आपने SSH के ऊपर रूट को निष्क्रिय कर दिया है, तो मैं एक ब्रूटफोर्स डिटेक्शन प्रोग्राम (जैसे असफल 2 चैनल) भी सेट कर दूंगा, और इसे सेट कर दूंगा ताकि अगर कोई रूट के रूप में लॉग इन करने की कोशिश करे, तो यह उन्हें ब्लॉक कर दे किसी भी अतिरिक्त हमले की कोशिश कर रहा है।


अच्छा जवाब, धन्यवाद! मैं पहले से ही असफल हो चुका हूँ, मुझे पहले से ही, अच्छी सलाह के रूप में लॉग इन करने के पहले प्रयास में ब्लॉक करने के लिए कॉन्फ़िगर कर दूंगा।
बेन हाइमर

2

एन्क्रिप्ट किए गए पासवर्ड को * / etc / छाया (दूसरे फ़ील्ड में, पहले ':') के साथ प्रतिस्थापित करना सबसे अच्छा तरीका है, IMHO। इसके अलावा, ssh के लिए रूट लॉगिन को डीएक्टिवेट करें (इस तरह से ssh को रूट के रूप में लॉगिन करना असंभव है) और शायद ssh को सर्टिफिकेट लॉगइन तक सीमित कर दे, जो पासवर्ड-आधारित लॉगिन की तुलना में अधिक सुरक्षित है।

ज्यादातर मामलों में, SSH बाहर से सुलभ एकमात्र सेवा होनी चाहिए जो संभावित रूप से रूट लॉगिन की अनुमति देती है, इसलिए यह दरवाजा लॉक हो जाएगा।

इसे और अधिक प्रतिबंधित करने के लिए, आप विफलता 2बान जैसी कुछ स्थापित कर सकते हैं, जो कई असफल लॉगिन प्रयासों के बाद निश्चित समय के लिए आईपी पते पर प्रतिबंध लगाता है।


मुझे लग रहा है '*' स्वीकृत उत्तर के अनुसार '' जैसा है! '', इसलिए मैं इस उत्तर को भी वोट करूँगा।
बेन हाइमर

1

जेआर एट अल,

आपके भत्ते ने मुझे इस https://help.ubuntu.com/community/SSH/OpenSSH/Configuring के लिए प्रेरित किया

सुडो vi / etc / ssh / sshd_config

PermitRootLogin हाँ (नहीं में परिवर्तित)

(फ़ाइल के नीचे पंक्ति जोड़ें) उपयोगकर्ता 1 यूजर 2 को अस्वीकार करें

सहेजें और बाहर निकलें और फिर

सुडोल सेवा ssh पुनरारंभ

मेरा मुद्दा हल किया। सभी को धन्यवाद।


0

यदि आप स्थानीय रूट लॉगिन को निष्क्रिय करना चाहते हैं, तो आप संशोधित कर सकते हैं / etc / passwd और प्रतिस्थापित / bin / bash by / bin / false। फिर भी, जब से मैंने इसका परीक्षण नहीं किया है, मैं कहूंगा कि एक रूट सत्र को साइड में खुला छोड़ दें, इसका परीक्षण करें, और यदि कोई अजीब साइड इफेक्ट है, तो इसे वापस बदलें।


0

पुन: सुरक्षा।

IMHO केवल इतना है कि आप कर सकते हैं, सुरक्षा वार, बॉक्स को अनप्लग करने से कम, इसे नेटवर्क से डिस्कनेक्ट कर रहे हैं, और इसे 3 "मोटी बुलेट-प्रूफ कार्बाइड-स्टील बॉक्स के अंदर वेल्डिंग कर रहे हैं।

इसे इस तरह से सोचें - अगर लोग रक्षा विभाग, सीआईए, एफबीआई और सिटीबैंक को हैक कर सकते हैं - तो हममें से बाकी लोग केवल बेहतर प्रदर्शन नहीं कर सकते।

पुन: SSH सुरक्षा।

मैंने न केवल ssh के माध्यम से रूट एक्सेस को मना किया है, मैंने अपने, और केवल मेरे, उपयोगकर्ता नाम "AllowUsers" पैरामीटर को भी सेट किया है। इस तरह से कोई और नहीं बल्कि मेरा अपना उपयोगकर्ता ssh के द्वारा लॉग इन कर सकता है। यह मेरे स्वयं के मामले के रूप में निरर्थक हो सकता है, मैं वैसे भी केवल एक गैर-रूट उपयोगकर्ता बनाता हूं।

दुर्भाग्य से, जैसा कि दूसरों ने पहले भी कई बार कहा है, जैसे ही किसी को बॉक्स में भौतिक पहुंच मिलती है, सभी दांव बंद हो जाते हैं!

Ssh लॉगइन के लिए सर्टिफिकेट एक्सचेंज? Hmmmm। । । । बढ़िया है। आप इसे कैसे करते हो?

जिम (JR)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.