paint-brush
পড নিরাপত্তা নীতি থেকে স্থানান্তর: একটি ব্যাপক নির্দেশিকা (পর্ব 1: PSA-তে রূপান্তর)দ্বারা@viachaslaumatsukevich
3,924 পড়া
3,924 পড়া

পড নিরাপত্তা নীতি থেকে স্থানান্তর: একটি ব্যাপক নির্দেশিকা (পর্ব 1: PSA-তে রূপান্তর)

দ্বারা Viachaslau Matsukevich10m2023/09/05
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

কুবারনেটসে পড সিকিউরিটি পলিসি (পিএসপি) থেকে পড সিকিউরিটি অ্যাডমিশন (পিএসএ) এ রূপান্তর। PSA নেটিভ, মানগুলির সাথে সারিবদ্ধ, কিন্তু কাস্টমাইজেশন সীমিত। ধাপে ধাপে নির্দেশিকা সহ নিরাপত্তা আধুনিকীকরণ করুন।
featured image - পড নিরাপত্তা নীতি থেকে স্থানান্তর: একটি ব্যাপক নির্দেশিকা (পর্ব 1: PSA-তে রূপান্তর)
Viachaslau Matsukevich HackerNoon profile picture
0-item
1-item


ভূমিকা


যেহেতু Kubernetes অগ্রণী কন্টেইনার অর্কেস্ট্রেশন প্ল্যাটফর্ম হিসাবে পরিপক্ক হয়ে উঠছে, নিরাপত্তা কনটেইনারাইজড অ্যাপ্লিকেশন স্থাপনকারী সংস্থাগুলির জন্য একটি প্রধান উদ্বেগের বিষয়। কুবারনেটসের নিরাপত্তা অস্ত্রাগারের মৌলিক সরঞ্জামগুলির মধ্যে, পড সিকিউরিটি পলিসি (পিএসপি) একসময় গুরুত্বপূর্ণ ভূমিকা পালন করেছিল। PSP প্রশাসকদের সতর্কতার সাথে পডগুলিতে নিরাপত্তা সীমাবদ্ধতাগুলিকে সংজ্ঞায়িত করতে এবং প্রয়োগ করার অনুমতি দেয়, নিশ্চিত করে যে শুধুমাত্র নির্দিষ্ট নিরাপত্তা মান পূরণকারী পাত্রগুলি ক্লাস্টারের মধ্যে কাজ করতে পারে।

যাইহোক, Kubernetes নিরাপত্তার ল্যান্ডস্কেপ দ্রুত বিকশিত হচ্ছে, এবং এটি লক্ষ্য করা গুরুত্বপূর্ণ যে PSP এখন অবচয় করা হয়েছে, Kubernetes 1.25 থেকে শুরু করে (Kubernetes 1.25 আর্জেন্ট রিলিজ নোটের লিঙ্ক দেখুন)। এই পরিবর্তনটি পিএসপি নীতিগুলি পরিচালনা এবং রক্ষণাবেক্ষণের জটিলতা সহ বিভিন্ন কারণ থেকে উদ্ভূত হয়, যা প্রায়শই ব্যবহারকারীদের জন্য অপারেশনাল চ্যালেঞ্জের দিকে পরিচালিত করে।

অবমূল্যায়নের প্রতিক্রিয়া হিসাবে, সংস্থাগুলি এখন PSP-এর আধুনিক বিকল্পগুলি খুঁজছে, যেগুলি কেবল নিরাপত্তার প্রয়োজনীয়তাগুলিই সমাধান করে না বরং কুবারনেটসে কাজের চাপগুলিকে সুরক্ষিত করার প্রক্রিয়াটিকেও প্রবাহিত করে৷

এই বিস্তৃত নির্দেশিকাতে, আমরা কুবারনেটস নিরাপত্তা অনুশীলনে এই পরিবর্তনটি নেভিগেট করার জন্য একটি যাত্রা শুরু করি, পড সিকিউরিটি অ্যাডমিশন (PSA) এ স্থানান্তরের উপর দৃষ্টি নিবদ্ধ করে। PSA হল সবচেয়ে শক্তিশালী বিকল্পগুলির মধ্যে একটি, এবং এই নিবন্ধটি এটি গভীরভাবে অন্বেষণ করে। যাইহোক, এটি উল্লেখ করার মতো যে অন্য দুটি বিকল্প, কাইভারনো এবং ওপিএ গেটকিপার, এই সিরিজের মধ্যে পৃথক নিবন্ধে কভার করা হবে।

