[অস্বীকৃতি] আমি বুঝতে পেরেছি যে আমি পার্টিতে দেরি করে ফেলেছি, তবে আমি অন্য প্রশ্নের যে উত্তর দিয়েছি তা পেস্ট করতে চাই , কারণ আমার মনে হয় এটি পাঠকদের কাছে কিছুটা ভাল অন্তর্দৃষ্টি দিতে পারে, এবং এই প্রশ্নটি আপাতদৃষ্টিতে মনে হচ্ছে বেসিক ssh তথ্যের জন্য স্থান।
অনুরূপ সমস্যা ছিল যা এসকিউবুন্টুতে এই প্রশ্নটি পড়ার পরে এবং আমার ভিপিএস চেক করার পরে আমাকে আঘাত করেছিল , কেবলমাত্র একটি উদ্দীপক জোর প্রচেষ্টা দেখে। আমি তখনই পদক্ষেপ নেওয়ার সিদ্ধান্ত নিয়েছি।
এখন আমি যে প্রশ্নের সাথে লিঙ্ক করেছি সে অনুসারে, আপনি যদি নিজের মেশিনে ssh (ব্যর্থ বাহিনীর প্রচেষ্টা বা যে কোনও কিছু হতে পারে) এর ব্যর্থ লগইন প্রচেষ্টা দেখতে চান তবে এটি টাইপ করার চেষ্টা করুন:
grep sshd.\*Failed /var/log/auth.log | less
যদি আউটপুটে একাধিক লাইন থাকে, তবে এটি অনেকগুলি জোর প্রচেষ্টা, বিশেষত যদি সংক্ষিপ্ত বিরতিগুলির মধ্যে ঘটে থাকে তবে আপনি নিম্নলিখিত ক্রিয়াকলাপটি করতে চাইতে পারেন:
Ssh কনফিগারেশন ফাইল পরিবর্তন করুন
এটি করতে, আপনার প্রিয় সম্পাদকের সাথে / etc / ssh / sshd_config এ অবস্থিত ফাইলটি খুলুন vim /etc/ssh/sshd_config
।
১. পোর্ট ২২ থেকে এসএসএস স্থানান্তরিত করার চেষ্টা করুন : এখন যে রেখাটি পড়েছে তা সন্ধান করুন:
# What ports, IPs and protocols we listen for
Port 22
এবং পোর্ট 22 মন্তব্য করুন, এবং আপনার পছন্দসই কাউকে ব্যবহার করুন। উদাহরণ:
# What ports, IPs and protocols we listen for
# Port 22
Port 28934
দয়া করে মনে রাখবেন যে 1024 নীচের বন্দরগুলির জন্য বিশেষ (মূল) অনুমতি প্রয়োজন। আমি জানি না কীভাবে এটি এতে হস্তক্ষেপ করতে পারে, তবে আমি কেবল বলছি।
২. এসএসএসের মাধ্যমে রুট লগইনগুলি অক্ষম করুন : যেহেতু মূল ব্যবহারকারীর নাম অনুমানযোগ্য এবং আপনার সিস্টেমে সম্পূর্ণ অ্যাক্সেস সরবরাহ করে, তাই এসএসএইচ-এর মাধ্যমে এই অ্যাকাউন্টে নিরক্ষিত অ্যাক্সেস সরবরাহ করা বুদ্ধিমানের নয়। পড়া লাইন নির্ণয় PermitRootLogin করুন এবং এটি সেট কোন ।
PermitRootLogin no
৩. পাসওয়ার্ড প্রমাণীকরণ অক্ষম করুন : আপনার সিস্টেমে লগ ইন করতে এসএসএইচ কী তৈরি করুন এবং ব্যবহার করুন । পাসওয়ার্ড সক্ষম না করে আক্রমণকারীদের আপনার সার্ভারে অ্যাক্সেস পাওয়ার জন্য আপনার এসএসএইচ প্রাইভেট কীটি অনুমান করতে হবে (বা চুরি করতে হবে)। এমন কিছু যা খুব কঠিন। লাইন যে সার্চ এটি এগিয়ে যান PasswordAuthentication করুন এবং এটি সেট কোন
PasswordAuthentication no
! সতর্কবার্তা! এটি করার আগে দয়া করে শংসাপত্রের প্রমাণীকরণ কীভাবে সেট আপ করবেন সে সম্পর্কে এখানে এই গাইডের পরামর্শ নিন ।
দ্রষ্টব্য: আপনি পরিবর্তনগুলি ব্যবহার করার পরে sudo /etc/init.d/ssh restart
। SSH ব্যবহার মাধ্যমে অন্য পোর্টের সাথে সংযোগ করার জন্য: ssh username@hostname.com -p <port_number>
।
একটি ফায়ারওয়াল সেটআপ করুন
কীভাবে অত্যন্ত শক্তিশালী এবং কার্যকর ফায়ারওয়াল সেটআপ করতে হয়, যা লিনাক্স, আইপিটিবেলে সংহত রয়েছে সে সম্পর্কে এই গাইডটি পরীক্ষা করে দেখুন ।
সুরক্ষায় আপনাকে সহায়তা করতে স্ক্রিপ্টগুলি সেটআপ করুন
যে আমি ব্যক্তিগতভাবে এবং দ্রুত ব্যবহার মন থেকে আসে Fail2Ban । Fail2ban ব্যর্থ লগইন চেষ্টার জন্য আপনার লগ ফাইল নিরীক্ষণ করবে। কোনও আইপি ঠিকানা প্রমাণীকরণের প্রচেষ্টা সর্বাধিক সংখ্যার ছাড়িয়ে যাওয়ার পরে, এটি নেটওয়ার্ক পর্যায়ে ব্লক করা হবে এবং ইভেন্টটি লগ ইন করা হবে /var/log/fail2ban.log
। এটি ইনস্টল করতে:sudo apt-get install fail2ban
Ssh এর মাধ্যমে কমান্ডের ইতিহাস পরীক্ষা করুন
একটি লিনাক্স কমান্ড রয়েছে, যার নাম রয়েছে history
, যা আপনাকে দেখতে দেয় যে বিন্দু পর্যন্ত কোন কমান্ডগুলি ইনপুট করা হয়েছিল। history
বিন্দু পর্যন্ত সমস্ত কমান্ড দেখতে টার্মিনালে টাইপ করার চেষ্টা করুন । আপনি রুট হলে এটি সাহায্য করতে পারে ।
একটি নির্দিষ্ট কমান্ড অনুসন্ধান করার চেষ্টা করুন:history | grep command-name
Ssh এর পরে সমস্ত কমান্ডের তালিকা করতে :fc -l ssh
আপনি vi ব্যবহার করে কমান্ডগুলিও সম্পাদনা করতে পারেন (এটি ভিমের চেষ্টা করে দেখুন না, যদিও আমি ধরে নিই যে এটি কাজ করে):fc -e vi
আপনি ইতিহাস মুছতে পারেন :history -c
দ্রষ্টব্য: আপনি যদি কমান্ডের অনুরাগী না হন তবে history
আপনার হোম ডিরেক্টরিতে ( cd ~
) নামে একটি ফাইল রয়েছে যার নাম .bash_history (যদি আপনি ব্যাশ ব্যবহার করছেন) যা আপনি cat
ব্যাশ শেলের মধ্যে টাইপ করা আছে তা দেখতে পারেন ।
unset HISTFILE
ভিতরে ব্যবহারকারীদের টাইপ করা থেকে বিরত করার কোনও উপায় নেই এবং তারপরে বাশ ইতিহাস রেকর্ড করা হবে না।