কম্পিউটার

আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

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

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

সৌভাগ্যবশত, আপনার সার্ভারে এই হ্যাকারদের ফাঁদে ফেলার জন্য একটি দরকারী এবং মজার উপায় রয়েছে এবং কোনো সমস্যা সৃষ্টি করতে তাদের বিভ্রান্ত রাখতে পারে।

একটি SSH হানিপট কি?

সহজ কথায় বলতে গেলে, একটি SSH মধুর পট হল সাইবার অপরাধীদের আকৃষ্ট করার জন্য এবং তাদের টার্গেট করার জন্য কম ঝুলন্ত ফলের মতো দেখতে একটি ছলনা। কিন্তু এটি একটি প্রকৃত লক্ষ্য নয়, এবং হ্যাকার প্রায়ই এটি বুঝতে পারে না যতক্ষণ না অনেক দেরি হয়ে যায়।

আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

একটি মধুপাত্র অনেক রূপ ধারণ করতে পারে এবং এর বিভিন্ন ব্যবহার রয়েছে। কখনও কখনও তারা একটি বিভ্রান্তির চেয়ে সামান্য বেশি, কিন্তু অন্য সময় তারা আক্রমণকারী সম্পর্কে তথ্য সংগ্রহ করতে ব্যবহার করা হয়।

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

কেন একটি SSH হানিপট ব্যবহার করবেন?

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

এই নির্দেশিকাটির উদ্দেশ্যে, আমরা প্রাথমিকভাবে মধুর পাত্রটিকে বিভ্রান্তি হিসাবে ব্যবহার করছি। বিশেষ করে, এটি হ্যাকারকে আপনার সার্ভারের আরও দুর্বল অংশে আক্রমণ করা থেকে বিভ্রান্ত করবে এবং সেই সাথে অন্য কারো সার্ভারে আক্রমণ করতে তাদের ব্যস্ত রাখবে।

এবং, এই ক্ষেত্রে অন্তত, ব্যবহৃত পদ্ধতিটি একটি বা দুটি হাসির জন্যও ভাল হবে।

SSH এ আটকা পড়েছে

মূলত, আমরা যা করতে চাই তা হল হ্যাকারকে ফাঁদে ফেলা যখন তারা SSH লগইনকে জবরদস্তি করার চেষ্টা করে। এটি করার কয়েকটি উপায় রয়েছে, তবে সবচেয়ে সহজ একটি হল ধীরে ধীরে তাদের একটি খুব দীর্ঘ SSH ব্যানার পাঠানো৷

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

হ্যাকারের স্ক্রিপ্ট এতে আটকে যায় এবং নিজে থেকে বের হতে পারে না বলে এটিকে কখনও কখনও খেলার সাথে "SSH tarpit" হিসাবে উল্লেখ করা হয়।

এর জন্য আপনাকে কিছু মৌলিক SSH ব্যবহার জানতে হবে। আপনি যদি SSH ব্যবহার করার বিষয়ে নিশ্চিত না হন, তাহলে আপনাকে শুরু করতে এই নির্দেশিকাটি পড়ুন।

অন্তহীন

এটি সম্পন্ন করার জন্য আমরা যে প্রোগ্রামটি ব্যবহার করছি তাকে বলা হয় অন্তহীন এবং এটি স্কিটো দ্বারা তৈরি৷

আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

একবার আপনি আপনার সার্ভারে লগ ইন করলে, সংগ্রহস্থলটি ক্লোন করুন। (আপনার git থাকতে হবে এটি ইনস্টল করুন।)

git clone https://github.com/skeeto/endlessh

এখন যেহেতু আপনার সার্ভারে আপনার সংগ্রহস্থল আছে, আপনাকে সেই ডিরেক্টরিতে স্যুইচ করতে হবে এবং এটি কম্পাইল করতে হবে।

cd endlessh
make

