انتقل إلى المحتوى الرئيسي

المختبر 9.3 - معايير أمان البود

أهداف المختبر​

في نهاية هذا المختبر، ستكون قادرًا على:

  • فهم معايير أمان البود (PSS).
  • تطبيق سياسات الأمان على مستوى النيمسبيس.
  • اختبار المستويات المختلفة (privileged، baseline، restricted).
  • فهم القيود الأمنية.

المدة المقدرة​

45-60 دقيقة

المتطلبات المسبقة​

  • تثبيت وتكوين kubectl.
  • عنقود Kubernetes 1.23+ (لـ PSS).
  • معرفة بأمان البود (الفصل 9.3).

الجزء 1: فهم معايير أمان البود​

يحدد Kubernetes ثلاثة مستويات من الأمان:

  • privileged: لا توجد قيود (معطل افتراضيًا).
  • baseline: قيود دنيا لمنع الثغرات المعروفة.
  • restricted: قيود صارمة تتبع أفضل الممارسات.

الجزء 2: التطبيق على النيمسبيس​

الخطوة 2.1: إنشاء نيمسبيس مع PSS​

قم بإنشاء نيمسبيس بالمستوى baseline:

kubectl create namespace pss-test

تطبيق معيار أمان البود:

kubectl label namespace pss-test pod-security.kubernetes.io/enforce=baseline
kubectl label namespace pss-test pod-security.kubernetes.io/audit=baseline
kubectl label namespace pss-test pod-security.kubernetes.io/warn=baseline

تحقق:

kubectl get namespace pss-test --show-labels

الجزء 3: اختبار مع Baseline​

الخطوة 3.1: إنشاء بود متوافق مع Baseline​

قم بإنشاء pod-baseline.yaml:

apiVersion: v1
kind: Pod
metadata:
name: pod-baseline
namespace: pss-test
spec:
containers:
- name: app
image: busybox:1.35
command: ["sleep", "3600"]
securityContext:
runAsNonRoot: true
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL

تطبيق:

kubectl apply -f pod-baseline.yaml

الجزء 4: اختبار مع Restricted​

الخطوة 4.1: تغيير المستوى إلى Restricted​

قم بتغيير المستوى إلى restricted:

kubectl label namespace pss-test pod-security.kubernetes.io/enforce=restricted --overwrite

الخطوة 4.2: اختبار بود غير متوافق​

قم بإنشاء pod-non-compliant.yaml:

apiVersion: v1
kind: Pod
metadata:
name: pod-non-compliant
namespace: pss-test
spec:
containers:
- name: app
image: busybox:1.35
command: ["sleep", "3600"]
# Manque securityContext requis pour restricted

حاول إنشاء البود:

kubectl apply -f pod-non-compliant.yaml

يجب أن يتم رفض البود مع خطأ أمني.


الجزء 5: بود متوافق مع Restricted​

قم بإنشاء pod-restricted.yaml:

apiVersion: v1
kind: Pod
metadata:
name: pod-restricted
namespace: pss-test
spec:
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
containers:
- name: app
image: busybox:1.35
command: ["sleep", "3600"]
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000
capabilities:
drop:
- ALL

تطبيق:

kubectl apply -f pod-restricted.yaml

الجزء 6: التنظيف​

kubectl delete pod pod-baseline -n pss-test
kubectl delete pod pod-restricted -n pss-test
kubectl delete namespace pss-test

ملخص المختبر​

في هذا المختبر، قمت بتطبيق معايير أمان البود على مستوى النيمسبيس. لقد اختبرت المستويات الأمنية المختلفة وفهمت القيود.


الخطوات التالية​

سيعرض لك المختبر الأخير في هذه الوحدة كيفية إجراء تدقيق أمني.

المختبر 9.4: تدقيق أمني


تم إنشاء المختبر في: ديسمبر 2024