বছর যাবত, ডিস্ট্রিবিউটেড ডিনায়াল অফ সার্ভিস (DDoS) একটি হোস্টেড সার্ভিস (যেমন একটি ওয়েবসাইট বা প্লেস্টেশন নেটওয়ার্কের মতো সার্ভিস) কিছু সময় için আলোর মুখ দেখতে না দিতে একটি অত্যন্ত নির্ভরযোগ্য পদ্ধতি ছিল।
এই আক্রমণগুলোর ক্ষমতা মানুষকে তাদের পেছনের মেকানিজম সম্পর্কে কৌতূহলী করে, এজন্য আমরা কীভাবে এগুলো কাজ করে সেটি ব্যাখ্যা করার জন্য সময় নিলাম এবং এখানকি প্রদর্শন করলাম কত বিশাল হয়ে যেতে পারে এই আক্রমণগুলো, এমন একটি অবস্থা পর্যন্ত যেটি মিলিয়ন লোকের জন্য ইন্টারনেটের পুরো সেক্টরই ধ্বংস করতে পারে। তবে, কাউন্টারমেজার (DDoS প্রোটেকশন) কীভাবে কাজ করে সেটি সম্পর্কে 공개 আলোচনা খুব কম।
DDoS প্রোটেকশন নিয়ে আলোচনার সমস্যা
ইন্টারনেট একটি বিশাল নেটওয়ার্কের অ্যারে যা একটি বিশাল, গোলমাল শূন্যতা জুড়ে সংযুক্ত। ট্রিলিয়ন ট্রিলিয়ন ছোট প্যাকেট প্রায় আলোর গতিতে সারা বিশ্বে ঘুরে फिरছে। এর গোলমাল এবং রহস্যময় অভ্যন্তরীণ কাজকাজ বুঝতে, ইন্টারনেটকে গ্রুপে ভাগ করা হয়েছে। এই গ্রুপগুলো আবার সাবগ্রুপে ভাগ হয়ে থাকে, ইত্যাদি।
এই কারণেই DDoS প্রোটেকশন নিয়ে আলোচনা কিছুটা জটিল। একটি হোম কম্পিউটার কীভাবে DDoS থেকে নিজেকে রক্ষা করে সেটি একটি মিলিয়ন ডলার কোম্পানির ডেটা সেন্টার কীভাবে করে সেটির সাথে একই সাথে কিছুটা ভিন্ন। এবং আমরা ইন্টারনেট সার্ভিস প্রোভাইডার (ISP) পর্যন্ত পৌঁছানোই নাই। DDoS প্রোটেকশন শ্রেণিবিন্যাস করার ততটুকু পদ্ধতি রয়েছে যতটুকু ইন্টারনেটকে বানানোর বিভিন্ন টুকরো, এর বিলিয়ন কানেকশন, এর ক্লাস্টার, এর কন্টিনেন্টাল এক্সচেঞ্জ, এবং এর সাবনেট।
সবকিছু বলা থাকলে, চলুন একটি সার্জিক্যাল পদ্ধতি নেওয়া যাক যা সকল প্রাসঙ্গিক এবং গুরুত্বপূর্ণ ডিটেইল স্পর্শ করবে।
DDoS প্রোটেকশনের মূল সিদ্ধান্ত
আপনি যদি DDoS কীভাবে কাজ করে সেটি সম্পর্কে স্পষ্ট ধারণা ছাড়া পড়ছেন, আমি পূর্বের ব্যাখ্যাটি পড়ার পরামর্শ দিচ্ছি নাহলে এটি কিছুটা ওভারওয়েল্মিং লাগতে পারে। একটি ইনকামিং প্যাকেটের সাথে আপনি দুটি কাজ করতে পারেন: আপনি অথবা এটি উপেক্ষা করতে পারেন অথবা রিডাইরেক্ট করতে পারেন। আপনি শুধু এটিকে আসা থেকে রोकতে পারবেন না কারণ প্যাকেটের উৎসের ওপর আপনার কোনো নিয়ন্ত্রণ নেই। এটা ইতিমধ্যে এখানে আছে এবং আপনার সফ্টওয়্যার জানতে চায় এর সাথে কী করতে হবে।
এটি একটি সার্বজনীন সত্য যা আমরা সবাই মেনে চলি, এবং এতে ISP-রাও অন্তর্ভুক্ত যারা আমাদের ইন্টারনেটের সাথে সংযুক্ত করে। এটিই কারণ যাতে অনেক আক্রমণ সফল হয়: যেহেতু আপনি উৎসের আচরণ নিয়ন্ত্রণ করতে পারবেন না, উৎস আপনাকে পর্যাপ্ত প্যাকেট পাঠাতে পারে আপনার কানেকশন অভিভূত করতে।
সফ্টওয়্যার এবং রাউটার (হোম সিস্টেম) কীভাবে করে
আপনি যদি আপনার কম্পিউটারে বা আপনার রাউটারে ফায়ারওয়াল চালান, তবে আপনি সাধারণত একটি মৌলিক সিদ্ধান্ত অনুসরণ করতে বাধ্য: যদি DDoS ট্রাফিক উড়ে আসে, সফ্টওয়্যার उन ইপি (IP) গুলোর একটি লিস্ট বানায় যা নाजায়জ ট্রাফিকের সাথে আসছে।
এটি এটি নোট করে যখন কিছু আপনাকে garbage ডেটা বা কানেকশন রিকোয়েস্ট আপনার কাছে অস্বাভাবিক ফ্রিকোয়েন্সিতে পাঠায়, যেমন সেকেন্ডে পঞ্চাশবার baino বেশি। এরপর সেটি সেই সোর্স থেকে আসা সকল ট্রানজ্যাকশন ব্লক করে। সেগুলি ব্লক করলে আপনার কম্পিউটারকে সেগুলোর ভেতরের ডেটা ইন্টারপ্রেট করার জন্য এক্সট্রা রিসোর্স খরচ করতে হয় না। মেসেজটি কখনো তার গন্তব্যে পৌঁছায় না। আপনি যদি একটি কম্পিউটারের ফায়ারওয়াল দ্বারা ব্লক করা থাকেন এবং সেটির সাথে কানেক্ট করার চেষ্টা করেন, তবে আপনি একটি কানেকশন টাইমআউট পাবেন কারণ আপনি যা পাঠাবেন সেটি শুধু উপেক্ষা করা হবে।
এটি সিঙ্গেল-আইপি ডিনায়াল অফ সার্ভিস (DoS) আক্রমণের বিরুদ্ধে রক্ষার একটি চমৎকার পদ্ধতি কারণ আক্রমণকারী প্রতিবার চেক ইন করলে কানেকশন টাইমআউট দেখবে তাদের কাজ কতটুকু অগ্রসর হচ্ছে সেটি দেখতে। ডিস্ট্রিবিউটেড ডিনায়াল অফ সার্ভিস-এও এটি কাজ করে কারণ আক্রমণকারী IP গুলো থেকে আসা সকল ডেটা উপেক্ষা করা হবে।
এই স্কিমে একটি সমস্যা রয়েছে।
ইন্টারনেটের বিশ্বে, 'প্যাসিভ ব্লকিং' (passive blocking) নামে কোনো জিনিস নেই। আপনার দিকে আসা একটি প্যাকেট উপেক্ষা করতে ও রিসোর্স লাগে। আপনি যদি সফ্টওয়্যার ব্যবহার করেন, আক্রমণের বিন্দু আপনার কম্পিউটারে থামবে কিন্তু আপনার রাউটারের মাধ্যমে কাগজের মধ্য দিয়ে বুলেটের মত যাবে। এর মানে আপনার রাউটার अथক পরিশ্রম করছে সকল নাজায়জ প্যাকেট আপনার দিকে রুট করতে।
আপনি যদি রাউটারের ফায়ারওয়াল ব্যবহার করেন, সব কিছু সেখানে থামবে। কিন্তু এটিও মানে আপনার রাউটার প্রতিটি প্যাকেটের সোর্স স্ক্যান করছে এবং তারপর ব্লক করা IP-এর লিস্ট দেখছে যে এটিকে উপেক্ষা করা উচিত কিনা অথবা Через দেওয়া উচিত।
এখন, কল্পনা করুন আপনার রাউটারকে যেটি আমি উপরে বললাম সেটি সেকেন্ডে মিলিয়ন মিলিয়নবার করতে হচ্ছে। আপনার রাউটারের একটি সীমিত পরিমাণ প্রসেসিং পাওয়ার রয়েছে। একবার সেটি সীমার স্পর্শ করলে, এটা লেজিটিমেট ট্রাফিককে প্রায়োরিটি দিতে সমস্যায় পড়বে, সেটি যেসব উন্নত পদ্ধতি ব্যবহার করে কেন না।
এটা বাদ দিয়ে আরেকটা ইস্যু আলোচনা করা যাক। ধরি আপনার একটি ম্যাজিক্যাল রাউটার আছে অসীম প্রসেসিং পাওয়ারের সাথে, আপনার ISP আপনাকে সবসময় একটি সীমিত পরিমাণ ব্যান্ডউইথ দিচ্ছে। একবার সেই ব্যান্ডউইথ ক্যাপ পৌঁছালে, আপনি ওয়েবে সেরানোর সহজ কাজগুলো করতে সমস্যায় পড়বেন।
তাই DDoS-এর চূড়ান্ত সমাধান হলো অসীম প্রসেসিং পাওয়ার এবং অসীম ব্যান্ডউইথ থাকা। কেউ যদি সেটি কীভাবে সম্ভব সেটি খুঁজে পায়, আমরা সফল!
বড় কোম্পানিগুলি কীভাবে তাদের লোড হ্যান্ডেল করে
কোম্পানিগুলি কীভাবে DDoS হ্যান্ডেল করে সেটির সুন্দরতা তার এলিগ্যান্সে রয়েছে: তারা তাদের বিদ্যমান ইনফ্রাস্ট্রাকচার ব্যবহার করে যেকোনো হুমকি কাউন্টার করতে। সাধারণত, এটি হয় একটি লোড ব্যালেন্সার (load balancer), একটি কন্টেন্ট ডিস্ট্রিবিউশন নেটওয়ার্ক (CDN), অথবা উভয়ের কম্বিনেশনের মাধ্যমে। ছোট ওয়েবসাইট এবং সার্ভিসগুলো যদি তাদের কাছে ততটুকু ক্যাপিটাল না থাকে så সার্ভার অ্যারে মেইনটেইন করতে, তবে তারা থার্ড পার্টিকে আউটসোর্স করতে পারে।
একটি CDN-এ, একটি ওয়েবসাইটের কন্টেন্ট একটি বিশাল সার্ভার নেটওয়ার্কে কপি করা হয় যা অনেক ভৌগোলিক এলাকায় বিতরণ করা থাকে। এটি ওয়েবসাইটকে দ্রুত লোড করায় আপনি বিশ্বের যেকোনো কোণে থেকে কানেক্ট করুন না কেন।
লোড ব্যালেন্সাররা এটিকে সম্পূরক করে ডেটা রিডিস্ট্রিবিউট করে এবং আলাদা সার্ভারে ক্যাটালগ করে, কাজের টাইপ অনুযায়ী সার্ভারের টাইপ সেরা সেটি প্রায়োরিটি দিয়ে। কম ব্যান্ডউইথ वाले সার্ভার যাদের হার্ড ড্রাইভ ভালো সেগুলো ছোট ফাইলের বড় পরিমাণ হ্যান্ডেল করতে পারে। বিশাল ব্যান্ডউইথ কানেকশন والے সার্ভার বড় ফাইল স্ট্রিমিং হ্যান্ডেল করতে পারে। (YouTube চিন্তা করুন।)
এবং এখানে কীভাবে এটি কাজ করে
আপনি কি বুঝতে পারছেন আমি কোথায় যাচ্ছি? যদি একটি আক্রমণ একটি সার্ভারে পড়ে, লোড ব্যালেন্সার DDoS কে ট্র্যাক করতে পারে এবং সেটি সেই সার্ভারে হিট করতে দিতে পারে যখন সকল লেজিটিমেট ট্রাফিক নেটওয়ার্কের অন্য জায়গায় রিডাইরেক্ট করবে। ধারণা হলো একটি ডিসেন্ট্রালাইজড নেটওয়ার্ককে আপনার সুবিধা জন্য ব্যবহার করা, রিসোর্স алোকেট করা যেখানে প্রয়োজন যাতে ওয়েবসাইট বা সার্ভিস চালু থাকে যখন আক্রমণটি একটি 'ডিকয়' (decoy)-এ নির্দেশিত হচ্ছে। খুব চতুর, তো?
যেহেতু নেটওয়ার্ক ডিসেন্ট্রালাইজড, এটি সিম্পল ফায়ারওয়াল এবং অধিকাংশ রাউটার অফার করতে পারে সে প্রোটেকশনের চেয়ে একটি উল্লেখযোগ্য এজ পায়। সমস্যা হলো আপনার নিজের অপারেশন শুরু করতে অনেক টাকা লাগে। যতক্ষণ তারা বড় হচ্ছে, কোম্পানিগুলি বড় স্পেশালাইজড প্রোভাইডারদের উপর নির্ভর করতে পারে যারা তাদের প্রয়োজনীয় প্রোটেকশন দেবে।
বিশাল কোম্পানিগুলি (Behemoths) কীভাবে করে
আমরা ছোট হোম নেটওয়ার্ক ঘুরেছি এবং মেগা কর্পোরেশনগুলোর আওতায়ও যাওয়া করেছি। এখন এই কোয়েস্টের ফাইনাল স্টেজে প্রবেশ করার সময়: আমরা দেখবো যে কীভাবে সেসব কোম্পানিগুলি যারা আপনাকে ইন্টারনেট কানেকশন দেয়, নিজেদেরকে একটি অন্ধকূপে পড়া থেকে বাঁচায়। এটা কিছুটা জটিল হতে যাচ্ছে, কিন্তু আমি যতটুকু সম্ভব সংক্ষিপ্ত থাকতে চেষ্টা করবো বিভিন্ন DDoS প্রোটেকশন মেথডের ওপর ড্রোল-ইনডিউসিং থিসিস ছাড়া।
ISP-দের নিজেদের ট্রাফিক ফ্লাকচুয়েশন হ্যান্ডেল করার уника উপায় রয়েছে। অধিকাংশ DDoS আক্রমণ তাদের রাডারে কঠিনে রেজিস্টার হয় কারণ তাদের কাছে প্রায় অসীম ব্যান্ডউইথের অ্যাক্সেস রয়েছে। তাদের দৈনিক ট্রাফিক ৭-১১ বজে রাতে (যাকে 'ইন্টারনেট রাশ আওয়ার' বলা হয়) সত্তার \(>\) ব্যান্ডউইথ-এ পৌঁছায় যা একটি সাধারণ DDoS 스트িম থেকে আপনি পাবেন তার চেয়ে অনেক বেশি।
অবশ্যই, যেহেতু এটি ইন্টারনেট, এমন পরিস্থিতি এসে থাকতে পারে (এবং অনেক বার এসেছে) যেখানে ট্রাফিক একটি রাডারের ব্লিপ চেয়ে অনেক বেশি কিছু হয়ে যায়।
এই আক্রমণগুলো ঘোর তুফানের মত আসে এবং ছোট ISP-দের ইনফ্রাস্ট্রাকচারকে অভিভূত করতে চায়। আপনার প্রোভাইডার যখন চোঁকে, এটি দ্রুত তার নিপত্তানে থাকা টুলসের অ্যারsenal-এ হাত বাড়িয়ে এই হুমকি মোকাবিলা করতে চায়। মনে রাখবেন, এই লোকজনের কাছে বিশাল ইনফ্রাস্ট্রাকচার রয়েছে, তাই এটি অনেক পথে ঘটতে পারে। এখানে সবচেয়ে সাধারণ موارد দেওয়া হলো:
- রিমোটলি ট্রিগার্ড ব্ল্যাক হোল (Remotely Triggered Black Hole) — এটা সাই-ফাই ফিল্মের কিছু ফoned লাগে, কিন্তু RTBH একটি রিয়েল জিনিস যা সিস्कো (Cisco) দ্বারা ডকুমেন্টেড। এটি করার অনেক পদ্ধতি আছে, কিন্তু আমি আপনাকে 'কুইক অ্যান্ড ডার্টি' (quick and dirty) ভার্সন দিচ্ছি: একটি ISP আক্রমণ যেখান থেকে আসছে সেটি নেটওয়ার্কের সাথে কমিউনিকেট করবে এবং বলে দেবে সেটির দিকে যাওয়া সকল আউটগোইং ট্রাফিক ব্লক করতে। আউটগোইং ট্রাফিক ব্লক করা ইনকামিং প্যাকেট ব্লক করার চেয়ে সহজ। হ্যাঁ, আক্রমণের উৎস থেকে কানেক্ট করার লোকজনকে আক্রমণ করা ISP-এর সব কিছু অফলাইন মনে হবে, কিন্তু কাজটা হয়ে যায় এবং অনেক হাসল নেই। বাকি বিশ্বের ট্রাফিক অপ্রভাবিত থাকে।
- স্ক্রাবার্স (Scrubbers) — কিছু অত্যন্ত বিশাল ISP-এর ডেটা সেন্টার থাকে প্রসেসিং ইক্যুইপমেন্ট দিয়ে ভরা যেগুলো ট্রাফিক প্যাটার্ন অ্যানালাইজ করে লেজিটিমেট ট্রাফিককে DDoS ট্রাফিক থেকে আলাদা করতে পারে। যেহেতু এতে অনেক কম্পিউটিং পাওয়ার এবং প্রতিষ্ঠিত ইনফ্রাস্ট্রাকচার লাগে, ছোট ISP-রা প্রায়শ এই কাজ অন্য কোম্পানির কাছে আউটসোর্স করে। প্রভাবিত সেক্টরের ট্রাফিক একটি ফিল্টারের মাধ্যমে পাস করে, এবং অধিকাংশ DDoS প্যাকেট ব্লক হয় যখন লেজিটিমেট ট্রাফিক পাস করতে দেওয়া হয়। এটি ISP-এর সাধারণ অপারেশন নিশ্চিত করে বিশাল কম্পিউটিং পাওয়ার খরচে।
- কিছু ট্রাফিক вуডু (Some traffic voodoo) — 'ট্রাফিক শেপিং' (traffic shaping) নামে একটি মেথড ব্যবহার করে, ISP সেটি DDoS আক্রমণ যা সাথেও আনে সেটি ডেস্টিনেশন IP-এ ঠেলে দেবে যখন সকল অন্য নোডকে একা রেখে দেবে। এটি বেসিক্যালি ভিক্টিমকে বাসের নিচে ঢেলে দেবে বাকি নেটওয়ার্ক বাঁচাতে। এটি একটি খুব কুৎসিত সমাধান এবং প্রায়শই সর্বশেষটি যা একটি ISP ব্যবহার করবে যদি নেটওয়ার্ক সerioস সংকটে থাকে, এবং সার্বিক বাঁচানোর জন্য দ্রুত, নির্দisher অ্যাকশন দরকার হয়। 'অনেকের প্রয়োজন någraের প্রয়োজনের চেয়ে বেশি' (the needs of the many outweigh the needs of the few) সিনারিও হিসেবে চিন্তা করুন।
DDoS-এর সমস্যা হলো এর কার্যকারিতা কম্পিউটার পাওয়ার এবং ব্যান্ডউইথ উপলব্ধতার অগ্রগতির সাথে হাত মিলিয়ে চলে। এই হুমকি সত্যিকারের মোকাবিলা করতে, আমাদের এডভান্সড নেটওয়ার্ক মডিফিকেশন মেথড ব্যবহার করতে হবে যা সাধারণ হোম ইউজারের ক্ষমতার চেয়ে অনেক বেশি। ভালো খবর হলো হাউসহোল্ডগুলো প্রায়শই DDoS-এর সরাসরি টার্গেট হয় না!
ব vicom, আপনি যদি এই আক্রমণগুলো রিয়েল টাইমে কোথায় হচ্ছে সেটি দেখতে চান, ডিজিটাল অ্যাট্যাক ম্যাপ (Digital Attack Map) চেক আউট করুন।
আপনি কি কখনো আপনার বাড়িতে বা ওয়ার্কপ্লেসে এই ধরনের আক্রমণের শিকার হয়েছেন? কমেন্টে আপনার কাহিনী বলুন!