প্রোগ্রাম কম্পাইল করার চেষ্টা করার সময় কিছু ত্রুটি আসতে পারে। এর সম্ভবত অর্থ হল আপনি এমন একটি নির্ভরতা হারিয়েছেন যা প্রোগ্রামটিকে কম্পাইল করতে হবে। কোন নির্ভরতা অনুপস্থিত বলে আপনাকে তা পরীক্ষা করতে হবে, তারপর আপনার বিতরণের প্যাকেজ পরিচালকের সাথে এটি ইনস্টল করুন।

একবার আপনার কাছে কম্পাইল করার জন্য প্রোগ্রামটি হয়ে গেলে, আপনি এটিকে আপনার বিন ডিরেক্টরিতে সরাতে চাইবেন যাতে এটি আপনার পথে থাকে৷

sudo mv endlessh /usr/local/bin

আপনার পথে এটি সনাক্ত করা হয়েছে তা নিশ্চিত করতে আপনি দুবার পরীক্ষা করতে চাইবেন।

which endless

এটির /usr/local/bin/endlessh প্রিন্ট করা উচিত পথ যদি এটি না হয়, আপনি নিশ্চিত করতে চান যে এটি সঠিক ডিরেক্টরিতে সরানো হয়েছে৷

আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

এর পরে, প্রোগ্রামটিকে একটি পরিষেবা ডেমনে পরিণত করুন যাতে এটি একটি systemd হিসাবে কাজ করতে পারে পরিষেবা৷

sudo cp util/endlessh.service /etc/systemd/system/

একবার এটি শেষ হয়ে গেলে, পরিষেবাটি সক্ষম করুন যাতে এটি ব্যাকগ্রাউন্ডে চলবে৷

sudo systemctl enable endlessh
আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

ডিফল্টরূপে, endlesssh শুধুমাত্র 1024-এর উপরে পোর্টে কাজ করবে, কিন্তু আমরা চাই যে এটি ডিফল্ট SSH পোর্ট ব্যবহার করুক যাতে আমরা হ্যাকারদের বোকা বানাতে পারি যাতে এটি আক্রমণ করার চেষ্টা করা যায়। এটি করার জন্য, আমাদের পরিষেবা ফাইলটি সম্পাদনা করতে হবে৷

এই উদাহরণটি কনফিগারেশন ফাইল সম্পাদনা করতে ন্যানো ব্যবহার করে, তবে আপনার পছন্দের পাঠ্য সম্পাদক ব্যবহার করতে দ্বিধা বোধ করুন৷

sudo nano /etc/systemd/system/endlessh.service

ফাইলটি ওপেন হয়ে গেলে, # অক্ষরটি সরিয়ে নিচের লাইনটি আনকমেন্ট করুন:

#AmbientCapabilities=CAP_NET_BIND_SERVICE

তারপর এই লাইনের শুরুতে একটি # যোগ করুন:

PrivateUsers=true
আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

ফাইলটি সংরক্ষণ করুন এবং এই কমান্ডটি চালান:

sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh

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

sudo mkdir -p /etc/endlessh
sudo vim /etc/endlessh/config

কনফিগার ফাইলটিতে শুধুমাত্র একটি লাইনের প্রয়োজন হবে। এটি 22 পোর্টে চালানোর জন্য endlessh কে বলবে, যা SSH-এর জন্য ডিফল্ট পোর্ট। আমরা এটি করি যাতে এটি হ্যাকারদের জন্য আরও লোভনীয় লক্ষ্য। তারা দেখতে পাবে যে ডিফল্ট SSH পোর্ট খোলা আছে, তারপরে এটি ভাঙার চেষ্টা করুন৷

আপনার কনফিগারেশন ফাইলে নিম্নলিখিতটি লিখুন:

Port 22
আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

আপনাকে অবিরাম পরিষেবা শুরু করতে হবে।

sudo systemctl start endlessh

এখানেই শেষ এটা পেতে ওখানে যাও! আপনি এখন আপনার ডিফল্ট SSH পোর্টে অবিরাম চলমান থাকবেন এবং ইতিমধ্যে হ্যাকারদের ফাঁদে ফেলছেন।

এটি পরীক্ষা করা হচ্ছে