এই নিবন্ধটি জুড়ে, আপনি PSA সেট আপ এবং ইনস্টল করার জন্য বিশদ নির্দেশাবলী, PSP থেকে PSA তে স্থানান্তর করার জন্য ধাপে ধাপে মাইগ্রেশন গাইড এবং PSA-তে বিদ্যমান PSP নিয়মগুলি স্থানান্তর করার জন্য সুনির্দিষ্ট কমান্ড পাবেন। অতিরিক্তভাবে, আপনি PSA-এর জন্য তৈরি ড্রাই-রান কমান্ড ব্যবহার করে মাইগ্রেশন প্রস্তুতির জন্য নেমস্পেস মূল্যায়ন করার জ্ঞান অর্জন করবেন।

এই নির্দেশিকাটির শেষের মধ্যে, আপনি PSA-এর শক্তি এবং সীমাবদ্ধতাগুলির একটি বিস্তৃত বোধগম্যতা লাভ করবেন, যা আপনাকে আপনার প্রতিষ্ঠানের নির্দিষ্ট নিরাপত্তা প্রয়োজনীয়তা এবং Kubernetes পরিবেশের উপর ভিত্তি করে একটি জ্ঞাত সিদ্ধান্ত নিতে সজ্জিত করবে।

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


পড সিকিউরিটি অ্যাডমিশন (পিএসএ)

  • PSA Kubernetes নিরাপত্তা মান প্রয়োগ করে: PSA নিশ্চিত করে যে কন্টেইনারগুলি Kubernetes-এর নেটিভ সিকিউরিটি স্ট্যান্ডার্ড মেনে চলে, যেগুলো Pod Security Standards দ্বারা সংজ্ঞায়িত করা হয়েছে। এই মানগুলি নিরাপত্তা নীতিগুলিকে তিনটি স্বতন্ত্র প্রোফাইলে শ্রেণীবদ্ধ করে, প্রতিটিতে একটি ভিন্ন স্তরের সীমাবদ্ধতা রয়েছে:


    • প্রিভিলেজড : প্রিভিলেজড পলিসি ইচ্ছাকৃতভাবে উন্মুক্ত এবং সম্পূর্ণ সীমাবদ্ধ নয়। সাধারণত, এই নীতিটি বিশ্বস্ত ব্যবহারকারীদের দ্বারা পরিচালিত সিস্টেম- এবং পরিকাঠামো-স্তরের কাজের চাপকে লক্ষ্য করে। এটি সীমাবদ্ধতার অনুপস্থিতি দ্বারা চিহ্নিত করা হয়। যদিও গেটকিপারের মতো মঞ্জুরি-বাই-ডিফল্ট প্রক্রিয়াগুলি সহজাতভাবে বিশেষাধিকারপ্রাপ্ত হতে পারে, পড সিকিউরিটি নীতি (PSP) এর মতো ডিফল্ট প্রক্রিয়ার জন্য, বিশেষাধিকারপ্রাপ্ত নীতিটি সমস্ত বিধিনিষেধ নিষ্ক্রিয় করা উচিত।

    • বেসলাইন : বেসলাইন নীতিটি পরিচিত বিশেষাধিকার বৃদ্ধি রোধ করার সময় সাধারণ কন্টেইনারাইজড ওয়ার্কলোড দ্বারা সহজে গ্রহণের জন্য ডিজাইন করা হয়েছে। এটি অ্যাপ্লিকেশন অপারেটর এবং অ-সমালোচনামূলক অ্যাপ্লিকেশনগুলির বিকাশকারীদের পূরণ করে৷

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


  • সরাসরি PSP নিয়ম স্থানান্তর নেই: কিছু অন্যান্য সমাধানের বিপরীতে, PSA পড সিকিউরিটি পলিসি (PSP) নিয়মগুলিকে সরাসরি স্থানান্তর বা পরিবর্তন করার জন্য একটি সরল পদ্ধতি অফার করে না। PSA-এর প্রাথমিক ফোকাস হল উপরে উল্লিখিত প্রোফাইলগুলি সহ প্রতিষ্ঠিত Kubernetes সুরক্ষা মানগুলির বিরুদ্ধে পডগুলিকে যাচাই করা৷

  • কোন মিউটেশন নেই : PSA বৈধকরণের ক্ষেত্রে কার্যকর হলেও, এটি PSP-এর মতো পড স্পেসিফিকেশন পরিবর্তন বা কাস্টমাইজ করতে পারে না। PSA-এর মূল উদ্দেশ্য হল পূর্বনির্ধারিত Kubernetes নিরাপত্তা মান প্রয়োগ করা এবং এতে পড স্পেসিফিকেশন পরিবর্তন বা পরিবর্তন করার বৈশিষ্ট্য অন্তর্ভুক্ত নয়। এটি প্রাথমিকভাবে এই প্রতিষ্ঠিত মানগুলির বিরুদ্ধে পড যাচাইকরণের উপর দৃষ্টি নিবদ্ধ করে।


