আমি যখন এসএসএইচ-এর জন্য সার্বজনীন কী প্রমাণীকরণটি সেট আপ করেছি তখন কি আমার ব্যবহারকারীর পাসওয়ার্ড মুছে ফেলা উচিত?


19

এসএসএইচের জন্য সর্বজনীন কীগুলি ব্যবহার করা ভাল। সুতরাং আমার sshd_configআছে PasswordAuthentication no

কিছু ব্যবহারকারী কখনও লগইন করে না, যেমন শেল সহ একটি এসএফটিপি ব্যবহারকারী /usr/sbin/nologin। বা একটি সিস্টেম অ্যাকাউন্ট।

সুতরাং আমি পাসওয়ার্ড ছাড়াই এ জাতীয় ব্যবহারকারী তৈরি করতে পারি adduser gary --shell /usr/sbin/nologin --disabled-password

এটা কি ভাল / খারাপ ধারণা? আমি বিবেচনা না করে আছে এমন রামফিকেশন কি আছে?


3
যতক্ষণ না এগুলি সত্যিকারের ব্যবহারকারীর অ্যাকাউন্ট নয়, বা sudoঅ্যাক্সেসের জন্য তাদের পাসওয়ার্ডের প্রয়োজন নেই (হয় সুডু অনুমতি না পাওয়ার কারণে বা সুডো অনুমতি নিয়ে সর্বাধিক অনুমতি পেয়ে NOPASSWD), আপনার নির্বাচিত উত্তর উপযুক্ত হতে হবে। সুডোর উদ্বেগ অন্তর্ভুক্ত করার জন্য আমি এই উত্তরে একটি সম্পাদনা জমা দিয়েছি তবে বুঝতে পেরেছিলাম আমি ইতিমধ্যে এটি আপনাকে এখানে কল করব।
ডক্টর জে

উত্তর:


35

আপনার যদি সার্ভারে রুট অ্যাক্সেস থাকে এবং আপনার ব্যবহারকারীদের হারাতে পারে সে ক্ষেত্রে এসএসএস কীগুলি পুনরায় জেনারেট করতে পারেন

এবং

আপনি নিশ্চিত যে কোনও ব্যবহারকারীর (ব্যক্তি হিসাবে) একাধিক ব্যবহারকারীর অ্যাকাউন্ট নেই এবং তাদের এসএসএইচ সেশনে থাকা ব্যক্তির মধ্যে স্যুইচ করা দরকার (ভাল, যদি প্রয়োজন হয় তবে তারা একাধিক এসএসএইচ সেশনও খুলতে পারে )

এবং

সার্ভারে তাদের কখনই "শারীরিক" (কীবোর্ড + মনিটরের মাধ্যমে বা ভিএমের জন্য রিমোট কনসোলের মাধ্যমে) অ্যাক্সেসের প্রয়োজন হবে না

এবং

কোনও ব্যবহারকারীর পাসওয়ার্ড-গেটেড sudoঅ্যাক্সেস নেই (যেমন তাদের কাছে সুড অ্যাক্সেস মোটেই নেই, বা এর সাথে সুডো অ্যাক্সেস রয়েছে NOPASSWD)

আমি মনে করি আপনি ভাল থাকবেন।

আমাদের কাজের মতো অনেকগুলি সার্ভার এ জাতীয়ভাবে কনফিগার করা আছে (কেবলমাত্র কয়েকটি অ্যাকাউন্টে ভিএমওয়্যার রিমোট কনসোলের মাধ্যমে ভিএম এ অ্যাক্সেস প্রয়োজন, অন্যরা কেবল এসএসএইচ দিয়ে পাবকি লেখার মাধ্যমে সংযুক্ত হন)।


9
আমিও যোগ চাই "তুমি কি জান ব্যবহারকারীদের হবে না অ্যাক্সেস করতে দূরবর্তী সিস্টেমগুলি তাদের ব্যক্তিগত SSH- কি অভাব ব্যবস্থা আছে"। এবং "আপনি এমন ব্যবহারকারীদের সাথে ডিল করতে ইচ্ছুক যারা এমন পরিস্থিতি তৈরি করেন যা আপনি ভাবেননি" "
অ্যান্ড্রু হেনেল

7
প্রথম শর্তটি আইএমওর প্রয়োজন নেই। আপনার ব্যবহারকারীদের তাদের কীগুলি নিজেরাই তৈরি করা উচিত। তারা আপনাকে তাদের দেওয়ার সাথে সাথে আপনি তাদের পাবলিক কীগুলি অনুমোদন করেছেন। যদি তারা কোনও কী শিথিল করে তবে তারা কেবল অন্যটি তৈরি করবে এবং আপনি সার্ভারে পুরানোটিকে প্রতিস্থাপন করবেন।
ক্রিস্টোফ ড্রেভেট-ড্রুগেট

