DNS লুকআপ কী?
ডোমেইন নেম সিস্টেম লুকআপ, বা সংক্ষেপে DNS, সেটি ঘটে সে সময়ের মধ্যে কেউ সার্চ বারে একটি URL টাইপ করে এবং পেজ লোড হয়। প্রযুক্তিগতভাবে বলতে গেলে, এটি একটি প্রক্রিয়া যা URLs (যেমন www.google.com)-কে IP অ্যাড্রেসে অনুবাদ করে।
একটি IP অ্যাড্রেস আপনার বাড়ির ঠিকানার মতো। যেমন আপনি চিঠি পাঠাতে ঠিকানা ব্যবহার করেন, কম্পিউটারগুলো নির্দিষ্ট জায়গায় ডেটা পাঠাতে IP অ্যাড্রেস ব্যবহার করে। যেহেতু IP অ্যাড্রেস মনে রাখা কঠিন (তাদের দীর্ঘ সংখ্যার স্ট্রিং), কম্পিউটাররা DNS ব্যবহার করে IP অ্যাড্রেস এবং URLs (যেগুলো মনে রাখা অনেক সহজ) এর মধ্যে অনুবাদ করে। সমস্ত ইন্টারনেট-সংযুক্ত ডিভাইসের একটি IP অ্যাড্রেস থাকে।
DNS কীভাবে কাজ করে?
ইন্টারনেটের আকার বিবেচনা করলে, কম্পিউটারগুলো সকল IP অ্যাড্রেস তাদের মেমরিতে রাখতে পারে না। বদলে, ব্রাউজারে www.google.com টাইপ করলে কম্পিউটারকে ওয়েবসাইটের IP অ্যাড্রেস লুকআপ করতে বলে।
প্রথমে, কম্পিউটার তার লোকাল মেমরি, যাকে এর ক্যাশ বলা হয়, চেক করে। এখানে কম্পিউটার তার مؤخرে ভিজিট করা সাইটগুলোর IP অ্যাড্রেস সংরক্ষণ করে, যাতে সেগুলো দ্রুত লোড করতে পারে লুকআপ ছাড়া। যাই হোক, যেহেতু এখানে কেবল কিছু সাম্প্রতিক ভিজিট করা সাইট থাকে, সম্ভবত কম্পিউটার IP অ্যাড্রেসটি খুঁজে পায় না।
স্টেপ ১ (স্টেপগুলো উপরের ডায়াগ্রামের নম্বরের সাথে মিলে): পরবর্তী, কম্পিউটার ISP-এর লোকাল রিকার্সিভ নেমসার্ভারের কাছে জিজ্ঞেস করবে। ISP হলো ইন্টারনেট সার্ভিস প্রোভাইডার — যেমন টাইম ওয়ার্নার ক্যাবল, স্পেকট্রাম, ভারিজন, ইত্যাদি। একটি নেমসার্ভার জটিল শোনা যেতে পারে, কিন্তু এটা শুধু সার্ভার সফটওয়্যার যা DNS রিকোয়েস্টের উত্তর দেওয়ার জন্য ডিজাইন করা (যেমন "www.google.com-এর IP অ্যাড্রেস কী?")।
যেকোনো নেমসার্ভার এই প্রশ্নের উত্তর দিতে পারে, হয় IP অ্যাড্রেস দিয়ে (যদি জানে), অথবা বলতে পারে যে এটা না জানে এবং রিকোয়েস্টকারী সার্ভারকে অন্য সার্ভারের কাছে জিজ্ঞেস করতে বলবে। একটি রিকার্সিভ নেমসার্ভার ভিন্ন কারণ যদি সেটি উত্তর না জানে। এটি উত্তর খুঁজে বের করার কাজ করবে, কেবল কুয়েরি রি-ডাইরেক্ট করার বদলে। সকল নেমসার্ভার রিকার্সিভ নয়।
স্টেপ ২: রিকার্সিভ নেমসার্ভার প্রথমে তার ক্যাশ চেক করবে। যদি IP অ্যাড্রেস সেখানে না থাকে, তবে এটি একটি রুট নেমসার্ভারের কাছে জিজ্ঞেস করবে (রুট নেমসার্ভাররা IP অ্যাড্রেস জানে না, কিন্তু তারা রিকোয়েস্ট পড়তে পারে এবং রিকার্সিভ নেমসার্ভারকে বলতে পারে কোথায় যেতে হবে)। সকল রিকার্সিভ নেমসার্ভার ১৩টি রুট নেমসার্ভারের IP অ্যাড্রেস প্রি-কনফিগারড পায়। রিকার্সিভ নেমসার্ভার একটিকে বেছে নিয়ে একই প্রশ্ন করবে ("www.google.com-এর IP অ্যাড্রেস কী?")।
স্টেপ ৩: রুট নেমসার্ভার টপ-লেভেল ডোমেইন (রিকোয়েস্টের শেষ অংশ) পড়বে, এই কেসে .com, (www.google.com) এবং রিকার্সিভ নেমসার্ভারকে গ্লোবাল টপ লেভেল ডোমেইন সার্ভার (GTLD)-এর কাছে জিজ্ঞেস করতে বলবে। GTLDs মূলত প্রতিটি ডোমেইন টাইপের জন্য রেফারেন্স লিস্ট — .com, .net, .edu, ইত্যাদি। যাই হোক, তারা ওয়েবসাইটের IP অ্যাড্রেস জানে না, কিন্তু তারা জানে কোন নেমসার্ভারগুলোর কাছে সেই তথ্য থাকবে।
স্টেপ ৪: রিকার্সিভ নেমসার্ভার GTLD নেমসার্ভারের কাছে www.google.com-এর IP অ্যাড্রেস জিজ্ঞেস করবে।
স্টেপ ৫: GTLD নেমসার্ভার আপনার রিকোয়েস্টের পরবর্তী অংশ পড়বে, ডান থেকে বামে (এই কেসে www.google.com-এর 'google') এবং অথরিটেটিভ নেমসার্ভারের সাথে একটি মেসেজ ফেরত পাঠাবে जिससे যোগাযোগ করতে হবে। একটি অথরিটেটিভ নেমসার্ভার হলো একটি নেমসার্ভার যা ডোমেইনের জন্য দায়বদ্ধ (এবং প্রাইমারি তথ্য উৎস)।
স্টেপ ৬: রিকার্সিভ নেমসার্ভার অথরিটেটিভ নেমসার্ভারের কাছে একই প্রশ্ন করবে ("www.google.com-এর IP অ্যাড্রেস কী?")। প্রযুক্তিগতভাবে, সার্ভারটি Address Record (A)-র জন্য জিজ্ঞেস করছে, যেভাবে সার্ভাররা IP অ্যাড্রেসকে রেফার করে।
স্টেপ ৭: এই সার্ভারটির উত্তর আছে! এটি IP অ্যাড্রেসটি রিকার্সিভ নেমসার্ভারের কাছে পাঠাবে, ফ্ল্যাগড করে যাতে রিকার্সিভ নেমসার্ভার বুঝতে পারে উত্তরটি অথরিটেটিভ। রিকার্সিভ নেমসার্ভার IP অ্যাড্রেসটি তার ক্যাশে ফাইল করবে যাতে কেউ শীঘ্রই একই ওয়েবসাইট অ্যাক্সেস করার চেষ্টা করলে। ক্যাশের প্রতিটি আইটেম একটি "টাইম টু লিভ" ট্যাগড থাকে যা সার্ভারকে বলে কতক্ষণ তথ্য ধরে রাখবে ডিলিট করার আগে।
স্টেপ ৮: রিকার্সিভ নেমসার্ভার আপনার কম্পিউটারকে বলে IP অ্যাড্রেসটি কী (এইবার এটা অথরিটেটিভ হিসেবে ট্যাগড নয়, কারণ এটি প্রাইমারি তথ্য উৎস নয়। এটি শুধু তথ্য পাস করছে।
স্টেপ ৯: আপনার কম্পিউটার www.google.com-এর জন্য একটি রিকোয়েস্ট পাঠায় যা IP অ্যাড্রেসটি হলেও পেয়েছে।
স্টেপ ১০: এই অ্যাড্রেসের ওয়েব সার্ভার গুগল হোমপেজ ফেরত দেয় এবং পেজ লোড হয়।
এই সম্পূর্ণ প্রক্রিয়া কেবল কয়েক মিলিসেকেন্ডে সম্পন্ন হয় এবং প্রতিদিন ট্রিলিয়ন বার ঘটে।
DNS এন্ড ইউজারদের কীভাবে প্রভাবিত করে?
DNS ইন্টারনেট ফাংশনিং-এর অপরিহার্য অংশ হওয়ায়, এটি হ্যাকারদের একটি প্রধান টার্গেট। DNS-এর মূল সমস্যা আজ আমরা প্রযুক্তির সাথে যে অধিকাংশ সিকিউরিটি সমস্যা অনুভব করি তার মতোই। ইন্টারনেট, এবং আজ আমরা যে অধিকাংশ প্রযুক্তি ব্যবহার করি সেগুলো একটি ছোট গবেষক গোষ্ঠীর জন্য ডিজাইন করা হয়েছিল এবং সময়ের সাথে সাথে পুরো বিশ্ব যে সিস্টেমটি ব্যবহার করে সেটিতে বিস্তারিত হলো। DNS (এবং HTTP, এবং অধিকাংশ প্রোটোকল যা আমরা ব্যবহার করি) সিকিউরিটি মনে করে ডিজাইন করা হয়নি। এখন, আমাদের বিভিন্ন সিকিউরিটি ইস্যুর জন্য ফিক্স যোগ করতে হয়েছে। দুর্ভাগ্যক্রমে, শেষে বোল্ট-অন করা সিকিউরিটি ডেভেলপমেন্টের время সিকিউরিটি বেক করার চেয়ে কম কার্যকর।
DNS-এর জন্য এটি একটি সমস্যা সৃষ্টি করে যে নেমসার্ভারذي অথেনটিসিটি যাচাই করার কোনো উপায় নেই যখন একটি রেসপন্স প্রাপ্য হয়। এইভাবে একজন হ্যাকার একটি কম্পিউটারের DNS কুয়েরির ম্যালিশিয়াস রেসপন্স পাঠাতে পারে এবং কম্পিউটারকে ভুলাতে পারে যে এটি DNS নেমসার্ভার থেকে আসা আসল রেসপন্স। অন্য কথায়, যখন কম্পিউটার জিজ্ঞেস করে, "www.chase.com-এর IP অ্যাড্রেস কী?" হ্যাকারটি রেসপন্স করবে (DNS সার্ভারের আগে) হ্যাকারের ম্যালিশিয়াস সাইটের IP অ্যাড্রেসের সাথে। তারপর যখন সাইট লোড হবে, সেটি ঠিক chase.com ওয়েবসাইটের মতো দেখাবে, কিন্তু আসলে হ্যাকার দ্বারা নিয়ন্ত্রিত হবে।
এটি ফিশিং-এর খুব সাদৃশ্য — বাদে ব্যবহারকারীদের খারাপ লিংক ক্লিক করতে ফাঁসানোর, বরং যে ওয়েবসাইটগুলো তারা ভিজিট করতে চাইছে সেগুলো DNS লুকআপের মাধ্যমে খারাপ সাইটে রাউট করা হচ্ছে (অনেক বেশি খতরনাক, কারণ এই ধরনের আক্রমণ প্রতিরোধ করা অনেক কঠিন)। এটি ব্যবহারকারীকে সতর্ক থাকতে বাধ্য করে, স্পুফিং সাইটটি লক্ষ্য করতে (হয়তো লিংক ঠিক দেখে না, অথবা বানান ভুল বা খারাপ লোগো কপি)। যাই হোক, এটি খুব কঠিন হতে পারে এবং ব্যবহারকারীদেরיחסাকী technischenভাবে দক্ষ হতে হবে।
২০১৬ সালে, একটি DNS আক্রমণ যুক্তরাষ্ট্রের ইস্ট কোস্টের অধিকাংশ ইন্টারনেট প্রায় পুরো একদিন নকআউট করল। সেটি একটি DDoS আক্রমণের কারণে ঘটেছিল। একটি DDoS আক্রমণ হলো ডিস্ট্রিবিউটেড-ডেনায়াল-অফ-সার্ভিস আক্রমণ, যেখানে ইন্টারনেটের হাজার হাজার মেশিন একই সাথে একটি সিস্টেমে আক্রমণ করে। সাধারণত, এগুলো ওই মেশিন যা ম্যালওয়্যার দ্বারা ইনফেক্টেড থাকে মালিকের জানা ছাড়া, এবং একজন হ্যাকার, বা হ্যাকার গোষ্ঠী, সকল মেশিন কন্ট্রোল করে। এই মেশিনগুলো একসাথে ব্যবহৃত হলে 'বটনেট' বলা হয়।
বটনেট DNS রিকোয়েস্ট ভিক্টিম সার্ভারে পাঠায় এবং রিকোয়েস্টের পরিমাণ সিস্টেমকে অভিভূত করে, যাতে সার্ভার লেজিটিমেট ট্রাফিক হ্যান্ডেল করতে পারে না। তাই, যতক্ষণ হ্যাকাররা DNS সার্ভারে আক্রমণ করছে, একটি কম্পিউটার IP অ্যাড্রেস রিকোয়েস্ট করলে, সার্ভার রেসপন্ড করতে পারে না। তাই কম্পিউটার সে সার্ভার যেটি কন্ট্রোল করে (অথবা অথরিটেটিভ) সে সাইটগুলো অ্যাক্সেস করতে পারে না যতক্ষণ না আক্রমণ বন্ধ হয়।
এই আক্রমণ সার্ভার ওভার-প্রোভিশনিং করে অতিরিক্ত ডিমান্ড হ্যান্ডেল করার জন্য বা DNS ফায়ারওয়াল থাকলে মিটিগেট করা যায়।
DNS দ্বারা উপস্থাপিত অনেক সমস্যা সমাধানের একটি واسعة পদ্ধতি হলো DNSSEC। DNSSEC পাবলিক কি ক্রিপ্টোগ্রাফির ওপর ভিত্তি করে ডিজিটাল সিগনেচারের মাধ্যমে অথেন্টিকেশন শক্তিশালী করে। মূলত অনুরোধকৃত ডেটার মালিক ডিজিটালি সাইন করে, যাতে উপরের পরিস্থিতি ঘটতে না পারে। এটি ডেটা অরিজিন অথেন্টিকেশন (ডেটা আসলে সেখানে থেকে আসে যেখানে রেজলভার মনে করে এসে) এবং ডেটা ইন্টিগ্রিটি প্রোটেকশন (ট্রান্সিট중에 ডেটা মডিফাই হয়নি) প্রদান করে।
দুর্ভাগ্যক্রমে, DNS ঠিক করার জন্য, DNSSEC 넓은 ডিপ্লয়মেন্ট চায়। এটি স্পেসিফিক্যালি নেটওয়ার্ক অপারেটরদের দ্বারা তাদের রিকার্সিভ রেজলভারসে, এবং ডোমেইন নেম মালিকদের দ্বারা অথরিটেটিভ সার্ভারসে ইনাবল করা দরকার। এটি এখনো হয়নি, কিন্তু আশা করি হবে কারণ আরও মানুষ DNS-এর সমস্যাগুলো সম্পর্কে সচেতন হচ্ছে এবং পরিবর্তনের জন্য ভয়েস উঠাচ্ছে।