Sudo का पासवर्ड कितना महत्वपूर्ण है?


25

मुझे पता है कि sudo पासवर्ड मेरे कंप्यूटर को स्थानीय रूप से किसी के द्वारा हैक होने से बचाता है ( संपादित करें: वास्तव में, यह नहीं है )। मेरा पासवर्ड उस उद्देश्य के लिए काफी मजबूत है, लेकिन मुझे पता है कि यह पर्याप्त मजबूत नहीं है अगर कोई इसे दूर से बल दे सकता है।

क्या कोई मानक उबंटू डेस्कटॉप इंस्टॉलेशन पर, कंप्यूटर पर बिना किसी भौतिक पहुँच के मेरे सुडो पासवर्ड का उपयोग करके मेरे कंप्यूटर को रूट मोड में ला सकता है?

  1. यदि आपके पास नेटवर्क एक्सेस है, तो निश्चित रूप से हाँ (छोटा उत्तर)
  2. यदि आप सुरक्षा पर पर्याप्त ध्यान नहीं देते हैं, तो हाँ (लंबा उत्तर)
  3. यदि आपके पास "ssh" चल रहा है, और कोई 2FA नहीं है , तो हाँ ( टिप्पणियाँ और उत्तर)
  4. कोई आपके कंप्यूटर को बिना sudo / user पासवर्ड के रूट के रूप में एक्सेस कर सकता है

सचमुच "कोई भी", मेरे सहित, या उदाहरण के लिए, कुछ पीपा अनुरक्षक मुझे भरोसा है, किसी और को।
mxdsp

1
वे SSH और sudo के माध्यम से रूट कर सकते हैं।
आइज़ुद्दीन ज़ली

1
ठीक ठीक। इसे कठोर करने के लिए आप 2FA का उपयोग कर सकते हैं। इस गाइड
आइज़ुद्दीन ज़ली

1
तब आप SSH हमले से बच जाते हैं। हैकिंग तकनीक का कई लोग इस्तेमाल करते हैं।
ऐजुद्दीन ज़ली

1
बस "sudo पासवर्ड" जैसी कोई चीज नहीं है।
hobbs

जवाबों:


34

मुझे पता है कि sudo पासवर्ड मेरे कंप्यूटर को स्थानीय रूप से हैक किए जाने से बचाता है।

मैं आपको बहुत अधिक डराना नहीं चाहता, लेकिन अगर किसी के पास भौतिक पहुंच है, तो आपने उन्हें यह बता दिया कि आपका पासवर्ड कितना मजबूत है। इसमें किसी के द्वारा 1 रिबूट लिया जाएगा ताकि कोई आपके रूट पासवर्ड को बदल सके (आपके वर्तमान पासवर्ड की आपूर्ति करने की आवश्यकता के बिना "ग्रब रेस्क्यू" से किया जा सकता है)। वैसे: इस पद्धति को वैध और एक विशेषता माना जाता है, और एक स्वीकृत सुरक्षा जोखिम (अन्यथा आप कभी भी अपने सिस्टम को ठीक नहीं कर पाएंगे यदि पासवर्ड समझौता नहीं किया गया था)।

लेकिन मुझे पता है कि यह काफी मजबूत नहीं है अगर कोई इसे दूर से बल दे सकता है।

यहाँ खेलने में कुछ और आता है: अगर कोई बार-बार एक ही जानकारी मांगता है, तो उसे बाहर से लॉक करने के लिए एक रूटर काफी स्मार्ट होना चाहिए। मूल रूप से आपके पास यहां क्या है एक डॉस हमला (या 2 या कंप्यूटर पर हमला करने वाला डीडीओएस)। एक रूटर को उस कनेक्शन को मारना चाहिए और उस कनेक्शन से नए अनुरोधों को स्वीकार करने से पहले प्रतीक्षा अवधि लागू करनी चाहिए।

क्या कोई मानक उबंटू डेस्कटॉप इंस्टॉलेशन पर, कंप्यूटर पर बिना किसी भौतिक पहुँच के मेरे सुडो पासवर्ड का उपयोग करके कोई भी मेरे कंप्यूटर को रूट मोड में ला सकता है?

उन्हें पहले कनेक्ट करने की आवश्यकता है, फिर sudo पासवर्ड प्रदान करें। "रूट" मोड अक्षम है और आप सीधे "#" प्रॉम्प्ट में लॉग इन नहीं कर सकते।

