اگر می خواهید امنیت Kubernetes را به سطح بعدی برسانید ، باید کار خود را با سیاست های امنیتی قلب های خود شروع کنید.
در اینجا مختصراً این ویژگی را آورده ایم.
Kubernetes ابزاری بسیار قدرتمند برای مدیریت ظروف است.
اگر کار می کردید با داشتن ظروف به اندازه کافی طولانی ، می دانید که امنیت نقش اساسی در استقرار برنامه ها و خدمات شما دارد.
بدون امنیت این ظروف ، احتکار می تواند در شبکه شما اتفاق بیفتد.
شما مطمئناً این را نمی خواهید.
تا بتوانیم انجام دهیم چه؟
در Kubernetes ، شما باید در نظر بگیرید که یک سیاست امنیتی برای سوزش قلب ایجاد کنید.
چیست؟
اگر تازه وارد کوبرنتس هستید ، ممکن است نمی دانید منظور آن چیست.
زیر Kubernetes مجموعه ای از فرآیندهای تشکیل دهنده کانتینر است ، یعنی:
- منابع ذخیره سازی
- آدرس IP منحصر به فرد شبکه
- پارامترهایی که کنترل نحوه عملکرد کانتینر را کنترل می کنند
به عبارت دیگر ، ماژول در حال استقرار است. – یا یک ظرف یا چندین کانتینر که با هم کار می کنند.
اکنون که کار می کنید اگر فکر می کنید چه چیزی در زیر وجود دارد ، بیایید ببینیم با ایجاد یک سیاست امنیتی چه کاری می توانیم انجام دهیم.
سیاست امنیتی غلاف کوبنتس چیست؟
سیاست امنیتی غلاف کوبنتس منبعی است که مشخصات امنیتی این غلاف را کنترل می کند.
با تعریف یک هدف PodSecurancePolicy ، می توانید مواردی مانند:
- امکان اجرای ظروف ممتاز
- پراکندگی امتیاز
- دسترسی به انواع حجم
- دسترسی به سیستم فایلهای میزبان
- استفاده از شبکه میزبان
اما چگونه تعیین کنیم Policy؟
مانند تقریباً همه چیز در کوبرتز ، این در پرونده YAML تعریف شده است.
چگونه می توان یک سیاست امنیتی ضربان قلب کوبرنتس ایجاد کرد
بیایید یک سیاست امنیتی کوربرتس ایجاد کنیم که مانع از ایجاد ماژول های ممتاز شود و دسترسی به حجم ها را کنترل کند. [19659005] ابتدا باید یک فایل YAML ایجاد کنیم.
در ترمینال ، دستور را وارد کنید:
nano psp.yaml
در این پرونده ، موارد زیر را بچسبانید:
apiVersion: policy / v1beta1 نوع: PodSecurancePolicy ابرداده: نام: psp مشخصات: ممتاز: نادرست seLinux: قانون: RunAsAny گروههای مکمل: قانون: RunAsAny runAsUser: قانون: RunAsAny fsGroup: قانون: RunAsAny جلد: - '*'
در این پرونده ایجاد ماژول های ممتاز با استفاده از خط ممنوع است:
ممتاز: false
ما همچنین موارد زیر را مجاز می کنیم (از طریق قانون RunAsAny):
- SeLinux – به هر کاربر امکان کنترل SELinux در ماژول ها را می دهد.
- گروه های لینوکس – گروه های اضافی
- runAsUser – به کاربران امکان می دهد نقاط ورودی کانتینر را با یک نام کاربری متفاوت
- fsGroup – راه اندازی کنند – جلدی که از مدیریت املاک پشتیبانی می کند
پرونده را ذخیره و بسته کنید.
اکنون ما باید این سیاست را اعمال کنید.
این با استفاده از دستور انجام می شود:
k ubectl اعمال -f psp.yaml
خروجی:
podsecurance.policy / psp ایجاد شده
شما می توانید پرونده YAML را تغییر داده و همان دستور را در هر زمان اجرا كنید تا دوباره خط مشی تنظیم شود.
مطمئن شوید كه خط مشی خود را انجام دهید. موجود با وارد کردن دستور:
kubectl get psp
جزئیات در خروجی ذکر شده است:

چگونه می توان سیاست امنیتی کوبنتس را به
اختصاص داد اکنون که سیاست خود را ایجاد کردید ، یک سوال مشروع پیش می آید: چگونه می توان آن را اختصاص داد؟
این کار با استفاده از کنترل دسترسی مبتنی بر نقش (RBAC) انجام می شود.
یک پیکربندی RBAC برای خط مشی با استفاده از دستور ایجاد کنید:
nano rbac-psp.yaml
در این پرونده ، موارد زیر را بچسبانید:
نوع: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 ابرداده: نام: psp: psp قوانین: - apiGroups: - پسوندها منابع: - پادکستهای امنیتی نام منابع: - پیمانه افعال: - استفاده کنید --- نوع: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 ابرداده: نام: psp: psp موضوعات: - نوع: گروه نام: سیستم: تأیید اعتبار apiGroup: rbac.authorization.k8s.io roleRef: نوع: ClusterRole نام: psp: psp apiGroup: rbac.authorization.k8s.io
پرونده فوق نقش خوشه ای بنام psp را ایجاد می کند ، که می تواند از خط مشی جدید ما استفاده کند ، که ما آنرا psp نامیده ایم. psp: psp role برای هر کاربر معتبر.
پرونده را ذخیره و بسته کنید.
این خط مشی را با استفاده از دستور ایجاد کنید:
kubectl اعمال -f rbac-psp.yaml
اکنون ما این خط مشی و کنترل را ایجاد کرده ایم.
بیایید دریابیم که آیا اکنون می توانیم از این سیاست جدید استفاده کنیم.
دستور را وارد کنید: [19659033] kubectl auth می تواند از psp / psp استفاده کند
خروجی باید بگوید "بله".
البته سیستم باید بگوید "بله" ، زیرا من کاربر با حق سرپرست هستم.
اما اگر بررسی کنیم آیا این با کاربر دیگری است؟
این کار را با دستور انجام دهید:
kubectl auth می توان از psp / psp - spas --as-group = system: تأیید شده --as = any-user
] اکنون باید دید " نه "در پاسخ.
شما فقط یک سیاست امنیتی غلاف Kubernetes ایجاد کردید ، آن را به RBAC اختصاص دادید و آن را آزمایش کردید تا اطمینان حاصل کنید که این سیاست واقعا کار می کند.
شما هنگام استقرار به امنیت یک قدم نزدیک تر هستید. ظروف شی در Kubernetes.