একটি অভ্যন্তরীণ লোড ব্যালেন্সারের বিরুদ্ধে পাবলিক DNS লুকআপ চালালে আপনি প্রাইভেট ঠিকানা ফেরত পেতে পারেন, যা রেকর্ডটি কীসের জন্য তা যাচাই না করা পর্যন্ত ভুল কনফিগারেশনের মতো দেখায়। AWS নথিভুক্ত করে যে অভ্যন্তরীণ লোড ব্যালেন্সারের নাম পাবলিকভাবে রিজলভযোগ্য হতে পারে, যদিও তাদের নোড শুধু প্রাইভেট ঠিকানা ধরে। রিজলভার জানিয়েছে সেবাটি কোথায়; এটি কোনো রুট তৈরি করেনি, নিরাপত্তা গোষ্ঠী খোলেনি বা কাউকে প্রমাণীকরণ করেনি। সেই উত্তর সমস্যা কি না তা নির্ভর করে এমন তথ্যের ওপর যা আপনি ক্রমানুসারে যাচাই করতে পারেন।

প্রথম ধাপ: স্কিম পড়ুন, IP নয়

স্কিম ক্ষেত্রটি লোড ব্যালেন্সারের নিজের সীমানা সম্পর্কে বিবৃতি। aws elbv2 describe-load-balancers --names app-internal হয় internal বা internet-facing মানের একটি Scheme ফেরত দেয়, সঙ্গে IPv4 বা ডুয়াল স্ট্যাকের জন্য ঠিকানার ধরন। ইন্টারনেট-মুখী লোড ব্যালেন্সারও প্রাইভেট টার্গেটে ফরওয়ার্ড করতে পারে, তাই প্রাইভেট ব্যাকএন্ড ঠিকানা দেখে ফ্রন্ট এন্ড সম্পর্কে কিছু প্রমাণ হয় না।

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

দ্বিতীয় ধাপ: নামটি কীসে রিজলভ হয় দেখুন

VPC-এর বাইরে থেকে dig +short app-internal-1234567890.eu-west-1.elb.amazonaws.com দিয়ে কোয়েরি করুন এবং উত্তরগুলি 10.0.0.0/8, 172.16.0.0/12 নাকি 192.168.0.0/16-এ পড়েছে লক্ষ্য করুন। পাবলিক রিজলভার থেকে প্রাইভেট উত্তর অভ্যন্তরীণ লোড ব্যালেন্সার নামের প্রত্যাশিত আচরণ; এটি প্রমাণ নয় যে ঠিকানাটি ইন্টারনেট থেকে রাউটযোগ্য।

VPC-এর ভিতর থেকে একই নাম রিজলভ করুন এবং তুলনা করুন। যদি দুই উত্তর ভিন্ন হয়, আপনি স্প্লিট-হরাইজন নামকরণ দেখছেন, এবং সেই পার্থক্য লিক নয়, ডিজাইনের খুঁটিনাটি।

তৃতীয় ধাপ: যে পথগুলি এখানে পৌঁছাতে পারে সেগুলি তালিকাভুক্ত করুন

প্রাইভেট ঠিকানা সেখান থেকেই পৌঁছানো যায় যেখানে রুট ও নিরাপত্তা নিয়ম আছে। সেগুলি সচেতনভাবে তালিকাভুক্ত করুন: সাইট-টু-সাইট VPN, ক্লায়েন্ট VPN, VPC পিয়ারিং, ট্রানজিট গেটওয়ে সংযুক্তি, Direct Connect, এবং VPC-এর ভিতরের যেকোনো প্রক্সি বা ব্যাস্টিয়ন। তাদের একটি অভীষ্ট পথ, আর বাকিগুলি সেই পথ যা একজন আক্রমণকারী খুঁজবে।

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

চতুর্থ ধাপ: লিসেনার ও অ্যাপ্লিকেশন আলাদাভাবে পরীক্ষা করুন

এমন নেটওয়ার্ক থেকে সংযোগ করার চেষ্টা করুন যার সেবাটিতে পৌঁছানো উচিত নয় এবং নিশ্চিত করুন যে আপনি পারছেন না। তারপর এমন একটি থেকে চেষ্টা করুন যার পৌঁছানো উচিত, এবং নিশ্চিত করুন যে আপনি একটি লিসেনারে পৌঁছান। এই দুই ফলাফল নেটওয়ার্ক পৌঁছানোযোগ্যতাকে অ্যাপ্লিকেশন আচরণ থেকে আলাদা করে, এবং উন্মোচন প্রশ্নের জন্য এগুলিই একমাত্র গুরুত্বপূর্ণ প্রমাণ।

পৌঁছানোযোগ্য লিসেনার আর অ্যাক্সেসযোগ্য অ্যাপ্লিকেশন এক নয়। TLS সার্টিফিকেট ও প্রোটোকল নীতি, তারপর অ্যাপ্লিকেশনের নিজস্ব প্রমাণীকরণ ও অনুমোদন পরীক্ষা করুন। কর্পোরেট VPN-এ যেকোনো কলকারীকে গ্রহণ করা অভ্যন্তরীণ টুল সেই VPN-এর প্রতিটি আপসকৃত ল্যাপটপের কাছে উন্মোচিত, যা ইন্টারনেট-মুখী ঝুঁকির চেয়ে ভিন্ন, তবে তবুও ঝুঁকি।

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

পঞ্চম ধাপ: নামটির নিজের গুরুত্ব আছে কি না ঠিক করুন

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

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

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

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