গোষ্ঠীর জন্য প্যাম মডিউল অক্ষম করুন


10

আমি সম্প্রতি আমার এসএসএইচ সার্ভারে গুগল-প্রমাণীকরণকারী ব্যবহার করে দ্বি-গুণক-প্রমাণীকরণ সক্ষম করেছি। তবে আমি এখন একটি সমস্যার মুখোমুখি হয়েছি:

আমার সার্ভারে ব্যবহারকারীদের একটি পৃথক গ্রুপ রয়েছে যা আমি এসএফটিপি-র জন্য ব্যবহার করছি, তবে গ্রুপটি ব্যবহারকারীদের জন্য 2 এফএ সেট আপ না করায় group গোষ্ঠীটি আর লগইন করতে পারছে না। সেই গোষ্ঠীর জন্য গুগল-প্রমাণীকরণকারী মডিউলটি অক্ষম করা কি সম্ভব? গ্রুপে ব্যবহারকারীদের জন্য এটি সক্ষম করা কোনও বিকল্প নয় কারণ একাধিক ব্যবহারকারী এই অ্যাকাউন্টটি ব্যবহার করবেন।

PS: আমি ব্যবহার করি openssh-server


উত্তর:


13

আপনার গোষ্ঠীর জন্য এই অংশটি এড়াতে আপনি pam_succeed_ifমডিউলটি ব্যবহার করতে পারেন (ম্যানুয়াল পৃষ্ঠাটি দেখুন) pam_google_authenticator:

# the other authentication methods, such as @include common-auth
auth [success=1 default=ignore] pam_succeed_if.so user ingroup group
auth required pam_google_authenticator ...

2
এটি সম্ভবত [success=1 default=ignore]পরিবর্তে হওয়া উচিত required। এই মুহুর্তে, কোনও গোষ্ঠীতে নেই এমন কোনও ব্যবহারকারী প্রমাণীকরণ ব্যর্থ হওয়ার দিকে নিয়ে যাবে, আমার ধারণা। success=1এটি পরের পদ্ধতিটি এড়াতে সক্ষম default=ignoreকরবে, যার অর্থ গোষ্ঠীতে নেই এমন ব্যবহারকারীরা কেবল পরবর্তী পদ্ধতিতে চলে যাবে।
মুড়ু

@ মুরু হ্যাঁ, আপনি অবশ্যই ঠিক বলেছেন। এখনও পিএএম স্ট্যাকের বিশদ এবং সমস্ত যাদু শিখছে :)
জাকুজে

আপনার কি / etc / ssh / sshd_config- এ একাধিক "প্রমাণীকরণমাঠ" আছে কিনা তার উপর নির্ভর করে? উপরের লাইনটি যুক্ত হওয়ার সাথে সাথে আমি এখনও 'অনুমতি অস্বীকার (কীবোর্ড-ইন্টারেক্টিভ)' পেয়েছি
আরজ

@ আরজ এর অর্থ আপনার আলাদা কনফিগারেশন রয়েছে যাতে এই নির্দিষ্ট উত্তরগুলি আপনার জন্য প্রযোজ্য না।
জাকুজে

1

কিছু এসএফটিপি ক্লায়েন্ট 2 এফএ পরিচালনা করতে পারে। উদাহরণস্বরূপ, আমি ফাইলজিলা এবং উইনসিসিপি সহ 2 এফএ ব্যবহার করছি এবং তারা কাজ করে। এছাড়াও আমার কাছে ssh-key প্রমাণীকরণ সেটআপ আছে এবং এটি 2FA এর পাশাপাশি কাজ করে।

তবে আপনার প্রশ্নটি আকর্ষণীয় এবং আমি একটি ছোট জরিপ করেছি। আমি এই উত্তর খুঁজে পেয়েছি ।

