ওপেনএসএসএইচ সার্ভারকে কীভাবে সুরক্ষিত এবং শক্ত করা যায়


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

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

1. এসএসএইচ পাসওয়ার্ডহীন প্রমাণীকরণ সেটআপ করুন

ডিফল্টরূপে, এসএসএইচ ব্যবহারকারীদের লগ ইন করার সময় তাদের পাসওয়ার্ডগুলি সরবরাহ করা প্রয়োজন But নিরাপদে থাকার জন্য, এসএসএইচ পাসওয়ার্ডহীন প্রমাণীকরণের ব্যবহার অত্যন্ত উত্সাহিত।

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

একবার পাবলিক কী সাফল্যের সাথে অনুলিপি করা হয়েছে, আপনি এখন পাসওয়ার্ড না দিয়েই নির্বিঘ্নে দূরবর্তী সার্ভারে এসএসএইচ করতে পারেন।

পরবর্তী পদক্ষেপটি পাসওয়ার্ড প্রমাণীকরণ অক্ষম করা, এটি অর্জন করতে আপনার এসএসএইচ কনফিগারেশন ফাইলটি পরিবর্তন করতে হবে।

$ sudo vim /etc/ssh/sshd_config

কনফিগারেশন ফাইলের ভিতরে, স্ক্রোল করুন এবং নিম্নলিখিত নির্দেশটি সনাক্ত করুন। মন্তব্য না করে বিকল্পটি হ > এ পরিবর্তন করুন

PasswordAuthentication no

তারপরে এসএসএইচ ডেমন পুনরায় চালু করুন।

# sudo systemctl restart sshd

এই মুহুর্তে, আপনার কাছে কেবল এসএসএইচ কী প্রমাণীকরণ ব্যবহার করে দূরবর্তী সার্ভারে অ্যাক্সেস থাকবে।

2. ব্যবহারকারী এসএসএইচ পাসওয়ার্ডহীন সংযোগের অনুরোধগুলি অক্ষম করুন

আপনার সার্ভারের সুরক্ষা সুরক্ষিত করার আরেকটি প্রস্তাবিত উপায় হ'ল পাসওয়ার্ড ছাড়াই ব্যবহারকারীদের এসএসএইচ লগইন অক্ষম করা। এটি কিছুটা অদ্ভুত মনে হলেও কখনও কখনও সিস্টেম অ্যাডমিনিস্ট্রেটররা ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে এবং পাসওয়ার্ড নির্ধারণ করতে ভুলে যেতে পারেন - এটি খুব খারাপ ধারণা।

পাসওয়ার্ড ছাড়াই ব্যবহারকারীদের কাছ থেকে অনুরোধগুলি প্রত্যাখ্যান করতে, আবার /etc/ssh/sshd_config এ কনফিগারেশন ফাইলের দিকে যান এবং নিশ্চিত হন যে নীচের নির্দেশটি আপনার কাছে রয়েছে:

PermitEmptyPasswords no

তারপরে পরিবর্তনটি কার্যকর হওয়ার জন্য এসএসএইচ পরিষেবা পুনরায় চালু করুন।

$ sudo systemctl restart sshd

৩. এসএসএইচ রুট লগইন অক্ষম করুন

কোনও হ্যাকার যদি আপনার মূল পাসওয়ার্ডটি জোর করে পরিচালনা করতে পারে তবে এটি কী হবে তা কোনও মস্তিষ্কের নয়। রিমোট রুট লগইনকে মঞ্জুরি দেওয়া হ'ল একটি খারাপ ধারণা যা আপনার সিস্টেমের সুরক্ষাকে বিপদে ফেলতে পারে।

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

PermitRootLogin no

আপনার কাজ শেষ হয়ে গেলে, পরিবর্তনটি কার্যকর হওয়ার জন্য এসএসএইচ পরিষেবাটি পুনরায় চালু করুন।

$ sudo systemctl restart sshd

এখন থেকে, দূরবর্তী রুট লগইন নিষ্ক্রিয় করা হবে।

৪. এসএসএইচ প্রোটোকল 2 ব্যবহার করুন

এসএসএইচ দুটি সংস্করণে আসে: এসএসএইচ প্রোটোকল 1 এবং প্রোটোকল 2 এসএসএইচ প্রোটোকল 2 2006 সালে প্রবর্তিত হয়েছিল এবং প্রোটোকল 1 এর চেয়ে বেশি সুরক্ষিত এটির শক্তিশালী ক্রিপ্টোগ্রাফিক চেক, বাল্ক এনক্রিপশন এবং শক্তিশালী অ্যালগরিদমের জন্য ধন্যবাদ।

