المختبر 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