সবচেয়ে বড় উদ্বেগ হ'ল এসএসএইচ-এর মাধ্যমে কম্পিউটারের প্রশাসক হিসাবে লগ ইন করা লোক। যদি আপনার কাছে পাসওয়ার্ড অনুমান করা সহজ হয় তবে এটি জোর করেই করা যেতে পারে।
আপনি নিতে পারেন এমন বেশ কয়েকটি সুরক্ষা ব্যবস্থা রয়েছে, নীচে এসএসএইচ সার্ভার স্থাপন করার সময় আমি সর্বদা গ্রহণ করি এবং কিছু অতিরিক্ত।
কমপক্ষে (বলুন) 10 টি উচ্চ- এবং ছোট হাতের অক্ষর, সংখ্যা এবং অন্যান্য অক্ষর সমন্বয়ে একটি শক্তিশালী পাসওয়ার্ড ব্যবহার করুন।
জেল ব্যবহারকারীদের তাদের হোম ডিরেক্টরিতে। জেলযুক্ত ব্যবহারকারীরা তাদের হোম ডিরেক্টরি থেকে বাইরে থাকা ফাইলগুলিতে অ্যাক্সেস / সম্পাদনা করতে পারবেন না। সুতরাং আপনার ব্যবহারকারী কী সিস্টেম ফাইলগুলিতে অ্যাক্সেস / সম্পাদনা করতে পারবেন না। কীভাবে কোনও ব্যবহারকারীর কারাগারে রাখা যায় সে সম্পর্কে প্রচুর টিউটোরিয়াল অনলাইনে পাওয়া যাবে। তাদের বেশিরভাগ জেলকিট ব্যবহার করেন । এই জাতীয় টিউটোরিয়ালটির উদাহরণ এখানে পাওয়া যাবে । বিকল্পভাবে, আপনি ওপেনএসএসএইচ-সার্ভারের স্থানীয় ChrootDirectory
নির্দেশিকাও ব্যবহার করতে পারেন । এটির একটি টিউটোরিয়াল উদাহরণ এখানে পাওয়া যাবে ।
Fail2Ban ইনস্টল করুন । Fail2Ban এমন একটি প্রোগ্রাম যা ভুল এন্ট্রিগুলির জন্য প্রমাণীকরণ লগগুলি পরীক্ষা করে। যখন একটি নির্দিষ্ট সীমা পৌঁছে যায়, এটি নির্দিষ্ট প্রাইস সময়ের জন্য নির্দিষ্ট আইপির জন্য একটি ফায়ারওয়াল ব্লক যুক্ত করে। এসএসএইচ দিয়ে ফেইল 2 ব্যান কীভাবে সেটআপ করা যায় সে সম্পর্কে অনলাইনে বেশ কয়েকটি অনলাইন টিউটোরিয়ালও পাওয়া গেছে, উদাহরণ এটির একটি । Fail2Ban হোমপেজ এছাড়াও কিছু দুর্দান্ত এবং সম্পূর্ণ HOWTOs ধারণ করে।
এসএসএইচ এর মাধ্যমে রুট লগইন অক্ষম করুন। এটি সেই ব্যবহারকারী যা আপনার সিস্টেমে প্রতিটি ফাইলের অ্যাক্সেস পেয়ে যায়, তাই এটির শেল লগইন অক্ষম করার পরামর্শ দেওয়া হয়। উবুন্টুর সর্বশেষতম সংস্করণগুলিতে, মূল ব্যবহারকারী স্বয়ংক্রিয়ভাবে অক্ষম হয়ে গেছে তবে যাইহোক এটির এসএসএইচ অ্যাক্সেস অক্ষম করতে কোনও ক্ষতি করে না। ফাইল সম্পাদনা করে এটি করা হয় /etc/ssh/sshd_config
। Following নীচের লাইনটি দেখুন এবং নিশ্চিত করুন যে এর সামনে কোনও # নেই।
#PermitRootLogin no
একটি অ-মানক বন্দর ব্যবহার করুন (উদাহরণস্বরূপ 22 নয়) এটি হয় আপনার রাউটারে পোর্ট ফরওয়ার্ডিংয়ের মাধ্যমে (যেমন 16121 -> 22 22 -> 22 এর পরিবর্তে 22) বা এসএসএইচ ডিমনকে অন্য কোনও বন্দরে শোনার জন্য তৈরি করা হয়। এটি আপনার এসএসএইচ পরিষেবাটি দূষিত ব্যবহারকারীদের জন্য কম সহজে সনাক্তযোগ্য করে তুলবে। ফাইল সম্পাদনা করে এটি করা হয় /etc/ssh/sshd_config
। Following নীচের লাইনটি সন্ধান করুন এবং আপনি যে কোনও বন্দরটি চান 22 তে পরিবর্তন করুন। আপনার রাউটারের পরে সঠিক পোর্টটি ফরোয়ার্ড করতে ভুলবেন না।
Port 22
লগ ইন করতে পাসওয়ার্ড ব্যবহার করবেন না password পাসওয়ার্ড ছাড়াও, এসএসএইচ প্রাইভেট কী ব্যবহার করে লগইন করতে দেয়। এর অর্থ আপনার কম্পিউটারে একটি কী সঞ্চিত আছে যার উপর আপনি এসএসএইচ মেশিনের এসএসএইচ অ্যাক্সেস করেছেন। কোনও সংযোগ দেওয়ার চেষ্টা করা হলে, এসএসএইচ ক্লায়েন্ট পাসওয়ার্ড প্রমাণীকরণের পরিবর্তে সার্ভারে লগইন করতে কীটি ব্যবহার করে। প্রমাণীকরণ কীগুলি পাসওয়ার্ডের চেয়ে ক্রিপ্টোগ্রাফিকভাবে আরও শক্তিশালী এবং তাই ক্র্যাক করা এত সহজ নয়। এ ছাড়াও আরও অনেক অনলাইন কিভাবে SSH সহযোগে কী ভিত্তিক প্রমাণীকরণ সেট আপ করার সম্পর্কে অনলাইনে খুঁজে পান তবে টিউটোরিয়াল, একটি উদাহরণ হবে এই এক । (আপনি যদি পুটিটিওয়াই উইন্ডোজ থেকে এসএসএইচ করেন তবে একটি পুটি হাওয়ের জন্য এই লিঙ্কটি পরীক্ষা করুন )) কী-ভিত্তিক প্রমাণীকরণ সেট আপ করার পরে আপনি ফাইলটি সম্পাদনা করে পাসওয়ার্ড প্রমাণীকরণ অক্ষম করতে পারবেন /etc/ssh/sshd_config
। ✝ নিম্নলিখিত লাইনটি দেখুন এবং নিশ্চিত করুন যে এর সামনে কোনও # নেই।
#PasswordAuthentication no
Linkচ্ছিকভাবে, @ লিঙ্কার ৩০০০ তার মন্তব্যে যেমন উল্লেখ করেছেন, আপনি যে পিসিটি এসএসএইচ দিয়ে অ্যাক্সেস করতে চান তার জন্য আপনি একটি ভিপিএন টানেল সেট আপ করতে পারেন এবং তারপরে এসএসএইচ সার্ভারে অ-স্থানীয় নেটওয়ার্ক অ্যাক্সেসকে মঞ্জুর করবেন। এইভাবে, ভিপিএন সংযোগ ব্যতীত কোনও বাহ্যিক ডিভাইস আপনার এসএসএইচ সার্ভারটিতে অ্যাক্সেস করতে সক্ষম হবে না। সমস্ত হোস্টকে অস্বীকার করে এবং পরে কেবল স্থানীয় নেটওয়ার্ক আইপিগুলিকে লগইন করার অনুমতি দিয়ে এটি করা যেতে পারে। এটি সম্পাদনা করে /etc/hosts.deny
এবং নিম্নলিখিতটি যুক্ত করে করা হয়:
sshd: ALL
এবং /etc/hosts.allow
নিম্নলিখিত যুক্ত করতে:
sshd: 192.168.1.*
যেখানে আইপি আপনার স্থানীয় নেটওয়ার্কগুলির মধ্যে একটির সাথে মেলে। *
একটি ওয়াইল্ডকার্ড, তাই দিয়ে শুরু হওয়া সমস্ত আইপি ঠিকানা 192.168.1.
গ্রহণ করা হবে। যদি এটি কাজ না করে তবে আপনার বিতরণটি ssh
পরিবর্তে ব্যবহার করতে পারে sshd
। সেক্ষেত্রে আপনার চেষ্টা করা উচিত ssh: 192.168.1.*
এবং ssh: ALL
পরিবর্তে।
আপনি শুধুমাত্র নির্দিষ্ট হোস্ট, সঙ্গে একই কাজ অনুমতি দিতে পারে /etc/hosts.allow
এবং /etc/hosts.deny
6 বর্ণনা অনুযায়ী, কিন্তু /etc/hosts.allow
অ্যাড নিম্নলিখিত লাইন এবং প্রতি হোস্ট স্পেস দ্বারা পৃথক করার অনুমতি:
sshd: {IP OF HOST TO ALLOW 1} {IP OF HOST TO ALLOW 2} {IP OF HOST TO ALLOW 3} {ETC.}
কেবলমাত্র নির্দিষ্ট ব্যবহারকারীদেরই আপনার এসএসএইচ সার্ভারটি অ্যাক্সেস করার অনুমতি দিন। ফাইল সম্পাদনা করে এটি করা হয় /etc/ssh/sshd_config
। Following নীচের লাইনটি দেখুন এবং নিশ্চিত করুন যে এর সামনে কোনও # নেই। এটি উপস্থিত না থাকলে এটি তৈরি করুন। উদাহরণস্বরূপ, আপনি যদি জন, টম এবং মেরিকে কেবল অনুমতি দিতে চান তবে এই লাইনটি যুক্ত / সম্পাদনা করুন:
AllowUsers john tom mary
আপনি নির্দিষ্ট ব্যবহারকারীদেরও অস্বীকার করতে পারেন উদাহরণস্বরূপ, আপনি যদি জন, টম এবং মেরির অ্যাক্সেস অস্বীকার করতে চান তবে এই লাইনটি যুক্ত / সম্পাদনা করুন:
DenyUsers john tom mary
আগত সংযোগগুলির জন্য কেবল প্রোটোকল এসএসএইচ 2 এর অনুমতি দিন। এসএসএইচ প্রোটোকলের দুটি সংস্করণ রয়েছে। এসএসএইচ 1 সুরক্ষা সম্পর্কিত বিষয়গুলির সাথে তাই এসএসএইচ 2 ব্যবহারের প্রস্তাব দেওয়া হয় is এটি ফাইল সম্পাদনা করে জোর করা যেতে পারে /etc/ssh/sshd_config
। Following নীচের লাইনটি দেখুন এবং নিশ্চিত করুন যে এর সামনে কোনও # নেই। এটি উপস্থিত না থাকলে এটি তৈরি করুন।
Protocol 2,1
1 টি সরান, তাই লাইনটি হবে
Protocol 2
কোনও পাসওয়ার্ড সেট নেই এমন ব্যবহারকারীদের লগইন করার অনুমতি দিন না। এটি ফাইল সম্পাদনা করে জোর করা যেতে পারে /etc/ssh/sshd_config
। Following নীচের লাইনটি দেখুন এবং নিশ্চিত করুন যে এর সামনে কোনও # নেই। এটি উপস্থিত না থাকলে এটি তৈরি করুন।
PermitEmptyPasswords no
এবং যদিও সাধারণ এবং সম্ভবত বলা বাহুল্য তবে একাধিক ক্ষেত্রে এটি অত্যন্ত গুরুত্বপূর্ণ প্রমাণিত, আপনার সফ্টওয়্যারটি আপ টু ডেট রাখুন। নিয়মিত আপনার ইনস্টল করা প্যাকেজ / সফ্টওয়্যার আপডেট করুন।