ध्यान दें कि किसी सेवा का दुरुपयोग करना संभव है। यदि आपके पास उस मशीन पर "ssh" चल रहा है और वे आपके सिस्टम में "ssh" कर सकते हैं, और उस उपयोगकर्ता के लिए अपने उपयोगकर्ता नाम और पासवर्ड पर हाथ प्राप्त करें (और जैसा कि यह एक व्यवस्थापक उपयोगकर्ता आपका sudo पासवर्ड भी है) तो वे आपकी मशीन तक पहुँच सकते हैं और इसे गड़बड़ कर दो। वैसे: यदि वे ऐसा करते हैं कि उन्हें पहले आपके सिस्टम का ज्ञान होना चाहिए (जैसे आपका पासवर्ड)।

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

जब तक आपका sudo पासवर्ड आपका है आप ठीक रहेंगे / होनी चाहिए। और यदि आप एक मजबूत पासवर्ड है (तो शायद आपके लिए याद रखना आसान है, लेकिन दूसरों द्वारा अनुमान लगाने योग्य नहीं है) और भी बेहतर होगा। एक उदाहरण जिसका मैंने चर्चा करने से पहले उपयोग किया था: यदि आपके कुत्ते का नाम "Abwegwfkwefkwe" है तो एक पासवर्ड के रूप में "Abwegwfkwefkwe" का उपयोग करके BAD किया जाता है, भले ही यह अच्छा लगे (क्योंकि कोई आपसे पूछ सकता है कि 'आपके कुत्ते का नाम क्या है' और वे कोशिश करते हैं कि जैसे ही एक स्वतंत्र अनुमान)। यदि आपका "Abwegwfkwefkwe" से कोई संबंध नहीं है, तो यह एक अच्छा पासवर्ड है।

सबसे अच्छी सलाह जो मैं दे सकता हूं:

  • जब तक आपसे यह न पूछा जाए कि आप जानते हैं कि यह पूछे जाने की उम्मीद है, तब तक अपना पासवर्ड न डालें। यदि आप एक ब्राउज़र खोलते हैं और एक पॉपअप दिया जाता है जो हमारे "एडमिन अकाउंट पासवर्ड के लिए पूछ रहा है" जैसा दिखता है ... बंद करो ... और पहले सोचो।

  • "सुदो" ग्रेस पीरियड के सक्रिय होने पर अपने सिस्टम को अप्राप्य न छोड़ें। sudo --reset-timestampवर्तमान अनुग्रह अवधि को हटा देता है और जब आप "sudo" का उपयोग करते हैं, तो पासवर्ड फिर से पूछेंगे। एएफके जाने पर अपनी स्क्रीन लॉक करें।

  • इसके मज़े के लिए सेवाएँ या सॉफ़्टवेयर स्थापित न करें। यदि आपको आवश्यकता sshनहीं है ssh, तो स्थापित न करें, यदि आप वेबसर्वर का उपयोग नहीं करते हैं तो वेबसर्वर स्थापित न करें। और वर्तमान में चल रही सेवाओं पर एक नज़र है। यदि आप नोटबुक पर बीटी का उपयोग नहीं करते हैं, तो इसे अक्षम करें। यदि आप वेबकैम का उपयोग नहीं करते हैं तो इसे निष्क्रिय कर दें (यदि सक्रिय हो)। वह सॉफ़्टवेयर हटाएं जिसका आप अब उपयोग नहीं करते हैं।

  • और वास्तव में पागल होने के लिए (और हाँ पैरानॉयड पांडा मैं आपको देख रहा हूं): हर बार पासवर्ड बदलें। आप अनुचित पहुंच की जांच के लिए रूटकिट शिकारी भी स्थापित कर सकते हैं।

  • अपने महत्वपूर्ण डेटा का बैकअप किसी ऐसी चीज़ से लें जिसे आप ऑफ-लाइन रखते हैं। इसलिए यदि आप अपने सिस्टम पर किसी को ढूंढते हैं तो भी आप उसे प्रारूपित कर सकते हैं, और एक नए इंस्टॉलेशन के साथ शुरू कर सकते हैं और आपका डेटा पुनर्स्थापित हो सकता है।