ডিফল্টরূপে, এসএসএইচ প্রোটোকল 1 ব্যবহার করে this এটি আরও সুরক্ষিত প্রোটোকল 2 এ পরিবর্তন করতে, কনফিগারেশন ফাইলে নীচের লাইনটি যুক্ত করুন:

Protocol 2

বরাবরের মতো, পরিবর্তনগুলি কার্যকর হওয়ার জন্য এসএসএইচ পুনরায় চালু করুন।

$ sudo systemctl restart sshd

এগিয়ে যেতে, এসএসএইচ ডিফল্টভাবে প্রোটোকল 2 ব্যবহার করবে।

এসএসএইচ প্রোটোকল 1 টি আর সমর্থন করে কিনা তা পরীক্ষা করতে, কমান্ডটি চালান:

$ ssh -1 [email 

আপনি একটি ত্রুটি পাবেন যা "এসএসএইচ প্রোটোকল ভি 1 আর সমর্থিত নয়" পড়বে।

এই ক্ষেত্রে, আদেশটি ছিল:

$ ssh -1 [email 

অতিরিক্ত হিসাবে, আপনি কেবল প্রোটোকল 2 ব্যবহারের ক্ষেত্রে ডিফল্ট প্রোটোকল তা নিশ্চিত হওয়ার জন্য -2 ট্যাগটি নির্দিষ্ট করতে পারেন।

$ ssh -2 [email 

5. এসএসএইচ সংযোগের সময়সীমা নিষ্ক্রিয় মান নির্ধারণ করুন

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

আবার, আপনার এসএসএইচ কনফিগারেশন ফাইলটি খুলুন এবং "ক্লায়েন্টএলইভআইন্টারভাল" নির্দেশটি সনাক্ত করুন। যুক্তিসঙ্গত মান নির্ধারণ করুন, উদাহরণস্বরূপ, আমি সীমাটি 180 সেকেন্ডে সেট করেছি।

ClientAliveInterval 180

এটি সূচিত করে যে 3 মিনিটের পরে কোনও কার্যকলাপ নিবন্ধিত না করা হলে এসএসএইচ সেশনটি বাদ দেওয়া হবে যা 180 সেকেন্ডের সমতুল্য।

তারপরে পরিবর্তনগুলি কার্যকর করতে এসএসএইচ ডেমন পুনরায় চালু করুন।

$ sudo systemctl restart sshd

6. কিছু নির্দিষ্ট ব্যবহারকারীর জন্য এসএসএইচ অ্যাক্সেস সীমাবদ্ধ করুন

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

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

AllowUsers tecmint james

এরপরে পরিবর্তনগুলি ধরে রাখতে এসএসএইচ পুনরায় চালু করুন।

$ sudo systemctl restart sshd

7. পাসওয়ার্ড চেষ্টা করার জন্য একটি সীমা কনফিগার করুন

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

এই উদাহরণে, সীমাটি প্রদর্শিত হিসাবে 3 টি প্রচেষ্টা সেট করা হয়েছে।

MaxAuthTries 3

এবং শেষ অবধি, পূর্বের পরিস্থিতিতে যেমন এসএসএইচ পরিষেবা পুনরায় চালু করুন।

আপনি নিম্নলিখিত নিম্নলিখিত এসএসএইচ সম্পর্কিত নিবন্ধগুলি দরকারী খুঁজে পেতে পারেন:

  • লিনাক্সের উত্স থেকে ওপেনএসএসএইচ 8.0 সার্ভারটি কীভাবে ইনস্টল করবেন
  • সেন্টোস/আরএইচএল 8
  • এ এসএসএইচ সুরক্ষিত করতে ফেল 2ব্যান কীভাবে ইনস্টল করবেন
  • লিনাক্সে এসএসএইচ পোর্ট কীভাবে পরিবর্তন করবেন
  • লিনাক্সে কীভাবে এসএসএইচ টানেলিং বা পোর্ট ফরওয়ার্ডিং তৈরি করবেন
  • লিনাক্সে এসএসএইচ সংযোগগুলি গতি বাড়ানোর 4 উপায়
  • লিনাক্সে সমস্ত ব্যর্থ এসএসএইচ লগইন প্রচেষ্টা কীভাবে সন্ধান করবেন
  • লিনাক্সে নিষ্ক্রিয় বা অলস এসএসএইচ সংযোগগুলি কীভাবে সংযোগ বিচ্ছিন্ন করবেন

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