কীভাবে পিএএম এর সাথে এসএস সার্ভার ব্যবহার করবেন তবে পাসওয়ার্ড প্রমাণীকরণের অনুমতি নেই?


13

অনেক টিউটোরিয়াল আপনাকে আপনার এসএসএস সার্ভারটি কনফিগার করতে বলে:

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no 

তবে এই সেটআপের সাহায্যে আপনি প্যাম ব্যবহার করতে পারবেন না, কারণ আমি গুগল অথেনটিকেটর (ওটিপি ওয়ানটাইম পাসওয়ার্ড) এর সাথে 2 ফ্যাক্টর এথ ব্যবহার করার পরিকল্পনা করছি আমার পিএএম দরকার।

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

সম্ভবত সঠিক প্রশ্নটি কীভাবে পাসওয়ার্ডগুলি অস্বীকার করার জন্য পাম কনফিগার করবেন?

পিএএম অনুমোদনের বিষয়ে বিশদ

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

মনে রাখবেন যে যদি চ্যালেঞ্জরেস্পোনস অ্যাটেন্টিফিকেশনটি হ্যাঁ হয় এবং sshd এর জন্য পিএএম প্রমাণীকরণ নীতিতে পাম_উনিক্স (8) অন্তর্ভুক্ত থাকে তবে পাসওয়ার্ড প্রমাণীকরণের মান নির্বিশেষে চ্যালেঞ্জ-প্রতিক্রিয়া প্রক্রিয়াটির মাধ্যমে পাসওয়ার্ড প্রমাণীকরণের অনুমতি দেওয়া হবে।

http://www.unixlore.net/articles/five-minutes-to-more-secure-ssh.html

উত্তর:


23

সম্ভবত সঠিক প্রশ্নটি কীভাবে পাসওয়ার্ডগুলি অস্বীকার করার জন্য পাম কনফিগার করবেন?

সঠিক। আপনি ইতিমধ্যে এই সত্যটিকে হোঁচট খাচ্ছেন যে সেটিংটি UsePAM noসাধারণত খারাপ পরামর্শ। এটি কেবল প্যাম ভিত্তিক প্রমাণীকরণের কোনও রূপকেই প্রতিরোধ করে না, এটি অক্ষম করে accountএবং sessionমডিউলগুলিও দেয়। অ্যাক্সেস নিয়ন্ত্রণ এবং সেশন কনফিগারেশন ভাল জিনিস।

প্রথমে আসুন প্রয়োজনীয়তার একটি তালিকা তৈরি করুন:

  • ওটিপি এর মাধ্যমে pam_google_authenticator.so। এটি প্রয়োজন UsePAM yesএবং ChallengeResponseAuthentication yes। আপনি তাদের শংসাপত্রের জন্য অনুরোধ করছেন, সর্বোপরি!
  • পিএএম এর মাধ্যমে পাসওয়ার্ড প্রমাণীকরণের অন্য কোনও রূপ নেই। এর অর্থ authএমন কোনও মডিউল অক্ষম করা যা keyboard-interactiveলগইনগুলির মাধ্যমে কোনও পাসওয়ার্ডকে সংক্রামিত হতে পারে । (যা আমাদের ওটিপির জন্য সক্ষম রাখতে হবে)
  • কী ভিত্তিক প্রমাণীকরণ। আমাদের কাছে publickeyপ্রমাণীকরণের প্রয়োজন এবং gssapi-with-micআপনার যদি কার্বেরোস কনফিগার করা থাকে তবে।

সাধারণত, পুরোপুরি কোনও কী স্কিপস পিএএম ভিত্তিক প্রমাণীকরণের সাথে প্রমাণীকরণ করা। এটি আমাদের ওপেনশ এর পুরানো সংস্করণ সহ আমাদের ট্র্যাকগুলিতে থামিয়ে দিত, তবে ডিবিয়ান 8 (জেসি) AuthenticationMethodsনির্দেশকে সমর্থন করে । এটি আমাদের একাধিক প্রমাণীকরণ পদ্ধতি প্রয়োজন করতে দেয় তবে কেবল এসএসএইচভি 2 প্রয়োগকারী ক্লায়েন্টদের সাথে কাজ করে।


sshd কনফিগারেশন

নীচে আমি প্রস্তাবিত লাইন আছে /etc/ssh/sshd_config। আপনি sshdকিছু ভঙ্গ না করে আপনার কাছে এই সিস্টেমটি অ্যাক্সেস করার কোনও উপায় রয়েছে তা নিশ্চিত করুন !

# Require local root only
PermitRootLogin no

# Needed for OTP logins
ChallengeResponseAuthentication yes
UsePAM yes

# Not needed for OTP logins
PasswordAuthentication no

