কুবারনেটিস একটি ক্লাউড নেটিভ আর্কিটেকচারের উপর ভিত্তি করে এবং ক্লাউড নেটিভ ইনফরমেশন সিকিউরিটির জন্য ভাল অনুশীলন সম্পর্কে CNCF থেকে পরামর্শ গ্রহণ করে।
কুবারনেটিস কীভাবে আপনাকে একটি সুরক্ষিত ক্লাউড নেটিভ প্ল্যাটফর্ম ডিপ্লয় করতে সহায়তা করার জন্য ডিজাইন করা হয়েছে তার একটি সংক্ষিপ্ত বিবরণের জন্য পড়ুন।
ক্লাউড নেটিভ সিকিউরিটির উপর CNCF হোয়াইট পেপার বিভিন্ন লাইফসাইকেল ফেজের জন্য উপযুক্ত সিকিউরিটি কন্ট্রোল এবং অনুশীলন সংজ্ঞায়িত করে।
এটি অর্জন করতে, আপনি করতে পারেন:
এটি অর্জন করতে, আপনি করতে পারেন:
কী ডিপ্লয় করা যেতে পারে, কে এটি ডিপ্লয় করতে পারে এবং কোথায় এটি ডিপ্লয় করা যেতে পারে তার উপর উপযুক্ত সীমাবদ্ধতা নিশ্চিত করুন। আপনি ডিস্ট্রিবিউট ফেজ থেকে ব্যবস্থা প্রয়োগ করতে পারেন, যেমন কন্টেইনার ইমেজ আর্টিফ্যাক্টের ক্রিপ্টোগ্রাফিক পরিচয় যাচাই করা।
আপনি বিভিন্ন অ্যাপ্লিকেশন এবং ক্লাস্টার কম্পোনেন্ট বিভিন্ন নেমস্পেসে ডিপ্লয় করতে পারেন। কন্টেইনার এবং নেমস্পেস উভয়ই আইসোলেশন মেকানিজম প্রদান করে যা ইনফরমেশন সিকিউরিটির জন্য প্রাসঙ্গিক।
যখন আপনি কুবারনেটিস ডিপ্লয় করেন, আপনি আপনার অ্যাপ্লিকেশনের রানটাইম এনভায়রনমেন্টের ভিত্তিও স্থাপন করেন: একটি কুবারনেটিস ক্লাস্টার (বা একাধিক ক্লাস্টার)। সেই ইনফ্রাস্ট্রাকচার অবশ্যই সিকিউরিটি গ্যারান্টি প্রদান করবে যা উচ্চতর লেয়ার প্রত্যাশা করে।
রানটাইম ফেজ তিনটি গুরুত্বপূর্ণ ক্ষেত্র নিয়ে গঠিত: অ্যাক্সেস, কম্পিউট, এবং স্টোরেজ।
কুবারনেটিস API হল যা আপনার ক্লাস্টারকে কাজ করায়। এই API সুরক্ষিত করা কার্যকর ক্লাস্টার সিকিউরিটি প্রদানের জন্য মূল।
কুবারনেটিস ডকুমেন্টেশনের অন্যান্য পৃষ্ঠায় অ্যাক্সেস কন্ট্রোলের নির্দিষ্ট দিক কীভাবে সেট আপ করতে হয় সে সম্পর্কে আরও বিস্তারিত রয়েছে। সিকিউরিটি চেকলিস্ট আপনার ক্লাস্টারের জন্য প্রস্তাবিত মৌলিক চেক প্রদান করে।
এর বাইরে, আপনার ক্লাস্টার সুরক্ষিত করার অর্থ হল API অ্যাক্সেসের জন্য কার্যকর অথেনটিকেশন এবং অথরাইজেশন ইমপ্লিমেন্ট করা। ওয়ার্কলোড এবং ক্লাস্টার কম্পোনেন্টের জন্য সিকিউরিটি আইডেন্টিটি প্রদান এবং পরিচালনা করতে ServiceAccount ব্যবহার করুন।
কুবারনেটিস API ট্রাফিক সুরক্ষিত করতে TLS ব্যবহার করে; TLS ব্যবহার করে ক্লাস্টার ডিপ্লয় করতে নিশ্চিত করুন (Node এবং কন্ট্রোল প্লেনের মধ্যে ট্রাফিক সহ) এবং এনক্রিপশন কী সুরক্ষিত করুন। যদি আপনি CertificateSigningRequests এর জন্য কুবারনেটিসের নিজস্ব API ব্যবহার করেন, সেখানে অপব্যবহার সীমাবদ্ধ করতে বিশেষ মনোযোগ দিন।
কন্টেইনার দুটি জিনিস প্রদান করে: অ্যাপ্লিকেশনের মধ্যে আইসোলেশন এবং সেই আইসোলেটেড অ্যাপ্লিকেশনগুলিকে একই হোস্ট কম্পিউটারে চালানোর জন্য একত্রিত করার একটি মেকানিজম। এই দুটি দিক—আইসোলেশন এবং অ্যাগ্রিগেশন—মানে রানটাইম সিকিউরিটি ট্রেড-অফ চিহ্নিত করা এবং একটি উপযুক্ত ভারসাম্য খুঁজে পাওয়া জড়িত।
কুবারনেটিস কন্টেইনার সেট আপ এবং চালানোর জন্য একটি কন্টেইনার রানটাইমের উপর নির্ভর করে। কুবারনেটিস প্রজেক্ট একটি নির্দিষ্ট কন্টেইনার রানটাইম সুপারিশ করে না, এবং আপনার নির্বাচিত রানটাইম(গুলি) আপনার ইনফরমেশন সিকিউরিটি চাহিদা পূরণ করে তা নিশ্চিত করা উচিত।
রানটাইমে আপনার কম্পিউট সুরক্ষিত করতে, আপনি করতে পারেন:
অ্যাপ্লিকেশনের জন্য Pod Security Standards প্রয়োগ করুন যাতে তারা শুধুমাত্র প্রয়োজনীয় প্রিভিলেজ সহ চলে তা নিশ্চিত করতে সহায়তা করে।
আপনার Node এ একটি বিশেষায়িত অপারেটিং সিস্টেম চালান যা বিশেষভাবে কন্টেইনারাইজড ওয়ার্কলোড চালানোর জন্য ডিজাইন করা হয়েছে। এটি সাধারণত একটি রিড-অনলি অপারেটিং সিস্টেমের (ইমিউটেবল ইমেজ) উপর ভিত্তি করে যা শুধুমাত্র কন্টেইনার চালানোর জন্য প্রয়োজনীয় সার্ভিস প্রদান করে।
কন্টেইনার-নির্দিষ্ট অপারেটিং সিস্টেম সিস্টেম কম্পোনেন্ট আইসোলেট করতে সহায়তা করে এবং কন্টেইনার এস্কেপের ক্ষেত্রে একটি হ্রাসকৃত আক্রমণ পৃষ্ঠ উপস্থাপন করে।
শেয়ার্ড রিসোর্স ন্যায্যভাবে বরাদ্দ করতে ResourceQuotas সংজ্ঞায়িত করুন, এবং LimitRanges এর মতো মেকানিজম ব্যবহার করুন যাতে Pod তাদের রিসোর্স প্রয়োজনীয়তা নির্দিষ্ট করে তা নিশ্চিত করতে।
আইসোলেশন উন্নত করতে বিভিন্ন Node জুড়ে ওয়ার্কলোড পার্টিশন করুন। Node আইসোলেশন মেকানিজম ব্যবহার করুন, হয় কুবারনেটিস নিজেই থেকে বা ইকোসিস্টেম থেকে, যাতে নিশ্চিত করা যায় যে বিভিন্ন ট্রাস্ট কনটেক্সট সহ Pod পৃথক Node সেটে চলে।
একটি কন্টেইনার রানটাইম ব্যবহার করুন যা সিকিউরিটি সীমাবদ্ধতা প্রদান করে।
Linux Node এ, একটি Linux সিকিউরিটি মডিউল ব্যবহার করুন যেমন AppArmor বা seccomp।
আপনার ক্লাস্টার এবং সেখানে চলা অ্যাপ্লিকেশনের জন্য স্টোরেজ সুরক্ষিত করতে, আপনি করতে পারেন:
এনক্রিপশন কী এর জন্য, বিশেষায়িত হার্ডওয়্যারের মধ্যে এগুলি জেনারেট করা প্রকাশের ঝুঁকির বিরুদ্ধে সেরা সুরক্ষা প্রদান করে। একটি হার্ডওয়্যার সিকিউরিটি মডিউল আপনাকে সিকিউরিটি কী অন্যত্র কপি করার অনুমতি না দিয়ে ক্রিপ্টোগ্রাফিক অপারেশন সম্পাদন করতে দিতে পারে।
আপনার নেটওয়ার্ক সিকিউরিটি ব্যবস্থাও বিবেচনা করা উচিত, যেমন NetworkPolicy বা একটি সার্ভিস মেশ। কুবারনেটিসের জন্য কিছু নেটওয়ার্ক প্লাগইন আপনার ক্লাস্টার নেটওয়ার্কের জন্য এনক্রিপশন প্রদান করে ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (VPN) ওভারলের মতো প্রযুক্তি ব্যবহার করে। ডিজাইন অনুসারে, কুবারনেটিস আপনাকে আপনার ক্লাস্টারের জন্য আপনার নিজস্ব নেটওয়ার্কিং প্লাগইন ব্যবহার করতে দেয়। যদি আপনি ম্যানেজড কুবারনেটিস ব্যবহার করেন, প্রোভাইডার ইতিমধ্যে আপনার জন্য একটি নেটওয়ার্ক প্লাগইন নির্বাচন করে থাকতে পারে।
আপনি যে নেটওয়ার্ক প্লাগইন বেছে নেন এবং আপনি যেভাবে এটি ইন্টিগ্রেট করেন তা ট্রানজিটে তথ্যের সিকিউরিটির উপর একটি শক্তিশালী প্রভাব ফেলতে পারে।
কুবারনেটিস আপনাকে অতিরিক্ত টুলিং দিয়ে আপনার ক্লাস্টার প্রসারিত করতে দেয়। আপনি আপনার অ্যাপ্লিকেশন এবং সেগুলি যে ক্লাস্টারে চলছে তা মনিটর বা ট্রাবলশুট করতে সহায়তা করার জন্য থার্ড পার্টি সমাধান সেট আপ করতে পারেন। আপনি কুবারনেটিস নিজেই বিল্ট ইন কিছু মৌলিক অবজারভেবিলিটি ফিচারও পান। কন্টেইনারে চলমান আপনার কোড লগ জেনারেট করতে পারে, মেট্রিক্স প্রকাশ করতে পারে, বা অন্যান্য অবজারভেবিলিটি ডেটা প্রদান করতে পারে; ডিপ্লয় টাইমে, আপনাকে নিশ্চিত করতে হবে যে আপনার ক্লাস্টার সেখানে একটি উপযুক্ত স্তরের সুরক্ষা প্রদান করে।
যদি আপনি একটি মেট্রিক্স ড্যাশবোর্ড বা অনুরূপ কিছু সেট আপ করেন, সেই ড্যাশবোর্ডে ডেটা পপুলেট করে এমন কম্পোনেন্টের চেইন, সেইসাথে ড্যাশবোর্ড নিজেই পর্যালোচনা করুন। নিশ্চিত করুন যে সম্পূর্ণ চেইন যথেষ্ট রেজিলিয়েন্স এবং ইন্টিগ্রিটি প্রোটেকশন সহ ডিজাইন করা হয়েছে যাতে আপনি এমনকি একটি ইনসিডেন্টের সময়ও এটির উপর নির্ভর করতে পারেন যেখানে আপনার ক্লাস্টার ডিগ্রেডেড হতে পারে।
যেখানে উপযুক্ত, কুবারনেটিস লেয়ারের নীচে সিকিউরিটি ব্যবস্থা ডিপ্লয় করুন, যেমন ক্রিপ্টোগ্রাফিকভাবে মেজার্ড বুট বা সময়ের অথেনটিকেটেড ডিস্ট্রিবিউশন (যা লগ এবং অডিট রেকর্ডের বিশ্বস্ততা নিশ্চিত করতে সহায়তা করে)।
একটি হাই-অ্যাসিউরেন্স এনভায়রনমেন্টের জন্য, ক্রিপ্টোগ্রাফিক প্রোটেকশন ডিপ্লয় করুন যাতে নিশ্চিত করা যায় যে লগ ট্যাম্পার-প্রুফ এবং গোপনীয় উভয়ই।