2
आप को संक्षिप्त कर सकते हैं sudo --reset-timestampकरने के लिए sudo -k, या sudo -Kवास्तव में पागल के लिए (केवल आवश्यक हमलावर मनमाने ढंग से मूल्यों के लिए सिस्टम का समय सेट कर सकते हैं, और इस बिंदु पर आप शायद पहले से ही खो दिया है)।
केविन

Jups। मैंने लंबे संस्करण का उपयोग किया इसलिए यह स्पष्ट है कि यह क्या करता है। "-k" वास्तव में ऐसा ही करता है।
रिन्जविंड

1
@ mxdsp: एन्क्रिप्शन लोगों को एन्क्रिप्ट किए गए विभाजन की सामग्री को पढ़ने से रोक सकता है, यदि पासफ़्रेज़ पर्याप्त रूप से मजबूत है, लेकिन हो सकता है कि एन्क्रिप्शन कुंजी को चालू या हाल ही में बंद कंप्यूटर से बाहर निकालना संभव हो । क्रिप्टो भी एक बहुत तेजी से आगे बढ़ने वाला क्षेत्र है, और आपको नए विकास के साथ रहना होगा, ऐसा न हो कि आपका एन्क्रिप्शन अप्रचलित हो जाए और आसानी से टूट जाए।
केविन

1
@ mxdsp हाँ। एक के लिए: आप एक डिस्क को प्रारूपित कर सकते हैं और जब डेटा चला जाता है ... आप समस्याओं के साथ एक हैं।
रिनविंड

1
पहले भाग में निहित है कि कोई पूर्ण डिस्क एन्क्रिप्शन नहीं है।
ओटस

6

हा वो कर सकते है।

हालांकि ऐसा करने के कई तरीके हैं, और sudoपासवर्ड को ब्रूट-फोर्स करना शायद पहले वाला नहीं है।

सबसे पहले, sudoपासवर्ड आपके उपयोगकर्ता का पासवर्ड है; इसलिए वास्तव में उन्हें आपका पासवर्ड प्राप्त करने की आवश्यकता होगी ।

दूसरा, किसी सिस्टम तक पहुँचने के लिए जानवर-बल का उपयोग करके उपयोगकर्ता के पासवर्ड को क्रैक करना शायद अंतिम उपाय है।

किसी अन्य सिस्टम में तोड़ने के तरीके (लेकिन ज्यादातर अधिक प्रभावी) तरीके हैं।

आमतौर पर एक हमलावर या तो बस जाएगा और सबसे आम कमजोरियों का फायदा उठाने की कोशिश करेगा (सबसे अधिक ज्ञात किसी भी तरह से एक उपयोगकर्ता शेल प्राप्त कर रहा है और एक रूट शेल प्राप्त करने के लिए शेलशॉक का शोषण करता है) या की तर्ज पर एक बेहतरीन काम करें:

  • इस तरह की जानकारी प्राप्त करने के लिए सिस्टम पर खुले बंदरगाहों को स्कैन करना:
    • ऑपरेटिंग सिस्टम संस्करण
    • रनिंग सेवा संस्करण
  • ज्ञात ऑपरेटिंग सिस्टम या चल रही सेवाओं की बग्स (बफर ओवरफ्लो, ...) को समाप्त करने के लिए कम से कम उपयोगकर्ता शेल प्राप्त करने के लिए और फिर एक रूट शेल प्राप्त करने का प्रयास करें (फिर, शायद शेलशॉट का शोषण)

ब्रूट-फोर्सिंग sudo/ यूजर का पासवर्ड रूट शेल को अन्यथा प्राप्त नहीं किए जाने की स्थिति में एक प्रयास हो सकता है, लेकिन उदाहरण के लिए किसी सेवा को रूट के रूप में शोषण करने के लिए हमलावर को ब्रूट-फोर्स sudo/ उपयोगकर्ता के पासवर्ड की आवश्यकता नहीं होगी ।


1
धन्यवाद। संक्षेप में, इसका मतलब है कि एक हमलावर को रूट एक्सेस प्राप्त करने के लिए sudo पासवर्ड की आवश्यकता नहीं है?
mxdsp 15