1
@ অ্যান্ড্রুহেনেল এটি একটি ভাল পয়েন্ট, তবে sshd এর PasswordAuthentication noপরে যদি এটি আলাদা সমস্যা হয় (ব্যবহারকারী যেভাবে লগ ইন করতে পারবেন না)।
লোনিক্স

1
"কখনই নয়" এমন দীর্ঘ সময়। প্রয়োজন দেখা দিলে অ্যাডমিন সহজেই পাসওয়ার্ড প্রমাণীকরণ যুক্ত করতে পারে।
হাইড

2
ঠিক আছে, প্রশ্নটি স্পষ্টভাবে সম্পর্কিত অ্যাকাউন্টগুলিতে যা নির্দিষ্টভাবে পরিষেবাদি বা sftp- কেবল ব্যবহারকারীদের দ্বারা ব্যবহৃত সিস্টেম অ্যাকাউন্টগুলির মতো লগইন করে না (এবং সম্ভবত না করা উচিত)। প্রশ্নটিতে আরও বলা হয়েছে যে ব্যবহারকারীদের লগইন শেল নেই। এই ধরণের ব্যবহারকারীর জন্য আমি মনে করি পাসওয়ার্ডের মাধ্যমে স্পষ্টভাবে লগইন অক্ষম করা পরামর্শ দেওয়া উচিত।
খ্রিস্টান গাওরন

27

এই প্রশ্নটি প্রথমে উল্লিখিত passwd --delete <username> যা কোনটি অনিরাপদ : সেই সাথে, এনক্রিপ্ট করা পাসওয়ার্ড ক্ষেত্রটি /etc/shadowসম্পূর্ণ খালি থাকবে।

username::...

আপনি যদি sshdপাসওয়ার্ড প্রমাণীকরণ প্রত্যাখ্যান করতে আপনার কনফিগার করেছেন , তবে এটি এসএসএইচের সাথে নিরাপদ ... তবে যদি আপনার সিস্টেমে অন্য কোনও পরিষেবা যদি পাসওয়ার্ড প্রমাণীকরণ ব্যবহার করে এবং নাল পাসওয়ার্ডগুলি প্রত্যাখ্যান করার জন্য কনফিগার করা না থাকে তবে এটি পাসওয়ার্ড ছাড়াই অ্যাক্সেসের অনুমতি দেয়! আপনি এটি চান না।


adduser --disabled-passwd/etc/shadowএনক্রিপ্ট করা পাসওয়ার্ড ক্ষেত্রটি কেবল একটি নক্ষত্রের, যেখানে একটি এন্ট্রি তৈরি করবে

username:*:...

এটি "একটি এনক্রিপ্ট করা পাসওয়ার্ড যা কখনই সফলভাবে প্রবেশ করা যায় না", অর্থাত্ এই অ্যাকাউন্টটি বৈধ এবং প্রযুক্তিগতভাবে লগইনগুলিকে অনুমতি দেয় তবে এটি পাসওয়ার্ডের মাধ্যমে প্রমাণীকরণকে অসম্ভব করে তোলে । সুতরাং আপনার সার্ভারে আপনার যদি অন্য কোনও পাসওয়ার্ড-প্রমাণীকরণ-ভিত্তিক পরিষেবাদি থাকে তবে এই ব্যবহারকারী তাদের থেকে অবরুদ্ধ।

কেবলমাত্র প্রমাণীকরণের পদ্ধতিগুলি যা স্ট্যান্ডার্ড অ্যাকাউন্টের পাসওয়ার্ড (যেমন এসএসএইচ কী) ব্যতীত অন্য কিছু ব্যবহার করে এই সিস্টেমে সিস্টেম পাসওয়ার্ড ফাইল ব্যবহার করে এমন কোনও পরিষেবার জন্য এই ব্যবহারকারীর পক্ষে কাজ করবে। যখন আপনার এমন কোনও ব্যবহারকারীর প্রয়োজন হয় যা কেবল এসএসএইচ কী দিয়ে লগইন করতে পারে, আপনি এটি চান this

আপনার যদি এই রাজ্যে কোনও বিদ্যমান অ্যাকাউন্ট সেট করার দরকার হয় তবে আপনি এই আদেশটি ব্যবহার করতে পারেন:

echo 'username:*' | chpasswd -e

এনক্রিপ্ট করা পাসওয়ার্ড ক্ষেত্রের জন্য তৃতীয় বিশেষ মান রয়েছে: adduser --disabled-loginতবে ক্ষেত্রটিতে কেবল একটি একক বিস্মরণ চিহ্ন থাকবে।

username:!:...

