কেবলমাত্র নির্দিষ্ট ব্যবহারকারীদেরই একটি বন্দরে ssh এর মাধ্যমে লগইন করতে এবং অন্যকে অন্য পোর্টের মাধ্যমে লগইন করার অনুমতি দেওয়া হচ্ছে


13

আমার নিম্নলিখিত ব্যবহারের মামলা রয়েছে:

  • সুরক্ষিত, বিশ্বস্ত নেটওয়ার্ক থেকে ব্যবহারকারীদের লগইন করার অনুমতি দেওয়া দরকার
  • এবং তারপরে একটি দম্পতি (মাত্র দুটি) মোবাইল ব্যবহারকারীকে একটি লিনাক্স সেন্টোস মেশিনে দূর থেকে লগইন করার অনুমতি দেওয়া।

আমি বিভিন্ন বন্দরে sshd চালাতে পারি যেমন:

  • ভিতর থেকে এটি 22 এ চালানো ঠিক আছে কারণ আমি এগুলি অন্যান্য বন্দরগুলিতে সংযুক্ত করতে চাই না (স্ক্রিপ্টটি গণ্ডগোল করে)।
  • বাইরের মোবাইল ব্যবহারকারীদের জন্য, আমি একটি ভিন্ন বন্দরে এসএসডিটি চালাব, পোর্ট এক্স বলুন (বর্ধিত সুরক্ষা - এটি একটি ছোট অফিসের সেটআপ)।

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

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

ইনপুট প্রশংসা

উত্তর:


12

SSHবিকল্প বন্দরে চালানো আর সুরক্ষা হিসাবে গণ্য হয় না। এটি কেবল আপনার সামান্য কিছুটা অস্পষ্টতা এবং আপনার ব্যবহারকারীদের জন্য জটিলতার একটি যুক্ত পদক্ষেপ যুক্ত করে। এটি আপনার নেটওয়ার্কটি ভাঙতে চাইছে এমন লোকদের জন্য শূন্য বাধা যুক্ত করে, যারা স্বয়ংক্রিয় পোর্ট স্ক্যানার ব্যবহার করছে এবং কোন পোর্টটি চলছে তা বিবেচ্য নয়।

যদি আপনি এমন একটি সিস্টেমে সুরক্ষা জোরদার করতে চান যা দূরবর্তী ইন্টারনেট ভিত্তিক sshd_configঅন্তর্নির্মিত এসএসএইচকে অনুমতি দেয় তবে আপনার ব্যবহারকারীদের @ অ্যানথন নির্দেশিতভাবে নিয়ন্ত্রণ করুন এবং তারপরে সরাসরি প্যামে সুরক্ষাও প্রয়োগ করতে পারেন।

দুটি গ্রুপ তৈরি করুন, lusersএবং rusers। দূরবর্তী মোবাইল ব্যবহারকারীদের দলে যোগ করুন rusers। এই ব্যবহারকারীদের অ্যাক্সেসের অনুমতি দেওয়ার জন্য pam_succeed_if.so PAM মডিউলটি ব্যবহার করুন । Ssh এর জন্য আপনার প্যাম কনফিগারেশনে লাইন যুক্ত করুন:

account     sufficient  pam_succeed_if.so user ingroup lusers
account     sufficient  pam_succeed_if.so user ingroup rusers

কিছু pam_succeed_if.so মডিউলগুলির জন্য আপনাকে কিছুটা আলাদা সিনট্যাক্স, যেমন ব্যবহারের প্রয়োজন হতে পারে group = lusers

তারপরে, কেবল sshdসংযুক্ত হতে পারে এমন ব্যবহারকারীকেই সীমাবদ্ধ রাখছে না, তবে কোনও বাগ ইন করার sshdপরেও, আপনার কাছে এখনও প্যাম ভিত্তিক বিধিনিষেধের প্রস্তাব রয়েছে protection

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

ইন sshd_config:

2 সেটিংস পরিবর্তন করুন:

ChallengeResponseAuthentication yes

এবং

PasswordAuthentication yes

প্রতি:

ChallengeResponseAuthentication no

এবং

PasswordAuthentication no

সুতরাং, ডিফল্টটি এখন কেবল কী প্রমাণীকরণের অনুমতি দেয়। তারপরে স্থানীয় ব্যবহারকারীদের জন্য আপনি matchস্থানীয় ব্যবহারকারীদের জন্য ডিফল্ট পরিবর্তন করতে কনফিগারেশন সেটিংটি ব্যবহার করতে পারেন । আপনার স্থানীয় বেসরকারী নেটওয়ার্কটি 192.168.1.0/24 বলে ধরে নেওয়া, এতে যুক্ত করুন sshd_config:

Match Address 192.168.1.0/24
PasswordAuthentication yes

এখন, স্থানীয় ব্যবহারকারীরা পাসওয়ার্ড বা কীগুলির সাথে সংযোগ করতে পারবেন এবং দূরবর্তী ব্যবহারকারীরা কীগুলি ব্যবহার করতে বাধ্য হবেন। পাস-বাক্যাংশগুলি সহ কীগুলি তৈরি করা আপনার উপর নির্ভর করে।