2
@ एमएक्सडीएसपी बिल्कुल। इसे इस तरह से रखें: यदि कोई हमलावर किसी भी तरह से एक सुडोल उपयोगकर्ता शेल प्राप्त करने का प्रबंधन करता है (उदाहरण के लिए एक sudoer उपयोगकर्ता के चल रहे कार्यक्रम का पता लगाने के लिए) तो वह ज्ञात कारनामों का उपयोग कर सकता है (मेरे जवाब में मैंने सबसे बदनाम का उल्लेख किया) एक रूट शेल प्राप्त करने के लिए, दरकिनार उपयोगकर्ता / sudoपासवर्ड की आवश्यकता। इससे भी बेहतर, अगर वह रूट के रूप में चल रही सेवा का फायदा उठाता है, तो वह सीधे जड़ है।
कोस

1
@mxdsp अब हम काफी सामान्य हो रहे हैं, लेकिन इस वीडियो को उदाहरण के लिए समझने के लिए देखें कि बिना sudoअधिकार के उपयोगकर्ता कैसे (= ~ एक उपयोगकर्ता जिसके रूप में एक हमलावर लॉग इन होता है, लेकिन जिसे हमलावर को पासवर्ड नहीं पता है) को एक रूट मिल सकता है शेल केवल ज्ञात बगों का शोषण करके (इस मामले में कुख्यात शेलशॉट)।
कोस

1
@mxdsp एक तरफ मैं sudoers उपयोगकर्ता, बस उपयोगकर्ता मतलब नहीं था। यह आवश्यक नहीं है, मैं एक ही समय में बहुत सारी चीजें सोच रहा था।
कोस

3
  1. अगर मैंने सुरक्षा पर पिछले कुछ वर्षों में कुछ भी सीखा है, तो एक बात: कुछ भी असंभव नहीं है

  2. जब तक आपके पास किसी नेटवर्क तक पहुंच है, निश्चित रूप से। आपके सिस्टम पर चल रही प्रत्येक सेवा जो नेटवर्क पर एक्सेस की जा सकती है, सैद्धांतिक रूप से कमजोर है और इस प्रकार एक संभावित कमजोरी है।

और इसलिए, पर्याप्त विचारों वाले एक हमलावर के लिए यह संभव है। आप अपने सिस्टम को यथासंभव सुरक्षित बना सकते हैं, लेकिन आप कभी भी 100% सुरक्षा प्राप्त नहीं कर सकते।

इसलिए यह आकलन करना महत्वपूर्ण है कि औचित्यपूर्ण तकनीकी प्रयास से क्या संभव है और यह आपकी इतनी अच्छी तरह से रक्षा करता है कि आप स्वयं काम नहीं कर सकते।


मेरे पास एक नेटवर्क एक्सेस है। इस बारे में अधिक विशिष्ट हो सकता है कि किस तरह का हमला संभावित हो सकता है?
mxdsp

1
दो कारक प्रमाणीकरण का उपयोग करें। आपको PAM.D इत्यादि को संपादित करना होगा।
आइज़ुद्दीन ज़ली

@Arronical लिंक इस मंच से और साथ ही बहुत अच्छा मार्गदर्शक है।
ऐजुद्दीन ज़ली

@Arronical मैंने इसे प्रश्न टिप्पणी में रखा है। यह गाइड
आइज़ुद्दीन ज़ली

क्षमा करें @AizuddinZali मैंने पृष्ठ ताज़ा नहीं किया था!
आर्कटिक

2

मुझे पता है कि sudo पासवर्ड मेरे कंप्यूटर को स्थानीय रूप से किसी के द्वारा हैक होने से बचाता है (संपादित करें: वास्तव में, यह नहीं है)। मेरा पासवर्ड उस उद्देश्य के लिए काफी मजबूत है, लेकिन मुझे पता है कि यह पर्याप्त मजबूत नहीं है अगर कोई इसे दूर से बल दे सकता है। क्या कोई मानक उबंटू डेस्कटॉप इंस्टॉलेशन पर, कंप्यूटर पर बिना किसी भौतिक पहुँच के मेरे सुडो पासवर्ड का उपयोग करके मेरे कंप्यूटर को रूट मोड में ला सकता है?

sudo पासवर्ड केवल स्थानीय सुरक्षा के लिए ही नहीं है, इसका उद्देश्य सुरक्षा के अतिरिक्त उपयोग को विशेषाधिकार विशेषाधिकार में जोड़ना है। अच्छी चर्चा यहाँ /superuser//a/771523/467316 से मिल सकती है

