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
একটি নিয়ন্ত্রিত ডিরেক্টরিতে ইঙ্গিত করে যা ব্যবহারকারীদের লেখার অনুমতি নেই তার অর্থ তারা নিজের কী তৈরি করতে পারে না এবং এটি আপনার প্রয়োগ করা বিধিগুলি ব্যবহার করতে ব্যবহার করতে পারে না।
lusers
গ্রুপে না থাকলেও গ্রুপে নেই এমন কেউ যদিrusers
একটি কী-পেয়ার তৈরি করে এবং তাদের আপডেট করে তবে~/.ssh/authorized_keys
তারা দূর থেকে লগ ইন করতে সক্ষম হবে।