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

কাউন্টার প্রথম প্রশ্নের উত্তর দেয়

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

যে টুল নিয়মগুলোর মালিক সেই টুল দিয়ে কাউন্টার পড়ুন:

iptables -L FORWARD -v -n --line-numbers
nft list ruleset

পার্থক্যই প্রমাণ। যে নিয়মের কাউন্টার নড়ে না তা ফ্লোটি কখনো দেখেনি, যা আরও আগের সীমানার দিকে ইঙ্গিত করে: ভুল ইন্টারফেস, ভুল টেবিল, বা এমন রুট যা প্যাকেটটি সেখানে কখনো পাঠায়নি। আর যে নিয়মের কাউন্টার নড়ে এবং তবুও বাদ দেয়, তা বলে নীতি যা লেখা হয়েছিল তাই করছে।

কাউন্টার যা আপনাকে বলতে পারে না

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

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

পেলোড লগিং ভিন্ন প্রশ্নের উত্তর দেয়, এবং তা ইন্টারফেসের সবার সম্পর্কে দেয়।

সংকীর্ণ পরিধিতে মেটাডেটা লগিং

এমন নিয়ম লিখুন যা কেবল আপনার পরীক্ষা ফ্লোর সঙ্গে মেলে, তাতে আলাদা চেনা প্রিফিক্স দিন, এবং প্ল্যাটফর্মের নিজস্ব নিয়ন্ত্রণে তার হার সীমিত করুন যাতে সাধারণ পুনরায় চেষ্টা স্টোরেজ ভাসিয়ে না দেয়। প্রিফিক্সই আপনাকে ডিভাইস যা লগ করে তার মধ্যে আপনার এন্ট্রিগুলো খুঁজে পেতে দেয়।

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

যদি ক্যাপচার করতেই হয়, একটি ফ্লো, সীমিত সময়ের জন্য, আপনার প্রশ্নের উত্তর দেয় এমন ক্ষুদ্রতম স্ন্যাপ দৈর্ঘ্য দিয়ে ক্যাপচার করুন।

একটি নতুন অনুরোধ মেলান

প্রকৃত ক্লায়েন্ট রুট অনুসরণ করে নিরীহ ট্রাফিক তৈরি করুন, তারপর প্রাসঙ্গিক কাউন্টারগুলো আগে ও পরে তুলনা করুন। গেটওয়েতে স্থানীয় পরীক্ষা ফরওয়ার্ডিং নিয়ম পুরোপুরি মিস করতে পারে, কারণ প্যাকেটটি কখনো ফরওয়ার্ডিং পথ নেয় না। প্রতিষ্ঠিত সেশনও নতুন সংযোগের তুলনায় ভিন্ন স্টেট হ্যান্ডলিংয়ে মিলতে পারে, তাই দীর্ঘস্থায়ী ফ্লো নতুন ফ্লোর বিকল্প নয়।

সময়সীমা দিয়ে উইন্ডোটি বেঁধে লিখে রাখুন। দুই নির্দিষ্ট মিনিটের মধ্যে, এই ক্লায়েন্ট ঠিকানা থেকে, এই প্রোটোকলে এই গন্তব্যে — এটাই রোগনির্ণয়। আজ সকালে কোনও এক সময় — এটা খোঁজ।

একটি ফ্লো, একটি উইন্ডো, একটি সীমানা — এখানে অগ্রগতির একক এটাই।

পরিষ্কার করুন এবং কেবল অংশটুকু রাখুন

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

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

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

সম্পর্কিত নিবন্ধ