आपका पासवर्ड उतना मजबूत नहीं हो सकता जितना आप सोचते हैं। अभी मैं अपने ग्राहक की सक्रिय निर्देशिका हैश का 20-40% उन लोगों के लिए क्रैक कर रहा हूं जिन्हें मैंने पहले देखा है, जिनके पास खराब पासवर्ड नियम हैं, उन्हें 70% फटा जा रहा है। मैं 16 वर्ण, जटिल पासवर्ड सुझाता हूं। oclHashcat और Radeon ग्राफिक्स कार्ड बहुत नुकसान कर सकते हैं। पिछले 5 वर्षों में प्रत्येक ब्रीच से सभी पासवर्ड डंप में जोड़ें और आप एक अच्छा शब्दकोश प्राप्त करते हैं जिसमें से काम करना है।

यदि आप SSH का उपयोग कर रहे हैं तो sshd_config में कुछ समायोजन करें

sudo nano /etc/ssh/sshd_config

गेट के ठीक बाहर होना जरूरी है (यदि आप इसका उपयोग नहीं कर रहे हैं तो एफ़टीपी सर्वर को निष्क्रिय करने के लिए पिछले एक)।

Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server

इसे सहेजें, ssh को पुनरारंभ करें

sudo service ssh restart

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

sudo nano /home/yourdumbusername/.ssh/authorized_keys

इस प्रारूप में सार्वजनिक कुंजी की प्रतिलिपि बनाएँ

ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes

इसे सहेजें, और सार्वजनिक कुंजी लॉगिन की अनुमति देने के लिए अपना sshd_config सेटअप करें

sudo nano /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

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

sudo service ssh restart

सार्वजनिक कुंजी एन्क्रिप्शन का उपयोग करके अपने निजी कुंजी कंप्यूटर से अपने ubuntu होस्ट की SSHing करने का प्रयास करें। यदि सब ठीक हो गया तो ubuntu होस्ट पर वापस जाएं और पासवर्ड प्रमाणीकरण अक्षम करें।

sudo nano /etc/ssh/sshd_config

PasswordAuthentication no

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

sudo service ssh restart

पुष्टि करने के लिए फिर से निजी कीड कंप्यूटर से sshing का प्रयास करें।

और जोड़ना चाहते हैं? एक गैर-विशेषाधिकार प्राप्त खाते की स्थापना करें, PermitRootLogin को चालू करें, ssh को फिर से शुरू करें, अपनी सार्वजनिक कुंजी को नए खाते के अधिकृत_कीप में जोड़ें, गैर-विशेषाधिकारित खाते के रूप में लॉगिन करें, अपने रूट या विशेषाधिकार प्राप्त खाते के लिए su करें जब आपको चीजों के माध्यम से रूट या विशेषाधिकार की आवश्यकता होती है।


2

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

खराब टिप : यदि आप एक sudo सक्षम यूनिक्स (linux / apple osx) पर एक नियमित खाता बनाना चाहते हैं

sudo -s
passwd
Enter your unix password:

इस बिंदु पर रूट का एक नियमित पासवर्ड है, और आप "पुराने फैशन तरीके" में उल्लेखित पासवर्ड के साथ बस लॉग आउट और लॉग इन कर सकते हैं।

सुरक्षा के संबंध में, यदि कोई प्रोग्राम (वेब ​​सर्वर, mysql, php daemon, sshd) एक उन्नत खाते के रूप में चलता है .. रूट का कहना है और वहाँ एक ज्ञात शोषण है, तो हमलावरों को पहुँच प्राप्त करने के लिए किसी भी सुरक्षा क्रेडेंशियल की आवश्यकता नहीं हो सकती है। वे कार्यक्रम की भेद्यता का उपयोग कर सकते हैं और रूट के रूप में चल रहे इस कार्यक्रम से सिर्फ एक नया खोल खोल सकते हैं। हालांकि यह बहुत दुर्लभ है क्योंकि डिस्ट्रो प्रबंधकों को इस तरह के मुद्दों के बारे में पता है और एक अच्छी तरह से सोचा और आमतौर पर सुरक्षित डिफ़ॉल्ट वातावरण के निर्माण पर एक उत्कृष्ट काम करते हैं।

में अन्य ऑपरेटिंग सिस्टम sudo लिए एक समान आपरेशन राइट क्लिक करें और सिस्टम प्रशासक (या यूएसी विशेषाधिकार सता) के रूप में चलाने होगा।

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