নক্ষত্রের মতো, এটি পাসওয়ার্ড প্রমাণীকরণ সফল হওয়া অসম্ভব করে তোলে তবে এর একটি অতিরিক্ত অর্থও রয়েছে: এটি প্রশাসনিক সরঞ্জামগুলির জন্য পাসওয়ার্ডটিকে "লক" হিসাবে চিহ্নিত করে। passwd -lবিদ্যমান পাসওয়ার্ড হ্যাশটিকে একটি বিস্মৃত চিহ্ন সহ প্রিফিক্স করে অনেকটা একই প্রভাব ফেলেছে, যা আবার পাসওয়ার্ড প্রমাণীকরণকে ব্যবহার করা অসম্ভব করে তোলে।

তবে অযত্নের জন্য এখানে একটি ফাঁদ: ২০০৮ সালে, passwdপুরানো shadowপ্যাকেজ থেকে প্রাপ্ত কমান্ডের সংস্করণটি passwd -l"অ্যাকাউন্ট লক করা" থেকে কেবল "পাসওয়ার্ড লক করা" থেকে পুনরায় সংজ্ঞায়িত করা হয়েছিল। বর্ণিত কারণটি হ'ল "অন্যান্য পাসডাব্লুড ভার্সনের সাথে সামঞ্জস্যের জন্য"।

আপনি যদি (আমার মতো) অনেক আগে এটি শিখেন তবে এটি একটি বাজে আশ্চর্য হিসাবে আসতে পারে। এটি adduser(8)এখনও এই পার্থক্য সম্পর্কে স্পষ্টভাবে অবগত নয় এমন বিষয়গুলিতে সহায়তা করে না ।

অংশ নিষ্ক্রিয় অ্যাকাউন্ট প্রমাণীকরণ সব পদ্ধতি জন্য আসলে অ্যাকাউন্টের জন্য 1 একজন মেয়াদ শেষের তারিখ মূল্য জন্য উপলব্ধ সেটিং হয়: usermod --expiredate 1 <username>। ২০০৮ সালের পূর্বে, উত্সর কিট passwd -lথেকে উদ্ভূত হয়েছিল যে এটি উদ্বেগজনক চিহ্ন সহ পাসওয়ার্ডটির উপসর্গ ছাড়াও এটি করত - তবে আর এটি করে না।shadow

ডেবিয়ান প্যাকেজ চেঞ্জলগ বলেছেন:

  • ডিবিয়ান / প্যাচস / 494_passwd_lock-no_account_lock: পাসওড-এল এর আগের আচরণটি পুনরুদ্ধার করুন (যা # 389183 তে পরিবর্তিত হয়েছে): কেবল ব্যবহারকারীর পাসওয়ার্ড লক করুন, ব্যবহারকারীর অ্যাকাউন্ট নয়। স্পষ্টভাবে পার্থক্য নথির। এটি পাসডব্লিউডের পূর্ববর্তী সংস্করণ এবং অন্যান্য বাস্তবায়নের সাথে সাধারণ আচরণ পুনরুদ্ধার করে। বন্ধ: # 492307

ডেবিয়ান বাগ 492307 এবং বাগ 389183 এর বাগের ইতিহাস এর পিছনে চিন্তাভাবনা বুঝতে সহায়তা করতে পারে।


সতর্কবার্তাটির জন্য ধন্যবাদ ... আমি প্রশ্নটি সম্পাদনা করব তাই কেউ ভুল করে না!
লোনিক্স

আপনার সতর্কতাটি আমি যেখানে ব্যবহার করি সে ক্ষেত্রেও কি প্রযোজ্য adduser --disabled-passwd- তাই যদি অন্য কোনও পরিষেবা যদি পাসওয়ার্ড প্রমাণীকরণের অনুমতি দেয় তবে ব্যবহারকারী কোনও পাসওয়ার্ড ছাড়াই লগইন করতে পারবেন?
লোনিক্স

1
না, adduser --disabled-passwordবিশেষ করে পাসওয়ার্ড প্রমাণীকরণের জন্য সেই অ্যাকাউন্টটির সফল হওয়া অসম্ভব হয়ে পড়ে।
telcoM

পাসওয়ার্ড মুছে ফেলা খুব নির্দোষ বলে মনে হয় তবে এটি বিপজ্জনক বলে আমি এটি সম্পর্কে অনুচ্ছেদের সাথে অনুচ্ছেদে পরিবর্তন করার পরামর্শ দিচ্ছি *যাতে এটি লোকেদের পড়া প্রথম জিনিস।
ক্যাপ্টেন ম্যান

1
বাহ, এটি ঘটতে অপেক্ষা করা একটি বাজে আশ্চর্যজনক ... এবং যথারীতি এটির জন্য দোষ দেওয়ার জন্য সম্ভবত একটি সামঞ্জস্যতার সমস্যা রয়েছে। এটি passwd২০০৮ সালে উত্স কোডে উপস্থিত হয়েছিল you 've আপনি যখন কিছু শিখেছিলেন এবং তারপরে নির্ভর করেন এমন কিছু তখন আর না হয় তখন কি আপনি এটি পছন্দ করেন না?
telcoM
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.