সেটআপ এবং ইনস্টলেশন

যেহেতু PSA হল একটি Kubernetes নেটিভ উপাদান, এটিকে কাজ করার জন্য, আপনাকে শুধু নিশ্চিত করতে হবে যে আপনার Kubernetes ক্লাস্টারে Pod Security Admission (PSA) কন্ট্রোলার সক্ষম করা আছে। আপনি নিম্নলিখিত কমান্ড চালানোর মাধ্যমে এটি করতে পারেন:


kubectl api-versions | grep admission


মাইগ্রেশনের জন্য প্রস্তুতিমূলক পদক্ষেপ

নেমস্পেস অনুমতি মূল্যায়ন

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

পডসিকিউরিটি পলিসিগুলিকে স্ট্রীমলাইন এবং স্বাভাবিক করুন

Pod Security Admission (PSA) তে স্থানান্তরিত করার আগে, আপনার PodSecurity Policies (PSP) কে স্বাভাবিক করা উপকারী:


  • অসমর্থিত ক্ষেত্রগুলি সরান : পড নিরাপত্তা মান দ্বারা আচ্ছাদিত নয় এমন বিকল্পগুলি বাদ দিন। এই বিকল্পগুলির মধ্যে রয়েছে:


 .spec.allowedHostPaths .spec.allowedFlexVolumes .spec.allowedCSIDrivers .spec.forbiddenSysctls .spec.runtimeClass
  • সম্পূর্ণরূপে মিউটেটিং ক্ষেত্রগুলি নির্মূল করুন : শুধুমাত্র একটি মিউটেটিং প্রভাব রয়েছে এবং বৈধকরণ নীতিকে প্রভাবিত করে না এমন ক্ষেত্রগুলি সরিয়ে প্রক্রিয়াটি শুরু করুন৷ "পড সিকিউরিটি স্ট্যান্ডার্ডে ম্যাপিং পড সিকিউরিটি পলিসিস" রেফারেন্সে উল্লেখ করা এই ক্ষেত্রগুলির মধ্যে রয়েছে:
 .spec.defaultAllowPrivilegeEscalation .spec.runtimeClass.defaultRuntimeClassName .metadata.annotations['seccomp.security.alpha.kubernetes.io/defaultProfileName'] .metadata.annotations['apparmor.security.beta.kubernetes.io/defaultProfileName'] .spec.defaultAddCapabilities

গুরুত্বপূর্ণ তথ্য:

এই ক্ষেত্রগুলি সরানোর ফলে প্রয়োজনীয় কনফিগারেশনের অভাবের কাজের চাপ হতে পারে, যা সম্ভাব্য অপারেশনাল সমস্যার কারণ হতে পারে। কাজের চাপগুলি সরলীকৃত নীতিগুলির সাথে সঠিকভাবে কাজ করতে পারে তা নিশ্চিত করা অত্যন্ত গুরুত্বপূর্ণ৷

উপযুক্ত পড নিরাপত্তা স্তর নির্ধারণ করুন

আপনার নামস্থানের জন্য উপযুক্ত পড সুরক্ষা স্তর নির্ধারণ করার সময়, আপনার বিবেচনা করার জন্য বেশ কয়েকটি পদ্ধতি রয়েছে:


নামস্থানের জন্য নিরাপত্তা প্রয়োজনীয়তা দ্বারা

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

বিদ্যমান পডসিকিউরিটি পলিসি দ্বারা:

আপনার বিদ্যমান পড সিকিউরিটি পলিসি (PSPs) এর প্রতিটিকে একটি সংশ্লিষ্ট পড সিকিউরিটি স্ট্যান্ডার্ড লেভেলে ম্যাপ করতে "পড সিকিউরিটি স্ট্যান্ডার্ডে ম্যাপিং পড সিকিউরিটি পলিসিস" রেফারেন্স ব্যবহার করুন।
যদি আপনার PSP গুলি মূলত পড সিকিউরিটি স্ট্যান্ডার্ডের উপর ভিত্তি করে না হয়, তাহলে আপনাকে সিদ্ধান্ত নিতে হতে পারে। একটি পড সিকিউরিটি লেভেল বেছে নিন যা অন্তত আপনার পিএসপির মতো অনুমোদিত, অথবা এমন একটি লেভেল বেছে নিন যা অন্তত সীমাবদ্ধ। একটি নির্দিষ্ট নামস্থানের মধ্যে পডের জন্য কোন PSP ব্যবহার করা হচ্ছে তা সনাক্ত করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:


 kubectl get pods -n $NAMESPACE -o jsonpath="{.items[*].metadata.annotations.kubernetes\.io\/psp}" | tr " " "\n" | sort -u

বিদ্যমান শুঁটি দ্বারা:

একটি ড্রাই রান পরিচালনা করুন এবং বেসলাইন এবং সীমাবদ্ধ পড নিরাপত্তা উভয় স্তর পরীক্ষা করতে পরবর্তী বিভাগ থেকে লেবেল কমান্ড প্রয়োগ করুন। এটি আপনাকে মূল্যায়ন করতে সাহায্য করে যে এই স্তরগুলি আপনার বিদ্যমান কাজের চাপের জন্য যথেষ্ট অনুমোদিত কিনা। আপনার বিদ্যমান ওয়ার্কলোডের সাথে সামঞ্জস্যপূর্ণ সর্বনিম্ন-সুবিধাপ্রাপ্ত বৈধ স্তর চয়ন করুন।

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

পড নিরাপত্তা স্তর পরীক্ষা করা হচ্ছে


একবার আপনি আপনার নেমস্পেসের জন্য পড সিকিউরিটি লেভেল নির্ধারণ করে ফেললে (প্রিভিলেজড লেভেল ব্যতীত), নির্বাচিত নীতি যাচাই করা গুরুত্বপূর্ণ। পড সিকিউরিটি একটি মসৃণ রোলআউট এবং নিরাপত্তা মানগুলির সাথে সম্মতি নিশ্চিত করতে পরীক্ষার বিকল্পগুলি অফার করে৷

ড্রাই রান টেস্টিং:


অবিলম্বে প্রয়োগ না করে নির্বাচিত নীতির প্রভাব মূল্যায়ন করতে এই পদ্ধতিটি ব্যবহার করুন।
একটি ড্রাই রান সঞ্চালন করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন, যা নির্দিষ্ট নীতির স্তর পূরণ করে না এমন বিদ্যমান পডগুলিকে হাইলাইট করবে:


 kubectl label --overwrite ns $NAMESPACE pod-security.kubernetes.io/enforce=$LEVEL

অডিট মোড পরীক্ষা:

অডিট মোড আপনাকে নীতি লঙ্ঘনগুলি প্রয়োগ না করে রেকর্ড করতে দেয়৷ লঙ্ঘনকারী পডগুলি পরবর্তী পর্যালোচনার জন্য অডিট রেকর্ডে লগ ইন করা হয়। কমান্ড দিয়ে অডিট মোড সক্ষম করুন:


 kubectl label --overwrite ns $NAMESPACE pod-security.kubernetes.io/audit=$LEVEL


পরীক্ষার সময় অপ্রত্যাশিত নীতি লঙ্ঘন দেখা দিলে, আপনি করতে পারেন:


  • নীতির সাথে সারিবদ্ধ করতে অ-সম্মতিমূলক কাজের চাপ আপডেট করুন।
  • আপনার কাজের চাপের প্রয়োজনীয়তা মিটমাট করার জন্য প্রয়োজন হলে নামস্থানের জন্য পড নিরাপত্তা স্তর সামঞ্জস্য করুন।