# Change to to "yes" if you need Kerberos. If you're unsure, this is a very safe "no".
GSSAPIAuthentication no


# Require an OTP be provided with key based logins
AuthenticationMethods publickey,keyboard-interactive

# Use this instead for Kerberos+pubkey, both with OTP
#
#AuthenticationMethods gssapi-with-mic,keyboard-interactive publickey,keyboard-interactive

sshdএকবার এই পরিবর্তনগুলি করা হয়ে গেলে পুনরায় লোড করতে ভুলবেন না ।

প্যাম কনফিগারেশন

আমাদের এখনও পিএএম কনফিগার করতে হবে। দেবিয়ান 8 এর একটি পরিষ্কার ইনস্টল ধরে নিচ্ছেন (আপনার প্রশ্ন অনুসারে):

  • @include common-authথেকে মন্তব্য /etc/pam.d/sshd
  • পর্যালোচনা করুন /etc/pam.d/sshdএবং নিশ্চিত করুন যে শুরু হওয়া কোনও লাইন authউপস্থিত নেই। এটি যদি একটি পরিষ্কার ইনস্টল হয় তবে সেখানে থাকা উচিত নয় তবে নিরাপদ থাকা ভাল।
  • এর authজন্য একটি এন্ট্রি যুক্ত করুন pam_google_authenticator.so

মনে রাখবেন যে স্থানীয় পাসওয়ার্ডগুলি এখনও কাজ করে।

স্থানীয় কনসোলের মাধ্যমে লগইনগুলিতে প্রভাব ফেলবে এমন কোনও পরিবর্তন আমরা করিনি, বা ব্যবহারকারীদের পাসওয়ার্ড ব্যবহার করে তাদের সুবিধাগুলি আপগ্রেড করার মাধ্যমে তাদের অধিকারগুলি আপগ্রেড করার sudo.বিষয়টি প্রশ্নের ক্ষেত্রের বাইরে ছিল। আপনি যদি আরও জিনিসগুলি নিয়ে যাওয়ার সিদ্ধান্ত নেন, মনে রাখবেন যে পাসওয়ার্ডের মাধ্যমে রুটকে সর্বদা স্থানীয়ভাবে প্রবেশ করার অনুমতি দেওয়া উচিত। আপনি অন্যথায় দুর্ঘটনাক্রমে নিজেকে সিস্টেমের বাইরে আটকানোর ঝুঁকিপূর্ণ করছেন।


এটি এখনও পরীক্ষিত হয়নি তবে এটি যৌক্তিক দেখায় এবং 5 টি আপভোটের সাথে আমি মনে করি আমি এটি গ্রহণ করতে পারি।
c33s

আমি নিজে পরীক্ষা করেছি। আপনি যদি পাসওয়ার্ড পুরোপুরি অক্ষম করতে চান তবে আপনাকে চ্যালেঞ্জরেস্পোনসঅথেন্টিকেশন নম্বরও সেট করতে হবে। দেখুন blog.tankywoo.com/linux/2013/09/14/…
বেনামে

@ বেনামে ওপি-র প্রশ্ন এবং প্রথম বুলেটটি দেখুন। অক্ষম করার ChallengeResponseAuthenticationফলে কীবোর্ড-ইন্টারেক্টিভ প্রমাণীকরণ পদ্ধতি ভেঙে যায়, যা পিএএম প্রমাণীকরণ মডিউলগুলির জন্য প্রয়োজন যা ওটিপি হ্যান্ডেল করে। (ওপি কর্তৃক পছন্দসই) সিআরএ অক্ষম করা কেবলমাত্র তখনই নিরাপদ যদি আপনার কাছে সত্যিকার অর্থে স্ট্যাকের শূন্য পিএএম মডিউল থাকে authযা গুলি চালানো দরকার। যদি PasswordAuthenticationএবং GSSAPIAuthenticationঅক্ষম থাকে, তবে পাসওয়ার্ড গ্রহণ করা হবে না যতক্ষণ না পিএএম এর কাছে এমন সক্ষম অথথ মডিউল থাকে যা এটির জন্য জিজ্ঞাসা করে।
অ্যান্ড্রু বি

(এটি বলেছিল, এটি এখনও একটি দুর্দান্ত লিঙ্ক)
অ্যান্ড্রু বি

1

পাসওয়ার্ড অনুরোধ বাতিল করতে

এই লাইন মন্তব্য করুন

#auth       substack     password-auth

ইন /etc/pam.d/sshd

ওটিপি ব্যবহার না করে এসএসএসের মাধ্যমে প্রমাণীকরণ করা ভাল না হলে এই লাইনের শেষে নালোক না থাকার বিষয়ে নিশ্চিত হন

auth required pam_google_authenticator.so
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.