دوره Certified Kubernetes Security Specialist (CKS) طراحی شده است تا مهارتهای لازم برای ایمنسازی و مدیریت کلاسترهای Kubernetes در محیطهای تولیدی را به متخصصان ارائه دهد. این دوره شامل مفاهیم امنیتی، ابزارهای Kubernetes، و بهترین شیوهها برای محافظت از محیطهای مبتنی بر کانتینر است.
پیشنیازهای دوره
- آشنایی با Kubernetes: آشنایی با مفاهیم اساسی و توانایی کار با Kubernetes (معادل دانش CKAD یا CKA).
- مهارت در لینوکس: آشنایی با مدیریت سیستمعامل لینوکس و دستورات پایه.
- مفاهیم امنیتی: دانش اولیه در مورد مفاهیم امنیت سایبری و مدیریت دسترسی.
بخش 1. مفاهیم امنیت در Kubernetes
فصل 1. اصول امنیت در Kubernetes
- اهمیت امنیت در محیطهای Kubernetes
- تفکیک مسئولیتها (Roles and Responsibilities) در امنیت Kubernetes
- معرفی لایههای امنیتی (Control Plane, Data Plane, Node Security)
- مدیریت هویت و دسترسیها (Authentication and Authorization Basics)
فصل 2. معماری امنیتی Kubernetes
- بررسی اجزای اصلی Kubernetes و ارتباط آنها:
- API Server
- Scheduler
- Controller Manager
- Etcd
- Kubelet
- مدل امنیتی در سطح Control Plane:
- ایمنسازی ارتباطات API Server
- رمزنگاری دادههای etcd
- مدل امنیتی در سطح Data Plane:
- حفاظت از ارتباطات بین Podها
- امنیت شبکه Nodeها
فصل 3. آشنایی با تهدیدات و آسیبپذیریهای رایج در Kubernetes
- حملات رایج:
- Privilege Escalation (افزایش دسترسی)
- Resource Exhaustion (مصرف منابع)
- DNS Spoofing
- نقاط ضعف معمول:
- Misconfigured RBAC
- ضعف در امنیت کانتینرها (Container Misconfiguration)
- آسیبپذیریهای شناختهشده در Kubernetes:
- معرفی پایگاه دادههای امنیتی مانند CVE (Common Vulnerabilities and Exposures)
فصل 4. مروری بر مدلهای امنیتی Kubernetes
- مدل امنیت Control Plane:
- ایمنسازی API Server
- دسترسی محدود به etcd
- مدل امنیت Data Plane:
- جداسازی ترافیک Podها با Network Policies
- استفاده از Container Runtime Security
فصل 5. اصول امنیت در DevOps و Kubernetes
- اهمیت DevSecOps در Kubernetes
- معرفی ابزارها و فرآیندهای امنیتی در چرخه CI/CD
- تعریف نقش امنیت در توسعه و استقرار اپلیکیشنها
فصل 6. مستندسازی و نگهداری سیاستهای امنیتی
- مستندسازی تنظیمات امنیتی کلاستر
- بهروزرسانی منظم پیکربندیها و سیاستهای امنیتی
- بررسی و اعمال راهنماییهای CIS Benchmarks برای Kubernetes
بخش 2. ایمنسازی خوشه Kubernetes
فصل 1. محدودسازی دسترسی به API Server
- بررسی مکانیزمهای امنیتی API Server
- پیادهسازی RBAC (Role-Based Access Control):
- ایجاد Role و Role Binding
- محدودسازی دسترسی بر اساس Namespace
- تعیین مجوزهای حداقلی برای کاربران و سرویسها
- مدیریت کاربران:
- ایجاد کاربران جدید
- استفاده از ابزارهایی مانند kubectl برای مدیریت دسترسیها
- مدیریت Service Accounts:
- تعریف و تخصیص Service Accounts به Podها
- جلوگیری از استفاده از پیشفرضهای ناامن
فصل 2. استفاده از Network Policies
- مفهوم و اهمیت Network Policies
- ایجاد و مدیریت Network Policies برای کنترل ترافیک:
- تعریف Ingress و Egress
- محدودسازی دسترسی بین Podها
- استفاده از ابزارهای CNI (Container Network Interface):
- پیادهسازی پلاگینهایی مانند Calico یا Cilium برای مدیریت شبکه
فصل 3. پیادهسازی Pod Security Standards (PSS)
- آشنایی با Pod Security Standards:
- سیاستهای Baseline، Restricted و Privileged
- تعریف و اعمال محدودیتهای امنیتی:
- جلوگیری از اجرای Podها با دسترسی root
- محدود سازی اجرای کانتینرها در Namespaceهای خاص
فصل 4. مدیریت مجوزها و دسترسیها با استفاده از ابزارهای متنباز
- معرفی ابزارهای متنباز مانند:
- Kube-bench: ارزیابی وضعیت امنیتی کلاستر
- OPA/Gatekeeper: پیادهسازی سیاستهای امنیتی
- استفاده از ابزارها برای ارزیابی و تقویت امنیت خوشه
- خودکارسازی فرآیند بررسی امنیت با استفاده از CI/CD
فصل 5. پیادهسازی مکانیزمهای اضافی ایمنسازی
- فعالسازی SSL/TLS برای ارتباطات ایمن
- جلوگیری از دسترسی غیرمجاز به etcd:
- رمزنگاری دادهها در etcd
- محدود کردن دسترسی به etcd فقط برای کنترل پلن
- اجرای ابزارهای مانیتورینگ و لاگگیری:
- جمعآوری لاگهای API Server برای شناسایی تهدیدات
- مدیریت و حفاظت از گواهینامهها:
- چرخش گواهینامههای SSL/TLS برای کنترل پلن
فصل 6. بهترین شیوهها در ایمنسازی کلاستر
- جداسازی Namespaceها برای تیمها و پروژههای مختلف
- تعریف Resource Quotas و LimitRanges برای مدیریت منابع
- اجرای تستهای امنیتی منظم روی کلاستر
- پیادهسازی استراتژیهای مدیریت بحران و بازیابی
بخش 3. ایمنسازی کانتینرها
فصل 1. اسکن و شناسایی آسیبپذیری در تصاویر کانتینر
- استفاده از ابزارهای امنیتی:
- Trivy: اسکن سریع و سبک برای آسیبپذیریهای تصاویر.
- Clair: تحلیل و شناسایی آسیبپذیریهای شناختهشده در کانتینرها.
- Anchore: بررسی لایههای تصویر و اجرای سیاستهای امنیتی.
- بررسی منظم بهروزرسانیها و نسخههای جدید تصاویر.
- ادغام ابزارهای اسکن با فرآیند CI/CD.
فصل 2. کاهش سطح حمله
- حداقلسازی اندازه تصاویر کانتینر:
- حذف بستهها و کتابخانههای غیرضروری.
- استفاده از تصاویر پایه سبک مانند Alpine Linux.
- جلوگیری از اجرای کانتینرها با root privileges:
- پیکربندی non-root user در Dockerfile.
- استفاده از قابلیتهای لینوکس مانند seccomp و AppArmor.
- محدودسازی دسترسی به منابع سیستم:
- اعمال Resource Limits و Constraints در Podها.
فصل 3. مدیریت امنیت در محیطهای Build و CI/CD
- ایمنسازی فرآیند Build:
- استفاده از ابزارهای Build امن مانند Kaniko.
- جداسازی محیطهای Build از محیطهای تولیدی.
- نظارت بر زنجیره تامین نرمافزار (Supply Chain Security):
- بررسی وابستگیها و کتابخانهها با ابزارهایی مانند Snyk.
- پیادهسازی Image Signing:
- تأیید صحت تصاویر با ابزارهایی مانند Cosign و Notary.
فصل 4. اعمال سیاستهای امنیتی
- استفاده از ابزارهای سیاستگذاری:
- OPA (Open Policy Agent): تعریف و اجرای سیاستهای امنیتی.
- Gatekeeper: کنترل منابع Kubernetes و اعمال سیاستها.
- جلوگیری از اجرای کانتینرهای ناسازگار:
- اعمال سیاستهای Admission Control در Kubernetes.
- تعریف Pod Security Standards (PSS):
- محدودسازی دسترسی Podها به Host Network و Storage.
فصل 5. دیگر بهترین شیوهها
- بررسی منظم برای کشف آسیبپذیریها.
- اعمال Immutable Tags برای تصاویر کانتینر.
- استفاده از اسکن خودکار آسیبپذیریها پس از هر تغییر در کد یا تصویر.
بخش 4. ایمنسازی شبکه
فصل 1. مفاهیم پایهای امنیت شبکه در Kubernetes
- تعریف و اهمیت امنیت شبکه در کلاسترهای Kubernetes
- مدل شبکه در Kubernetes: Flat Network و مفاهیم آن
- نقش CNI (Container Network Interface) در مدیریت شبکه
فصل 2. بررسی ارتباطات شبکهای در Kubernetes
- نحوه ارتباط Podها با یکدیگر
- چگونگی دسترسی Podها به سرویسهای خارجی
- بررسی سرویسهای Kubernetes: ClusterIP، NodePort، LoadBalancer و ExternalName
- تاثیر تنظیمات DNS بر امنیت ارتباطات داخلی
فصل 3. ایجاد و مدیریت Network Policies
- تعریف Network Policy: نقش و کاربرد
- نحوه محدود سازی ترافیک ورودی و خروجی Podها
- تنظیم سیاستهای امنیتی با استفاده از ابزارهای CNI (مانند Calico، Cilium)
- ایجاد مثالهایی از Network Policies:
- محدود کردن ترافیک به یک Namespace خاص
- کنترل دسترسی Podها به دیتابیس
- جلوگیری از ترافیک غیر ضروری بین Podها
فصل 4. پیادهسازی Network Segmentation
- استفاده از ابزارهای CNI برای جداسازی شبکه:
- Calico: ایجاد شبکههای امن و جداسازی ترافیک
- Cilium: مانیتورینگ و ایمنسازی ارتباطات
- نقش و کاربرد VLAN و Subnet در Kubernetes
- بهینهسازی ترافیک شبکه و جلوگیری از تداخل
فصل 5. جلوگیری از حملات شبکه
- حملات Man-in-the-Middle (MITM):
- استفاده از TLS/SSL برای رمزنگاری ارتباطات
- ایمنسازی گواهینامهها در Kubernetes
- حملات DNS Spoofing:
- استفاده از CoreDNS برای مدیریت امن DNS
- مانیتورینگ فعالیتهای مشکوک DNS
- محدود کردن حملات DDoS در کلاستر Kubernetes
فصل 6. استفاده از ابزارهای مانیتورینگ و شناسایی تهدیدات شبکه
- Weave Scope: ابزار مانیتورینگ جریان ترافیک در شبکه
- Sysdig: شناسایی و تحلیل ترافیک شبکه
- Istio: بررسی ترافیک سرویسها و مدیریت امنیت سرویسها
- تشخیص رفتارهای غیرعادی در شبکه با ابزارهای هوش مصنوعی
فصل 7. تست و ارزیابی امنیت شبکه
- ابزار kube-hunter: شناسایی آسیبپذیریهای امنیتی در شبکه
- تست نفوذ شبکه با استفاده از اسکریپتها و ابزارهای متنباز
- مانیتورینگ جریان ترافیک برای شناسایی دسترسیهای غیرمجاز
فصل 8. بهترین شیوهها برای ایمنسازی شبکه Kubernetes
- جداسازی سرویسهای حیاتی در Namespaceهای جداگانه
- محدودسازی دسترسی API Server برای سرویسهای خارجی
- نگهداری و مدیریت گواهینامههای TLS
- پیادهسازی سیاست Least Privilege برای دسترسیها
بخش 5. ایمنسازی تنظیمات و دادهها
فصل 1. مدیریت امن Secrets
- تعریف Secrets در Kubernetes:
- آشنایی با مفاهیم Secrets و تفاوت آنها با ConfigMaps.
- ذخیرهسازی امن Secrets:
- استفاده از رمزنگاری پایه در Kubernetes برای حفاظت از Secrets.
- محدودیتهای پیشفرض Kubernetes در مدیریت Secrets.
- ابزارهای مدیریت Secrets:
- Sealed Secrets:
- رمزنگاری Secrets و ذخیرهسازی امن آنها در Git.
- HashiCorp Vault:
- استفاده از Vault برای مدیریت متمرکز Secrets و ارائه دسترسیهای کنترلشده.
- Sealed Secrets:
- پیکربندی RBAC برای دسترسی به Secrets:
- تنظیم دسترسیها برای جلوگیری از افشای ناخواسته.
فصل 2. رمزنگاری دادهها
- رمزنگاری در حالت استراحت (Encryption at Rest):
- تنظیمات Kubernetes برای فعالسازی رمزنگاری دادههای حساس (مانند Secrets) در ETCD.
- استفاده از KMS (Key Management Service) برای مدیریت کلیدهای رمزنگاری.
- رمزنگاری دادهها در حین انتقال (Encryption in Transit):
- استفاده از TLS برای ایمنسازی ارتباطات بین اجزای مختلف Kubernetes.
- بررسی و اعمال گواهینامههای SSL/TLS.
- مدیریت و تمدید خودکار گواهینامهها با ابزارهایی مانند Cert-Manager.
فصل 3. ایمنسازی Config Maps و فایلهای تنظیمات
- تنظیمات Config Maps:
- مدیریت فایلهای پیکربندی با Config Maps و تفکیک آنها از Secrets.
- محافظت از دادههای حساس در Config Maps:
- جداسازی دادههای عمومی و حساس.
- محدودسازی دسترسی به Config Maps با RBAC.
- ابزارهای تأیید پیکربندیها:
- استفاده از OPA/Gatekeeper برای اعتبارسنجی و اجرای سیاستهای امنیتی روی ConfigMaps.
- نسخهبندی و ذخیرهسازی Config Maps:
- استفاده از GitOps برای مدیریت تغییرات در فایلهای تنظیمات.
فصل 4. حفاظت از پایگاه دادهها و منابع ذخیرهسازی
- امنیت پایگاه دادهها:
- محدود کردن دسترسی به پایگاه دادهها از طریق Network Policies.
- رمزنگاری ارتباطات بین سرویسها و پایگاه دادهها.
- ایمنسازی Persistent Volumes (PV):
- استفاده از Volume Encryption برای رمزنگاری دادههای ذخیرهشده.
- مدیریت دسترسی به PVها با StorageClassها.
- پشتیبانگیری دادهها:
- ابزارهایی مانند Velero برای پشتیبانگیری و بازیابی منابع Kubernetes.
- برنامهریزی برای بازیابی سریع در مواقع خرابی.
فصل 5. بررسی امنیتی تنظیمات و دادهها
- ارزیابی امنیت ETCD:
- بررسی صحت رمزنگاری دادههای ذخیرهشده.
- محدود کردن دسترسی به ETCD فقط به اجزای Kubernetes.
- استفاده از ابزارهای امنیتی برای تحلیل دادهها:
- ابزارهایی مانند Kube-bench برای ارزیابی امنیتی تنظیمات کلاستر.
- بررسی آسیبپذیریها و تهدیدات بالقوه در فایلهای تنظیمات.
خدمات شبکه فراز نتورک | پیشرو در ارائه خدمات دیتاسنتری و کلود

نقد و بررسی وجود ندارد.