পড নিরাপত্তা স্তর প্রয়োগ

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


নামস্থানে পছন্দসই পড সুরক্ষা স্তর প্রয়োগ করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

 kubectl label --overwrite ns $NAMESPACE pod-security.kubernetes.io/enforce=$LEVEL

এই কমান্ডটি কার্যকর করা আপনার নামস্থানের নিরাপত্তা ভঙ্গি বাড়িয়ে নির্দিষ্ট পড নিরাপত্তা স্তর সক্রিয় এবং প্রয়োগ করবে।


PSP বাইপাস করা

নেমস্পেস স্তরে কার্যকরভাবে PodSecurityPolicy বাইপাস করতে, আপনি নেমস্পেসে সমস্ত পরিষেবা অ্যাকাউন্টের সাথে একটি সম্পূর্ণ সুবিধাপ্রাপ্ত পড নিরাপত্তা নীতি (PSP) আবদ্ধ করতে পারেন। এই প্রক্রিয়াটি নিশ্চিত করে যে নেমস্পেসের মধ্যে পডগুলি আর PodSecurityPolicy দ্বারা আরোপিত পরিবর্তন বা বিধিনিষেধের অধীন নয়। আপনি এটি একটি ক্লাস্টার স্তরে বা একটি পৃথক নামস্থান স্তরে করতে পারেন।

ক্লাস্টার-স্কোপড সেটআপ (পুরো ক্লাস্টারের জন্য শুধুমাত্র একবার প্রয়োজন):

একটি YAML কনফিগারেশন ফাইল প্রয়োগ করে একটি সম্পূর্ণ সুবিধাপ্রাপ্ত পড নিরাপত্তা নীতি (PSP) তৈরি করুন, যেমন privileged-psp.yaml । এই PSP-এর উচিত পডকে সমস্ত প্রয়োজনীয় সুযোগ-সুবিধা দেওয়া এবং পড সিকিউরিটি পলিসিস (PSPs) ব্যবহারের অনুমতি দেওয়ার জন্য এবং বিশেষাধিকারপ্রাপ্ত PSP-এর সাথে এটিকে যুক্ত করার জন্য privileged-psp নামে একটি ক্লাস্টার ভূমিকা তৈরি করা উচিত:


 kubectl apply -f privileged-psp.yaml kubectl create clusterrole privileged-psp --verb use --resource podsecuritypolicies.policy --resource-name privileged

প্রতি-নেমস্পেস অক্ষমতা:

system:serviceaccounts:$NAMESPACE গ্রুপের সাথে প্রিভিলেজড-পিএসপি ক্লাস্টার রোল যুক্ত করতে টার্গেট নেমস্পেসে একটি রোল বাইন্ডিং তৈরি করুন। এই বাইন্ডিং কার্যকরভাবে PodSecurity Policy বাইপাস করে, সম্পূর্ণ সুবিধাপ্রাপ্ত PSP-তে নেমস্পেসের মধ্যে থাকা সমস্ত পরিষেবা অ্যাকাউন্টগুলিকে কার্যকরভাবে মঞ্জুর করে:


 kubectl create -n $NAMESPACE rolebinding disable-psp --clusterrole privileged-psp --group system:serviceaccounts:$NAMESPACE


এই সেটআপের সাথে, বিশেষ সুবিধাপ্রাপ্ত PSP অ-পরিবর্তনশীল, এবং PodSecurityPolicy ভর্তি নিয়ন্ত্রক সর্বদা নন-মিউটেটিং PSP-কে অগ্রাধিকার দেয়। ফলস্বরূপ, এই নামস্থানের পডগুলি আর PodSecurityPolicy দ্বারা সংশোধন বা সীমাবদ্ধ করা হবে না।


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

PodSecurityPolicy নিষ্ক্রিয়তা পূর্বাবস্থায় ফেরান:

নামস্থানের জন্য PodSecurityPolicy নিষ্ক্রিয়তা ফিরিয়ে আনতে, আগে তৈরি করা RoleBindingটি মুছে দিন:

 kubectl delete -n $NAMESPACE rolebinding disable-psp