সুতরাং, পৃথক ssh উদাহরণগুলি চালানো সম্ভব (এবং সহজ)। আমি ইতিমধ্যে এটি পরীক্ষিত।

  1. sshd_configফাইলের আলাদা কপি তৈরি করুন।

    $ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_pwd
    $ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_2fa
    
  2. এই নতুন configফাইলগুলি সম্পাদনা করুন । আপনার অবশ্যই যে জিনিসগুলির পরিবর্তন করতে হবে তার একটি হ'ল shh বন্দর। উদাহরণ অনুসারে:

    ২. ক) sshd_config_pwdনির্দিষ্ট লাইনগুলি হ'ল :

    Port 1022
    ...
    PasswordAuthentication yes
    ChallengeResponseAuthentication no
    UsePAM no
    

    ২. বি) sshd_config_2faনির্দিষ্ট লাইনগুলি হ'ল :

    Port 2022
    ...
    PasswordAuthentication no
    ChallengeResponseAuthentication yes
    UsePAM yes
    
  3. ফায়ারওয়ালে প্রয়োজনীয় পোর্টগুলি খুলুন। উদাহরণ অনুসারে:

    $ sudo ufw limit 1022
    $ sudo ufw limit 2022
    
  4. নতুন ssh দৃষ্টান্তগুলি চালান:

    $ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_pwd
    $ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_2fa
    

এটাই.


কিভাবে এই প্রশ্নের উত্তর দিচ্ছে? আপনি কীসে সংশোধন sshd_configবিভিন্ন পিএএম স্ট্যাক ব্যবহার এবং 2FA ব্যবহার করবেন?
জাকুজে

@ জাকুজে আমি আমার উত্তর আপডেট করেছি।
pa4080

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

হ্যাঁ, এটি কেবলমাত্র একটি সম্ভাব্য সমাধান, যা এখনও অসম্পূর্ণ, কারণ আমি সিস্টেম স্টার্টআপে এই পৃথক ssh উদাহরণগুলি শুরু করার মার্জিত উপায় জানি না।
pa4080

0

নিম্নলিখিত জন্য Google 2FA বাধ্যতামূলক করতে হবে সমস্ত ব্যবহারকারী
ব্যতীত একাত্মতার ব্যবহারকারীদের উবুন্টু এবং অ্যাডমিন গ্রুপ
(অর্থাত যদি গ্রুপ উবুন্টু বা অ্যাডমিন থেকে কোন ব্যবহারকারী 2FA কনফিগার বললে তাকে অনুমোদন হবে নেই / তার তাদের সর্বজনীন কী উপর ভিত্তি করে):

ফাইল: /etc/pam.d/sshd

auth required pam_google_authenticator.so nullok
auth optional pam_succeed_if.so user ingroup sudo
auth optional pam_succeed_if.so user ingroup admin

ফাইল: /etc/ssh/sshd_config

AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
ChallengeResponseAuthentication yes

ফলাফল:

          |  Belongs to sudo or  |  Has 2FA Already Setup      |  Authentication Result
          |  admin group         |  in ~/.google_authenticator | 
----------+----------------------+-----------------------------+------------------------
User A    |          NO          |       NO                    | DENIED LOGIN UNTIL 2FA IS SETUP
User B    |          YES         |       NO                    | CAN LOGIN (PRIVATE/PUBLIC KEY USED)

User C    |          NO          |       YES                   | CAN LOGIN (PRIVATE/PUBLIC KEY AND 2FA USED)

User D    |          YES         |       YES                   | CAN LOGIN (PRIVATE/PUBLIC KEY AND 2FA USED)

মতে Google প্রমাণীকরণকারীর README.md ডকুমেন্টেশন :

nullok

প্যামের কোনও মডিউল থেকে কমপক্ষে একটি সাফল্যের উত্তর প্রয়োজন এবং নুলোক এই মডিউলটিকে আইজিএনওর বলে। এর অর্থ হ'ল যদি এই বিকল্পটি ব্যবহার করা হয় তবে কমপক্ষে অন্য একটি মডিউল অবশ্যই ব্যর্থতা বলেছে। এটি করার একটি উপায় হ'ল পিএএম কনফিগারেশনের শেষে লেখক প্রয়োজনীয় pam_permit.so যুক্ত করা।

এটি nullokএখানে ব্যবহারকে নিরাপদ করে তোলে ।

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