শুধু নিশ্চিত করার জন্য যে হানিপটটি উদ্দেশ্য অনুযায়ী কাজ করছে, আসুন এক সেকেন্ডের জন্য হ্যাকার হওয়ার ভান করি এবং আপনার সার্ভারে SSH-এ অ্যাক্সেস পাওয়ার চেষ্টা করি।

ssh root@<server-ip-address>

যতক্ষণ পর্যন্ত সবকিছু সঠিকভাবে সেট আপ করা হয়েছে, আপনার দেখতে হবে যে ssh আদেশ আটকে আছে এবং কিছু করছে না। আপনি (বা প্রকৃত হ্যাকার) যখন এই কমান্ডটি ইস্যু করেন তখন আসলে কী ঘটছে তা দেখে নেওয়া যাক৷

একই কমান্ড পুনরাবৃত্তি করুন কিন্তু -vvv যোগ করুন ভার্বোস বিকল্প ব্যবহার করতে পতাকা।

ssh -vvv root@<server-ip-address>
আপনার লিনাক্স সার্ভারে হ্যাকারদের ধরতে কীভাবে একটি SSH হানিপট তৈরি করবেন

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

এবং অবশ্যই, যেহেতু একজন হ্যাকার এটি একটি বট দিয়ে স্বয়ংক্রিয়ভাবে করা হয়েছে, তাই তারা বুঝতে পারবে না যে এটি ঘটছে যতক্ষণ না আপনি তাদের সময়ের কয়েক ঘন্টা, যদি দিন না হয়, নষ্ট করেন।

প্রায়শই জিজ্ঞাসিত প্রশ্নগুলি

1. এটি কি হ্যাকারদের SSH অ্যাক্সেস করতে বাধা দেবে?

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

যাইহোক, হ্যাকারদের প্রতিরোধ করার জন্য এটি যথেষ্ট হওয়া উচিত যারা শুধুমাত্র কম ঝুলন্ত ফল খুঁজছেন।

2. এই প্রোগ্রামটি ডিফল্ট পোর্টে চললে আমি কিভাবে SSH ব্যবহার করব?

আপনাকে SSH চালু হওয়া পোর্ট পরিবর্তন করতে হবে। আপনার সার্ভারে হানিপট না থাকলেও এটি ভাল অভ্যাস, যেহেতু হ্যাকাররা অন্যদের জন্য স্ক্যান করার আগে সর্বদা ডিফল্ট পোর্টগুলি চেষ্টা করে।

3. আমি কনফিগার ফাইলে যোগ করতে পারি এমন অন্য বিকল্প আছে কি?

হ্যাঁ, বিলম্বের গতি পরিবর্তন সহ আপনি পরিবর্তন করতে পারেন এমন আরও কয়েকটি সেটিংস রয়েছে৷

আপনি Github সংগ্রহস্থলে নমুনা কনফিগারেশন ফাইলে বিকল্পগুলির একটি তালিকা দেখতে পারেন৷

শেষ শব্দ

এখন যেহেতু আপনি হ্যাকারদের ফাঁদে ফেলার জন্য আপনার সার্ভারে একটি হানিপট সেট আপ করতে শিখেছেন এবং তাদের বিভ্রান্ত রাখতে পারেন যাতে তারা অন্য কিছু আক্রমণ করতে না পারে, এটি আপনার সার্ভারে SSH অ্যাক্সেস সুরক্ষিত করার একমাত্র উপায় থেকে দূরে।

আপনার সার্ভারকে আরও সুরক্ষিত করতে কীভাবে SSH-এ লগ ইন করতে এনক্রিপশন কীগুলি ব্যবহার করতে হয় তা দেখানো এই নিবন্ধটি দেখুন৷


  1. কিভাবে আপনার লিনাক্স পিসি গতি বাড়ানো যায়

  2. কীভাবে একটি লিনাক্স হোম সার্ভার সুরক্ষিত করবেন

  3. আপনার পিসিতে বাহ্যিক সংযোগের অনুমতি দেওয়ার জন্য কীভাবে বিপরীত SSH টানেল ব্যবহার করবেন

  4. কীভাবে আপনার ডিসকর্ড সার্ভারে কাস্টম ইমোজি তৈরি এবং যুক্ত করবেন