প্রতি-অ্যাপ কিল সুইচ বনাম পুরো ডিভাইস লকডাউন: কী বদলায়
লেবেল নয়, সুরক্ষিত সেট দিয়েই সিদ্ধান্ত নিন: বাদ দেওয়া অ্যাপ, ব্যাকগ্রাউন্ড সহায়ক এবং নতুন সংযোগে কী থামে, আর প্রতিটি ক্ষেত্রে কীভাবে পরীক্ষা করবেন।
প্রতি-অ্যাপ কিল সুইচ শুনতে সতর্ক পছন্দের মতো লাগে: টানেল ভেঙে পড়লে কেবল কাজের ক্লায়েন্টই নেটওয়ার্ক হারায়, আর বাকি সবকিছু কাজ করতে থাকে। তারপর কেউ লক্ষ করে যে ব্যক্তিগত ব্রাউজার এখনও একটি পৃষ্ঠা লোড করেছে, একই স্যুটের সঙ্গে আসা সিঙ্ক সহায়ক বারবার চেষ্টা করে গেছে, এবং ক্যাশে করা একটি নাম এমন ঠিকানায় রিজলভ হয়েছে যা কখনও টানেল স্পর্শ করেনি। ফিচারের গায়ে লেখা লেবেল আর এটি আসলে যে সংযোগের সেট রক্ষা করে, এই দুটি আলাদা জিনিস। আগে সুরক্ষিত সেটটি বের করুন, কারণ সেই সেটই ঠিক করে প্রতি-অ্যাপ প্রয়োগ, নাকি ডিভাইস-ব্যাপী লকডাউন সৎ বর্ণনা।
লেবেল নয়, সেট দিয়ে শুরু করুন
প্রতি-অ্যাপ নীতি নির্বাচিত অ্যাপ রক্ষা করে। ডিভাইস লকডাউন আরও প্রশস্ত নেটওয়ার্ক সীমার দিকে লক্ষ্য রাখে, সাধারণত স্থানীয় প্রিন্টিং, ম্যানেজমেন্ট ট্রাফিক বা ক্যাপটিভ পোর্টালের জন্য নথিভুক্ত ব্যতিক্রম নিয়ে। তিনটি প্রশ্নের উত্তর না দিতে পারলে কোনো লেবেলই সম্পূর্ণ নয়: বাদ দেওয়া অ্যাপের কী হয়, ওই অ্যাপ যেসব সহায়ক চালু করে তাদের কী হয়, এবং সুরক্ষা অনুপলব্ধ থাকার সময় খোলা সংযোগের কী হয়।
ক্লায়েন্টের কোনো সেটিংয়ে হাত দেওয়ার আগে এই উত্তরগুলো লিখে রাখুন। যদি চাহিদা হয় "এই পেরোল ক্লায়েন্ট কখনও টানেলের বাইরে ইন্টারনেটে কথা বলবে না, আর আমার ব্রাউজার পারবে", তবে সেটটি ছোট এবং প্রতি-অ্যাপ প্রয়োগ মানায়। যদি চাহিদা হয় "এই ডিভাইসের কিছুই সুরক্ষা ছাড়া ইন্টারনেটে পৌঁছাবে না, আপডেট সার্ভিস ছাড়া", তবে কোনো প্রতি-অ্যাপ নীতিই তা দেবে না, কারণ যে অ্যাপগুলোর নাম আপনি বলেননি সেগুলোই সমস্যা।
প্রতি-অ্যাপ প্রয়োগ আইডেন্টিফায়ারের সঙ্গে মেলে, প্রোগ্রামের নামের সঙ্গে নয়
Android প্যাকেজের মাধ্যমে প্রতি-অ্যাপ VPN দেয়, এবং এর VpnService ডকুমেন্টেশন ব্যাখ্যা করে এটি সর্বদা-চালু ক্রিয়া ও ব্লকিংয়ের সঙ্গে কীভাবে মিথস্ক্রিয়া করে। iOS ম্যানেজমেন্ট প্রোফাইলের মাধ্যমে প্রতি-অ্যাপ VPN সেট করে এবং অ্যাপ বা ডোমেইন দিয়ে মেলায়। Windows ও Linux-এ প্রসেস-ভিত্তিক রুট আদৌ নেই, তাই একই ধারণা কোনো প্রোগ্রামে সীমাবদ্ধ ফায়ারওয়াল নিয়ম বা মালিক ব্যবহারকারীর সঙ্গে মেলা নিয়ম দিয়ে আনুমান করা হয়।
সীমাটি আইডেন্টিফায়ার, আর আইডেন্টিফায়ার এড়িয়ে যাওয়া সহজ। যে অ্যাপ সিস্টেম ব্রাউজারকে URL দেয়, বা কোনো ভিউয়ারে নথি খোলে, সেটি আপনার নীতি কখনও নাম না দেওয়া একটি প্রসেসে ঢুকে পড়ে। ড্রপে-টার্মিনেট অপশনও প্যাকেট ফিল্টার নয়: এটি আপনার কনফিগার করা অ্যাপটিকে মারে, অথচ চাইল্ড প্রসেস, কিউ ওয়ার্কার বা ব্রাউজার ট্যাব বিদ্যমান সকেট বাঁচিয়ে রাখতে পারে।
লকডাউন তা ঢাকে যা প্রতি-অ্যাপ নীতি দেখতে পায় না
ডিভাইস-ব্যাপী লকডাউন পছন্দটাই সরিয়ে দেয়। টানেলের অন্তর্গত নয় এমন প্রতিটি বহির্গামী প্যাকেট ফেলে দেওয়া হয়, আপনার অ্যাপ নীতি কখনও জানত না এমন প্রসেসের ট্রাফিকসহ। Android-এ এটি সর্বদা-চালু VPN আর সংযোগ-ব্লক করার সেটিংয়ের সমন্বয়, এবং প্রয়োগ ঘটে সিস্টেমে, ক্লায়েন্ট উইন্ডোতে নয়। ডেস্কটপে এটি ধারাবাহিক ফায়ারওয়াল নিয়ম বা অগম্য গেটওয়েতে নির্দেশিত ডিফল্ট রুট।
খরচ হলো বাকি সবকিছু থেমে যায়, তাই ব্যতিক্রমগুলো পরে ভাবা জিনিস নয়, নকশার অংশ হয়ে যায়। স্থানীয় প্রিন্টার, সার্ভিস ডিসকভারি, ক্যাপটিভ পোর্টাল লগইন, ম্যানেজমেন্ট এজেন্ট এবং OS আপডেট—প্রতিটিরই একটি নথিভুক্ত ফাঁক দরকার, কারণ প্রত্যেকটিই এমন পথ যা টানেল ডাউন থাকলে খোলা থাকে। লকডাউন ঠিক ততটাই শক্তিশালী যতটা সেই তালিকার সবচেয়ে ছোট এন্ট্রি।
DNS, IPv6 আর ব্যাকগ্রাউন্ড সহায়ক লিক লুকায়
সুরক্ষিত অ্যাপের নাম রিজলভ করতে ব্যর্থ হওয়া প্রমাণ করে না যে ক্যাশে করা উত্তর বা সরাসরি-IP ট্রাফিক ব্লক হয়েছে। রিজলভার যদি টানেলের বাইরে পৌঁছানো যায়, নাম রিজলভ হয় আর সংযোগ ব্যর্থ হয়, যা কাজ করা কিল সুইচের মতো দেখায় কিন্তু নয়। আরও খারাপ, ক্যাশে করা রেকর্ড এমন ঠিকানা দেখাতে পারে যা টানেল বহন করে না, তাই সংযোগ সরাসরি বেরিয়ে যায়, অথচ অ্যাপ VPN ত্রুটি জানায়।
IPv6-এর জন্য এটি চালু থাকা প্রতিটি প্ল্যাটফর্মে আলাদা নিয়ম দরকার, কারণ v4 ড্রপ নিয়ম v6 রুট ঢাকে না। মোবাইলে প্রাইভেট DNS সেটিং রিজলভিংকে ডিভাইস নীতি যাচাই না করা এনক্রিপ্টেড চ্যানেলে সরাতে পারে। আর ব্যাকগ্রাউন্ড সহায়কই ডেস্কটপের চেনা অপরাধী: আপডেটার বা সিঙ্ক ট্রে প্রসেস VPN ক্লায়েন্টের আগেই শুরু হয় এবং নিজের সংযোগ ধরে রাখে, তাই পরিবর্তিত রুট এটি কখনও দেখে না।
তিনটি অ্যাপ আর দুটি রূপান্তর পরীক্ষা করুন
| Test | What it proves |
|---|---|
| Included app, by name and by direct IP | the policy is applied, not just the resolver |
| Excluded app, same checks | the exclusion is intentional and documented |
| Helper or updater process | nothing inherited an older route |
| Tunnel drop, then Wi-Fi to cellular | the block survives the transition |
প্রতিটি সারি দুবার চালান—একবার হোস্টনাম দিয়ে, একবার আক্ষরিক ঠিকানা দিয়ে, আর নেটওয়ার্ক সুযোগ দিলে আরেকবার IPv6 দিয়ে। পাস মানে অন্তর্ভুক্ত অ্যাপ থেমেছে, বাদ দেওয়া অ্যাপ আপনি যেমন লিখেছিলেন তেমন আচরণ করেছে, আর সহায়কটি বেরিয়ে যায়নি। আপনি যেটিকে গ্রহণযোগ্য বলে ঠিক করেছেন সেই সরাসরি আচরণ লিখে রাখুন, যাতে পরের প্রশাসক ইচ্ছাকৃত ব্যতিক্রম আর ব্যর্থতার পার্থক্য বুঝতে পারেন।
তারপর ফলাফল একটি বাক্যে বর্ণনা করুন যা অ্যাপ আর শর্তের নাম বলে, উদাহরণ: পেরোল ক্লায়েন্টের টানেলের বাইরে কোনো রুট নেই, ব্রাউজার নকশা অনুযায়ী সরাসরি, আর টানেল ডাউন থাকলে বাকি সবকিছু থেমে যায়। সেই বাক্যটি লিখতে কষ্ট হলে নীতিটি এখনও পরস্পরবিরোধী দুটি নীতি।