ডিক্রিপ্ট করা পথ আঁকুন: VPN অ্যাপ্লায়েন্স কোথায় নীতি প্রয়োগ করে
এনক্রিপ্টেড লিসেনারে থেমে যাওয়া একটি ডায়াগ্রাম গুরুত্বপূর্ণ নীতি দেখায় না। ডিক্রিপ্ট করা পথ আঁকুন, তারপর অনুরোধটি কী অতিক্রম করে তার ভিত্তিতে স্থাপনগুলি তুলনা করুন।
ভেন্ডর ডায়াগ্রাম সাধারণত এনক্রিপ্টেড লিসেনারেই থেমে যায়, কারণ পাবলিক ঠিকানা থাকে ওই অংশটিতেই। নিরাপত্তা অবস্থান নির্ধারণ করে যে প্রশ্নটি, তা হলো ডিক্রিপশনের পরে কী ঘটে, যখন প্যাকেটটি সাধারণ IP হয়ে যায় এবং রাউটিং টেবিল যাকে অনুমতি দেয় তার সবকিছুতে পৌঁছাতে পারে। কেউ যদি ওই পা-টি না আঁকে, তবে তার মালিকও নেই। নিচের রানবুকটি প্রথমে সেটিই আঁকে, তারপর ডিক্রিপ্ট করা অনুরোধটি আসলে কী অতিক্রম করে তার ভিত্তিতে স্থাপনগুলি তুলনা করে।
প্যাকেটটি ডিক্রিপশনের পরে আঁকুন, আগে নয়
বাইরের পথ হলো ভেন্ডররা যা নথিভুক্ত করে: একটি পাবলিক এন্ডপয়েন্ট, সংযোগটি গ্রহণ করে এমন একটি ট্রান্সপোর্ট নীতি, এবং একটি টার্মিনেটিং সেবা। ভিতরের পথ শুরু হয় সেই মুহূর্তে যখন প্যাকেটটি তার টানেল হেডার হারায়, এবং সেখান থেকে এটি রাউটিং ও ফিল্টার নিয়ম দ্বারা পরিচালিত হয় যেগুলোর টানেলের সঙ্গে কোনো সম্পর্ক নেই। দুটিই একই পাতায় রাখুন, কারণ কেবল প্রথমটি থাকা ডায়াগ্রাম বোঝায় যে গ্রহণ ও অনুমোদন একই সিদ্ধান্ত। তা নয়, এবং তাদের মধ্যবর্তী ফাঁকটিই সেই জায়গা যেখানে বেশিরভাগ স্থাপন ভুল হয়।
ভিতরের পা-টি তীরচিহ্নের বদলে নামযুক্ত ডিভাইস ধরনের একটি ক্রমসংখ্যাযুক্ত অনুক্রম হিসেবে লিখুন। তীরচিহ্ন লুকিয়ে রাখে অনুরোধটি কোনো ফিল্টার অতিক্রম করে কি না, আর অতিক্রম করা বা না করাই হলো পুরো প্রশ্ন। নিচের প্রতিটি ধাপ ডিভাইসটি এবং সেখানে কার্যকর নিয়মের সেটটির নাম বলে, তাই অনুপস্থিত ফিল্টার রেখা দিয়ে ইঙ্গিত না হয়ে একটি ফাঁক হিসেবে দেখা যায়।
- দূরবর্তী ক্লায়েন্ট: ব্যবহারকারীর ডিভাইস যা টানেল তৈরি করে।
- প্রান্ত নীতি: নিয়মের সেট যা বাইরের ট্রান্সপোর্টকে পাবলিক লিসেনারে গ্রহণ করে।
- টার্মিনেটিং অ্যাপ্লায়েন্স: VPN এন্ডপয়েন্ট যা ডিক্যাপসুলেট করে প্যাকেটটি সাধারণ IP-এর কাছে হস্তান্তর করে।
- ভিতরের ফিল্টার: ফরওয়ার্ডিং বা সিকিউরিটি-গ্রুপ নিয়মের সেট যা ক্লায়েন্ট-থেকে-সেবা ট্রাফিক সীমিত করে।
- অ্যাপ্লিকেশন হোস্ট: সেবাটি যা ডিক্রিপ্ট করা অনুরোধ গ্রহণ করে।
দুই নীতি, দুই মালিক
বাইরের নীতি উত্তর দেয় কে একটি টানেল স্থাপন করতে পারে, এবং তা প্রকাশ পায় সেই নিয়মগুলিতে যা টার্মিনেটিং সেবায় ট্রান্সপোর্ট গ্রহণ করে। ভিতরের নীতি উত্তর দেয় প্রমাণিত ব্যবহারকারী কোন সেবায় পৌঁছাতে পারে, এবং তা বাস করে ফরওয়ার্ডিং নিয়ম, সিকিউরিটি গ্রুপ বা অ্যাপ্লিকেশনেই। একটি ডিভাইস দুটিই হোস্ট করতে পারে, এবং একাধিক ডিভাইসের নকশাতেও দুটিই থাকে। আলাদাভাবে নাম দেওয়াই আপনাকে বলতে দেয় কোনটি ব্যর্থ হয়েছে যখন ব্যবহারকারী কোনো অ্যাপ্লিকেশনে পৌঁছাতে পারে না।
সার্টিফিকেট ও মাল্টি-ফ্যাক্টর প্রমাণীকরণের মতো গ্রহণ নিয়ন্ত্রণ পরিচয়ের উত্তর দেয়, আর কিছু নয়। তারা স্থাপন নির্ধারণ করে না, এবং ব্যবহারকারী ভিতরে ঢোকার পরে সম্পদভিত্তিক অনুমতি দেয় না।
স্থাপন নির্ধারণ করে অনুরোধটি কোন সীমানা অতিক্রম করে
তিনটি স্থাপন সাধারণ, এবং প্রত্যেকটি বদলে দেয় ডিক্রিপ্ট করা অনুরোধটি কোন সীমানা অতিক্রম করে। সেখানে কী টার্মিনেট হয়, কী প্লেইনটেক্সট দেখতে পারে, কোন নিয়ন্ত্রণ এখনও অনুরোধ প্রত্যাখ্যান করতে পারে, এবং অ্যাপ্লায়েন্সের সঙ্গে কী ব্যর্থ হয় এই চারটি দিয়ে তাদের তুলনা করুন। নিচের টেবিলটি সাধারণ প্রশ্নের বদলে ওই চারটি কলাম ব্যবহার করে, কারণ প্রতিটি উত্তর আলাদা নকশা সিদ্ধান্ত।
| Placement | What terminates there | What sees plaintext | Which control can still deny | Failure domain |
|---|---|---|---|---|
| Termination in a dedicated segment | A dedicated VPN endpoint | The endpoint and anything on its segment | The filter between that segment and the application | The segment path can bypass the filter if no rule sits on it |
| Termination on the edge firewall | The firewall's public listener | The firewall, after decapsulation | The firewall's inner rule set | Admission and inspection fail together |
| Termination on the protected LAN | The appliance's LAN leg | Every host on the protected LAN | Only a host control or a downstream gateway | The appliance and the protected hosts fail together |
তৃতীয় স্থাপনটিই নীরবে প্রয়োগ সরিয়ে দেয়, কারণ সুরক্ষিত সেগমেন্টে একটি পা অ্যাপ্লায়েন্সকে সরাসরি পথ দেয় যা ডায়াগ্রাম নাও দেখাতে পারে। ছবির বদলে ইন্টারফেস ও রুট দেখুন: ip route get 10.20.5.10 জানায় প্যাকেটটি কোন ইন্টারফেস দিয়ে বেরোবে, এবং উত্তরটি প্রায়ই নকশা যা ধরে নিয়েছিল তা নয়। পোস্টচারের মধ্যে ট্রাফিক নিয়ন্ত্রণের ক্লাসিক ফায়ারওয়াল ভূমিকা, যেমন বর্ণিত হয়েছেNIST SP 800-41-এ, এখানে একটি উপকারী পরীক্ষা, কারণ সুরক্ষিত নেটওয়ার্কে সীমাহীন পা থাকা ডিভাইস বেশি কিছু নিয়ন্ত্রণ করে না। রুট লুকআপ ডেকের ডায়াগ্রামের চেয়ে বেশি সৎ ডায়াগ্রাম।
প্রশাসন থাকা উচিত তার নিজস্ব স্পষ্টভাবে অনুমোদিত পথে। ব্যবহারকারীদের একটি অ্যাপ্লিকেশনে পৌঁছাতে দেওয়ার জন্য কখনও অ্যাপ্লায়েন্সের নিয়ন্ত্রণ ইন্টারফেসে পৌঁছাতে দেওয়া প্রয়োজন হয় না, এবং দুটি অনুমতি আলাদা নিয়ম থেকে দেওয়া উচিত। দুটি পথই আলাদাভাবে অডিট করুন, কারণ ভাগ করা নিয়ম লুকিয়ে রাখে কোনটি খোলা হয়েছে।
অনুবাদ বদলে দেয় ডাউনস্ট্রিম নিয়ম কী দেখতে পায়
সোর্স অনুবাদ সুবিধাজনক এবং এটি তথ্য ধ্বংস করে। মাসকারেডের পরে প্রতিটি ক্লায়েন্ট অ্যাপ্লায়েন্সের মতো দেখায়, তাই ব্যবহারকারীদের আলাদা করার জন্য লেখা ডাউনস্ট্রিম নিয়ম আর তা করতে পারে না। এটি কেবল লগিং সমস্যা নয়, এটি নীতি সমস্যা: ক্লায়েন্ট ঠিকানায় চাবিকৃত নিয়ম নীরবে গেটওয়েতে চাবিকৃত নিয়ম হয়ে যায়। ব্যবহারকারীভিত্তিক নীতি যদি গুরুত্বপূর্ণ হয়, সোর্স সংরক্ষণ করুন বা অনুবাদের আগে নীতি প্রয়োগ করুন।
উত্তর পথও একই পরীক্ষার যোগ্য। গন্তব্য ফেরত প্যাকেটের জন্য কোন রুট বেছে নেয় তা লিপিবদ্ধ করুন, কারণ অসমমিত প্রত্যাবর্তন স্টেটফুল ইন্সপেকশন এড়িয়ে যায় এবং এমন সংযোগ তৈরি করে যা স্থাপিত হয়ে পরে আটকে যায়। দুই দিকই আপনার আঁকা সীমানা অতিক্রম করতে হবে, নইলে সীমানা সাজসজ্জা।
sudo tcpdump -ni inside0 host 10.20.5.10
ip route get 10.20.5.10
sudo iptables -t nat -S POSTROUTINGএকটি অনুমোদিত ও একটি প্রত্যাখ্যাত কাজ গ্রহণ করুন
ব্যবস্থাপনা হোস্ট থেকে নয়, প্রকৃত দূরবর্তী ক্লায়েন্ট থেকে পরীক্ষা করুন, কারণ ব্যবস্থাপনা হোস্ট সাধারণত এমন জায়গায় থাকে যেখানে ব্যবহারকারী কখনও থাকবেন না। একটি অনুমোদিত কাজ প্রমাণ করে পথটি কাজ করে, আর একটি প্রত্যাখ্যাত কাজ প্রমাণ করে নীতি আদৌ কিছু করছে। প্রতিটি স্থাপন পরিবর্তনের পরে দুটিই চালান, এবং আপনি যে সোর্স পরিচয় ও গন্তব্য ব্যবহার করেছেন তা লিপিবদ্ধ করুন। কেবল সাফল্য প্রমাণ করা পরীক্ষা সঠিক নিয়ম ও অনুপস্থিত নিয়মের মধ্যে পার্থক্য করতে পারে না।
তারপর সেই সব ক্ষেত্র পরীক্ষা করুন যা অবস্থা বদলায়: পুনঃসংযোগ, কী রোটেশন ছাড়িয়ে টিকে থাকা সেশন, এবং অ্যাপ্লায়েন্সের নিজের ব্যর্থতা। আপডেট, ধারণক্ষমতা ও পুনরুদ্ধারকে একই বিন্যাসের অংশ হিসেবে তুলনা করুন, কারণ একাধিক লজিক্যাল নিয়ন্ত্রণ ধারণ করা একটি অ্যাপ্লায়েন্স হলো একাধিক লেবেল পরা একটিই ব্যর্থতা ডোমেইন। দ্বিতীয় বাক্সও স্বাধীন নয় যখন ভাগ করা প্রশাসনিক ক্রেডেনশিয়াল বা অবাধ রুট তার তৈরি করার কথা থাকা সীমানাটিকে হারিয়ে দেয়।
এন্ডপয়েন্ট, ডিক্রিপ্ট করা পথ এবং তাকে সীমিত করা নিয়ন্ত্রণ নথিভুক্ত করুন। ওই তিনটি লাইন বাস্তবায়ন যাই নামেই ডাকা হোক অর্থবহ থাকে।