নেমস্পেস তৈরির প্রক্রিয়াগুলি পুনরায় দেখুন৷

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


  1. নেমস্পেস তৈরির নীতিগুলি সামঞ্জস্য করুন : পছন্দসই পড সুরক্ষা স্তরের নির্বাচন এবং প্রয়োগ অন্তর্ভুক্ত করতে নতুন নামস্থান তৈরি করার জন্য আপনার সংস্থার নীতি এবং পদ্ধতিগুলি আপডেট করুন৷ নিশ্চিত করুন যে নির্মাণের পর্যায় থেকেই সুরক্ষা মানগুলি প্রতিষ্ঠিত হয়েছে।

  2. স্ট্যাটিক কনফিগারেশন: আপনি স্ট্যাটিকভাবে পড সিকিউরিটি অ্যাডমিশন কন্ট্রোলারকে ডিফল্ট এনফোর্সমেন্ট, অডিট এবং/অথবা লেবেলবিহীন নেমস্পেসের জন্য সতর্কতা মাত্রা নির্ধারণ করতে কনফিগার করতে পারেন। এই পদ্ধতি নিশ্চিত করে যে নেমস্পেসগুলিতে স্পষ্ট পড সিকিউরিটি লেবেলের অভাব এখনও ডিফল্টরূপে আপনার নির্দিষ্ট নিরাপত্তা মান মেনে চলে।


    আপনার নেমস্পেস তৈরির প্রক্রিয়াগুলি পুনরায় দেখার মাধ্যমে, আপনি আমাদের কুবারনেটস পরিবেশে পড সুরক্ষা মানগুলিকে নির্বিঘ্নে একীভূত করতে পারেন এবং পুরানো এবং নতুন সমস্ত নেমস্পেস জুড়ে একটি সামঞ্জস্যপূর্ণ এবং সুরক্ষিত পদ্ধতি বজায় রাখতে পারেন৷


PodSecurity Policy অক্ষম করুন


একবার আপনি নিশ্চিত হন যে PodSecurityPolicy (PSP) ভর্তি নিয়ন্ত্রকের আর প্রয়োজন নেই এবং Pod Security Admission (PSA) সফলভাবে প্রয়োগ করা হয়েছে এবং যাচাই করা হয়েছে, আপনি PSP ভর্তি নিয়ন্ত্রককে নিষ্ক্রিয় করতে এগিয়ে যেতে পারেন।

এখানে PSP ভর্তি নিয়ন্ত্রক নিষ্ক্রিয় করার পদক্ষেপগুলি রয়েছে:

কুবে-এপিসার্ভার কনফিগারেশন পরিবর্তন করুন:


  • আপনার kube-apiserver-এর জন্য কনফিগারেশন ফাইল খুলুন, সাধারণত /etc/kubernetes/manifests/kube-apiserver.yaml.
  • PSP ভর্তি নিয়ন্ত্রক নিষ্ক্রিয় করতে --disable-admission-plugins পতাকা যোগ করুন। নিশ্চিত করুন যে এটি সক্রিয় ভর্তি প্লাগইনগুলির তালিকা থেকে সরানো হয়েছে৷
 kube-apiserver --disable-admission-plugins=PodSecurityPolicy
  • কনফিগারেশন ফাইল সংরক্ষণ করুন।

কুবে-এপিসার্ভার পুনরায় চালু করুন:

  • পরিবর্তনগুলি প্রয়োগ করতে kube-apiserver পুনরায় চালু করুন। আপনি সাধারণত Kubernetes কন্ট্রোল প্লেন বা kube-apiserver পড পুনরায় চালু করে এটি অর্জন করতে পারেন।
 systemctl restart kubelet

প্রতিপাদন:

  • kube-apiserver লগ বা এর স্থিতি পরীক্ষা করে PSP ভর্তি নিয়ন্ত্রক অক্ষম করা হয়েছে তা নিশ্চিত করুন।

পর্যাপ্ত "ভেজাবার সময়" পরে আত্মবিশ্বাসী হতে যে আপনাকে PSP-এ ফিরে যেতে হবে না, পরবর্তী ধাপে এগিয়ে যান।

ক্লিনআপ পিএসপি রিসোর্স:

