গেটওয়ে নাকি ফরওয়ার্ডেড ক্লায়েন্ট? উৎস ঠিকানা পড়া
গন্তব্য অনুবাদিত উৎস দেখে, ক্লায়েন্টের ব্যক্তিগত ঠিকানা নয়। TTL অনুমানের বদলে গেটওয়ের অবস্থা, পরিচয় ও লেবেলযুক্ত অনুমান ব্যবহার করুন।
ওয়েব সার্ভার একটি ঠিকানা লগ করে, আর সবাই ধরে নেয় সেটি গেটওয়ের নিজের প্রক্রিয়ার। এটি এমন একটি ফরওয়ার্ডেড ক্লায়েন্টের হতে পারে যার ব্যক্তিগত ঠিকানা অনুবাদ ধাপে হারিয়ে গেছে। গন্তব্য কেবল দৃশ্যমান নেটওয়ার্ক উৎসটাই দেখে, তার বেশি কিছু নয়। এটি একটি সীমারেখার বিবৃতি, এই দাবি নয় যে উৎস কখনও প্রতিষ্ঠা করা যাবে না।
গন্তব্য আসলে যা দেখে
10.20.0.7 ঠিকানার একটি ক্লায়েন্ট, বাইরের ঠিকানা 198.51.100.10 এমন একটি গেটওয়ে, এবং ইন্টারনেটে একটি গন্তব্য ধরা যাক। যদি গেটওয়ে ক্লায়েন্টের উৎস অনুবাদ করে, গন্তব্যের সকেট 198.51.100.10 লগ করে। ব্যক্তিগত ঠিকানা প্যাকেট থেকে হারিয়ে যায়, এবং গন্তব্য সেই হেডার থেকে তা ফিরে পড়তে পারে না। এই সংখ্যাগুলো উদাহরণমূলক, আপনার নেটওয়ার্ক থেকে নেওয়া কোনো ক্যাপচার নয়।
পর্যবেক্ষণটি তবুও কাজে লাগে: এটি সেই নেটওয়ার্ক উৎস চিহ্নিত করে যা গন্তব্যকে অনুমোদন বা ব্লক করতে হবে। এটি কেবল তার পেছনের ব্যক্তি বা প্রক্রিয়া চিহ্নিত করে না। গন্তব্যের অপারেটরের কাছে এই পার্থক্যই ঠিক করে একটি ব্লক নেটওয়ার্ক-সিদ্ধান্ত, নাকি অ্যাকাউন্ট-সিদ্ধান্ত।
অনুবাদ অবস্থা গন্তব্যের কাছে দৃশ্যমান নয়
গেটওয়ে অনুবাদিত সংযোগ ও মূল ক্লায়েন্টের মধ্যে ম্যাপিং রাখে, আর গন্তব্যের যে জিনিসটির অভাব, তা ঠিক এই অবস্থা। চিরাচরিত NAT বর্ণনা অনুবাদ রেকর্ডকে পরবর্তীতে দৃশ্যমান হেডারগুলো থেকে আলাদা করে। এক পাশ পড়ে আপনি অন্য পাশ পান না।
ভিন্ন ডিজাইন ভিন্ন প্রমাণ দেয়। সংরক্ষিত উৎস ঠিকানাসহ রাউটেড ট্রাফিক ক্লায়েন্টের প্রকৃত ঠিকানা দেখায়, আর অ্যাপ্লিকেশন প্রক্সি সংযোগটি শেষ করে নতুন একটি তৈরি করে। সংরক্ষিত-উৎস রুটের জন্য ক্লায়েন্টের ঠিকানা গন্তব্য থেকে ফিরে রাউটযোগ্য হওয়াও দরকার, যা প্রতিটি স্থাপনা দেয় না। লগের একটি লাইন ব্যাখ্যা করার আগে জিজ্ঞাসা করুন কোন ডিজাইন স্থাপিত আছে।
conntrack -L -s 198.51.100.10
tcpdump -ni eth0 host 198.51.100.10
TTL ও ফিঙ্গারপ্রিন্ট সূত্র, প্রমাণ নয়
IPv4-এর TTL নির্ভর করে প্রেরকের বেছে নেওয়া প্রাথমিক মান এবং প্যাকেটটি যে কতগুলো হপ পার হয়েছে তার উপর। দুটি তথ্যই ছাড়া কোনো মান প্রমাণ করতে পারে না যে VPN হপ ঘটেছে। জানা অতিরিক্ত রাউটেড হপও একটি LAN রাউটার, টানেল পথ বা অন্য ফরওয়ার্ডিং ব্যবস্থাকে আলাদা করতে পারে না। TTL পার্থক্যকে প্রশ্ন হিসেবে ধরুন, সিদ্ধান্ত হিসেবে নয়।
অন্য সংকেতগুলোও একইভাবে আচরণ করে। User-Agent হেডার অ্যাপ্লিকেশন নির্ধারণ করতে পারে, এবং সময়ের মিল ভাগ করা ব্যক্তির বদলে ভাগ করা অবকাঠামো প্রতিফলিত করতে পারে। একাধিক ব্যবহারকারী একটি এগ্রেস ভাগ করতে পারেন, আর একজন ব্যবহারকারী সেশনগুলোর মধ্যে পথ বদলাতে পারেন। একত্রে জড়ো করলে কয়েকটি দুর্বল সংকেত গেটওয়ের রেকর্ডগুলো ঘনিষ্ঠভাবে দেখার যৌক্তিকতা দিতে পারে, কিন্তু জমা হয়ে তারা শক্তিশালী প্রমাণ হয়ে ওঠে না।
ঠিকানা দিয়ে নয়, পরিচয় দিয়ে অনুমোদন করুন
গন্তব্যকে যদি গেটওয়ে প্রশাসন ও দূরবর্তী ব্যবহারকারীর কার্যকলাপ আলাদা করতে হয়, তবে সেই ভূমিকাগুলোকে আলাদা প্রমাণিত পরিচয় ও অনুমোদিত কাজ দিন। একটি ভাগ করা পাবলিক উৎস এখনও নেটওয়ার্ক সীমাবদ্ধতা হিসেবে কাজ করতে পারে, তবে তা ব্যবহারকারী বা ডিভাইস প্রমাণীকরণের বিকল্প নয়।
প্রমাণ লেবেলযুক্ত রাখুন: পর্যবেক্ষিত উৎস, প্রমাণিত অ্যাকাউন্ট, সময় এবং বিবেচনাধীন অনুমান। «এখানে কোনো ভেতরের উৎস দেখা যায় না»-কে «কোথাও কোনো অ্যাট্রিবিউশন সম্ভব নয়» হিসেবে অনুবাদ করবেন না। কয়েক মাস পরে যখন তদন্তের অংশ ছিলেন না এমন কেউ রেকর্ডটি পড়েন, তখন লেবেলটিই গুরুত্বপূর্ণ।
পর্যবেক্ষণের তারিখ ও যেই সিস্টেম এটি তৈরি করেছে তা লিখে রাখুন। অ্যাট্রিবিউশনহীন লগের অংশ পরে রক্ষা করা কঠিন।