একটি অতিরিক্ত সুবিধা হিসাবে, আপনাকে কেবল একটি একক পরিচালনা sshd_configকরতে হবে এবং আপনাকে কেবল একটি একক বন্দরে ssh চালাতে হবে, যা আপনার নিজের ব্যবস্থাপনাকে সহজ করে দেয়।


2017-01-21 সম্পাদনা করুন - authorized_keysফাইলগুলির ব্যবহার সীমাবদ্ধ ।

আপনি যদি এটি নিশ্চিত করতে চান যে ব্যবহারকারীরা কেবল একটি এসএসএস কী তৈরি করতে পারে না এবং authorized_keysলগইন করার জন্য কোনও ফাইল দিয়ে এটি ব্যবহার করতে পারে তবে আপনি এটি নিয়ন্ত্রণ করতে পারবেন যে sshd এর জন্য একটি নির্দিষ্ট অবস্থান নির্ধারণ করে অনুমোদিত কীগুলি সন্ধান করা হবে।

মধ্যে /etc/ssh/sshd_config, পরিবর্তন:

AuthorizedKeysFile  %h/ssh/authorized_keys

যেমন কিছু:

AuthorizedKeysFile  /etc/.ssh/authorized_keys/%u

একটি নিয়ন্ত্রিত ডিরেক্টরিতে ইঙ্গিত করে যা ব্যবহারকারীদের লেখার অনুমতি নেই তার অর্থ তারা নিজের কী তৈরি করতে পারে না এবং এটি আপনার প্রয়োগ করা বিধিগুলি ব্যবহার করতে ব্যবহার করতে পারে না।


2
আমি দেখতে পাই না যে কীভাবে আপনার উত্তর স্থানীয় ব্যবহারকারীদের থেকে দূরবর্তী ব্যবহারকারীদের আলাদা করে। lusersগ্রুপে না থাকলেও গ্রুপে নেই এমন কেউ যদি rusersএকটি কী-পেয়ার তৈরি করে এবং তাদের আপডেট করে তবে ~/.ssh/authorized_keysতারা দূর থেকে লগ ইন করতে সক্ষম হবে।
রিচার্ড হ্যানসেন

8

আপনি এর মতো কিছু যুক্ত করতে পারেন /etc/ssh/sshd_config:

AllowUsers mobileuser1 mobileuser2 *@10.0.0.0/8

উপরেরটি ধরে নেওয়া হয়েছে যে অনুমোদিত প্রত্যন্ত ব্যবহারকারীদের নাম দেওয়া হয়েছে mobileuser1এবং mobileuser2আপনার বিশ্বস্ত নেটওয়ার্কটি সাবনেট মাস্ক 255.0.0.0 সহ 10.0.0.0 রয়েছে।

এটি দুটি মোবাইল ব্যবহারকারীকে যে কোনও জায়গা থেকে লগ ইন করতে এবং প্রত্যেককে বিশ্বাসযোগ্য নেটওয়ার্ক থেকে লগ ইন করতে সহায়তা করে। এই সমস্ত নিদর্শনগুলির কোনওর সাথে মেলে না এমন কোনও ব্যবহারকারীর (যেমন fooদূরবর্তী থেকে ব্যবহারকারী লগ ইন করা) অ্যাক্সেস প্রত্যাখ্যান করা হবে।


আমি আমার উত্তরে টুকরো টুকরো টুকরো। আমি মনে করি যদি আমরা আপনার উত্তরটি আমার সাথে সংযুক্ত করি তবে এটি একটি দুর্দান্ত দৃ rob় সমাধান।
টিম কেনেডি

2

আপনি দুটি এসএসএস ডেমন এবং দুটি sshd_configফাইল শুরু করে এটি করতে পারেন । আপনার বিদ্যমান একটি অনুলিপি করুন (যেমন /etc/ssh/sshd_config /etc/ssh/sshd_alt_configবিকল্প কনফিগারেশন সেটআপ থেকে এবং এর manজন্য পৃষ্ঠা থেকে sshd_config:

বন্দর

Specifies the port number that sshd(8) listens on.  The default
is 22.  Multiple options of this type are permitted.  See also
ListenAddress

AllowUsers

This keyword can be followed by a list of user name patterns,
separated by spaces.  If specified, login is allowed only for
user names that match one of the patterns.  Only user names are
valid; a numerical user ID is not recognized.  By default, login
is allowed for all users.  If the pattern takes the form
USER@HOST then USER and HOST are separately checked, restricting
logins to particular users from particular hosts.  The
allow/deny directives are processed in the following order:
DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.

আপনি সম্ভবত অন্য কোনও ফাইলে বিকল্প এসএসএস লগ রাখতে চান এবং উদাহরণস্বরূপ লগইন প্রচেষ্টা লক্ষ্য করার জন্য সেই ফাইলটিতে যা লেখা আছে তা অনুসরণ করুন।

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