PSP ভর্তি নিয়ন্ত্রক অক্ষম এবং PSA জায়গায়, আপনি নিরাপদে আপনার বিদ্যমান PodSecurity Policies, সেইসাথে সংশ্লিষ্ট যে কোনো ভূমিকা, ClusterRoles, RoleBindings এবং ClusterRoleBindings মুছে ফেলতে পারেন।


 kubectl delete podsecuritypolicies --all kubectl delete roles,clusterroles,rolebindings,clusterrolebindings --selector=rbac.authorization.kubernetes.io/autoupdate=true


এই পরিষ্কারের পদক্ষেপটি নিশ্চিত করে যে আপনার ক্লাস্টারে কোন অবশিষ্ট PSP কনফিগারেশন নেই।

PSP ভর্তি নিয়ন্ত্রক নিষ্ক্রিয় করে এবং PSP-সম্পর্কিত সংস্থানগুলিকে বাদ দিয়ে, আপনি আপনার ক্লাস্টারের নিরাপত্তা স্থাপত্যকে সরল করে, পড নিরাপত্তা ভর্তিতে রূপান্তর সম্পূর্ণ করে৷




সারসংক্ষেপ


এই ব্যাপক নির্দেশিকাটিতে, আমরা আপনার কুবারনেটস ক্লাস্টারের নিরাপত্তা কাঠামোকে পড সিকিউরিটি পলিসি (PSP) থেকে পড সিকিউরিটি অ্যাডমিশন (PSA) তে মসৃণভাবে রূপান্তরের জন্য প্রয়োজনীয় পদক্ষেপ এবং বিবেচনাগুলি অন্বেষণ করেছি৷ এই মাইগ্রেশন নিশ্চিত করে যে কুবারনেটসের বিকশিত নিরাপত্তা মানগুলির সাথে সারিবদ্ধ করার সময় আপনার কাজের চাপগুলি নিরাপদে চলতে থাকবে।

পড সিকিউরিটি অ্যাডমিশন (পিএসএ) ব্যবহারের সুবিধা এবং অসুবিধা


সুবিধা:

  • নেটিভ কুবারনেটস কম্পোনেন্ট : পিএসএ কুবারনেটসের একটি অবিচ্ছেদ্য অংশ, তৃতীয় পক্ষের টুল ইনস্টলেশনের প্রয়োজনীয়তা দূর করে। এটি প্ল্যাটফর্মের অন্তর্নির্মিত সুরক্ষা বৈশিষ্ট্যগুলিকে কাজে লাগায়৷
  • Kubernetes স্ট্যান্ডার্ডগুলি প্রয়োগ করে : PSA কুবারনেটসের স্থানীয় নিরাপত্তা মানগুলির সাথে সারিবদ্ধ করে, প্ল্যাটফর্মের সর্বোত্তম অনুশীলনগুলির সাথে সম্মতি নিশ্চিত করে৷

অসুবিধা:

  • সীমিত কাস্টমাইজেশন : PSA PSP-এর মতো একই স্তরের কাস্টমাইজেশন প্রদান নাও করতে পারে, বিশেষ করে জটিল নিরাপত্তা নীতির জন্য যার জন্য পড স্পেক্সের মিউটেশন প্রয়োজন।
  • Retrofitting আবশ্যক : নিরাপত্তা প্রসঙ্গ সেটিংস অন্তর্ভুক্ত করার জন্য বিদ্যমান ওয়ার্কলোডগুলিকে অবশ্যই আপডেট করতে হবে, যার জন্য YAML ফাইলগুলির পরিবর্তনের প্রয়োজন হতে পারে।



এই নির্দেশিকা আপনাকে PSP থেকে PSA তে আত্মবিশ্বাসের সাথে স্থানান্তরিত করার জন্য প্রয়োজনীয় জ্ঞান এবং পদক্ষেপগুলি দিয়ে সজ্জিত করে, আপনার Kubernetes ওয়ার্কলোডগুলিকে সুরক্ষিত করার সময় একটি নিরাপদ এবং দক্ষ রূপান্তর নিশ্চিত করে। আসন্ন নিবন্ধগুলির জন্য সাথে থাকুন, যেখানে আমি কাইভারনো এবং ওপিএ গেটকিপারের বিকল্প মাইগ্রেশন পথগুলি অন্বেষণ করব৷