راهنمای عملی ارزیابی امنیت کلاستر کوبرنتیز با معیار CIS و ابزار Wazuh

۶ دقیقه مطالعههاردنینگ و امن‌سازی سرورها

کوبرنتیز به عنوان یک سیستم ارکستراسیون کانتینرها، نیازمند پیکربندی‌های امنیتی دقیق در اجزای کنترل‌پلن، نودهای کاری و بارهای کاری است. معیار CIS کوبرنتیز مجموعه‌ای از توصیه‌های امنیتی استاندارد برای سخت‌سازی این کلاسترها ارائه می‌دهد. با توجه به پیچیدگی و تغییرات مداوم کلاسترها، حفظ امنیت و انطباق با این معیارها چالش‌برانگیز است. در این راهنما، نحوه پیاده‌سازی و استفاده از یک سیاست سفارشی SCA در Wazuh برای ارزیابی پیکربندی‌های کوبرنتیز شرح داده شده است. این روش به مدیران امنیت اطلاعات، مدیران سیستم و تیم‌های DevSecOps کمک می‌کند تا دارایی‌های عملیاتی خود را به صورت مستمر بررسی و سخت‌سازی کنند و شواهد فنی قابل اتکا برای ممیزی فراهم آورند.

پیش‌نیازها و زیرساخت مورد نیاز

برای اجرای این راهکار به موارد زیر نیاز است:

1. ماشین مجازی Wazuh نسخه 4.14.7 که شامل سرور، ایندکسر و داشبورد مرکزی Wazuh است. این ماشین مجازی آماده استفاده است و می‌توان آن را از منابع رسمی Wazuh دریافت و راه‌اندازی کرد.

2. یک نقطه پایانی (endpoint) مبتنی بر اوبونتو 24.04 که عامل Wazuh نسخه 4.14.7 روی آن نصب و به سرور Wazuh متصل شده باشد.

3. یک نود کنترل‌پلن کوبرنتیز که با kubeadm ایجاد شده باشد. این نود باید فایل‌های پیکربندی استاندارد کوبرنتیز را داشته باشد تا سیاست ارزیابی قابل اجرا باشد.

این زیرساخت امکان می‌دهد تا سیاست‌های امنیتی تعریف شده در Wazuh به صورت خودکار روی نودهای کوبرنتیز اجرا شده و نتایج ارزیابی جمع‌آوری شود.

معرفی ماژول ارزیابی پیکربندی امنیتی (SCA) در Wazuh

ماژول SCA در Wazuh برای ارزیابی پیکربندی‌های نقاط پایانی در برابر استانداردها و سیاست‌های امنیتی تعریف شده استفاده می‌شود. این ماژول با خواندن فایل‌های پیکربندی، بررسی مجوزها، مالکیت فایل‌ها و پارامترهای فرآیندها، وضعیت امنیتی را به صورت خودکار بررسی می‌کند.

هر سیاست SCA به صورت یک فایل YAML تعریف می‌شود که شامل بخش‌های metadata، لیست چک‌ها، الزامات و متغیرها است. هر چک یک شرط منطقی دارد که می‌تواند بر اساس وجود فایل، محتویات فایل، فرآیندهای در حال اجرا یا خروجی دستورات باشد.

در این راهنما، یک سیاست سفارشی برای پیاده‌سازی 77 مورد از معیارهای CIS Kubernetes Benchmark نسخه 2.0.1 ایجاد شده است که بخش‌های مختلف کنترل‌پلن، نودهای کاری، RBAC، امنیت پادها و شبکه را پوشش می‌دهد.

فرآیند پیاده‌سازی و استفاده از سیاست CIS Kubernetes در Wazuh

1. ابتدا باید یک فایل سیاست SCA به نام sca_kubernetes_audit.yml در مسیر /var/ossec/etc/ روی هر نقطه پایانی کوبرنتیز ایجاد شود. این فایل شامل تعریف سیاست، الزامات، متغیرها و چک‌های امنیتی است.

2. بخش الزامات (requirements) بررسی می‌کند که آیا فایل مشخصه پاد API server در مسیر /etc/kubernetes/manifests/kube-apiserver.yaml وجود دارد یا خیر. اگر این فایل وجود نداشته باشد، سیاست اجرا نشده و همه چک‌ها به عنوان Not applicable گزارش می‌شوند.

3. چک‌ها شامل بررسی مجوزها و مالکیت فایل‌های پیکربندی کنترل‌پلن مانند kube-apiserver.yaml، kube-controller-manager.yaml، kube-scheduler.yaml و etcd.yaml است. همچنین پارامترهای خط فرمان فرآیندهای کوبرنتیز مانند API server، controller manager، scheduler و etcd بررسی می‌شوند.

4. علاوه بر این، پیکربندی نودهای کاری، kubelet، kube-proxy، سیاست‌های RBAC، امنیت پادها و سیاست‌های شبکه نیز ارزیابی می‌شوند.

5. پس از ایجاد فایل سیاست، عامل Wazuh به صورت خودکار این سیاست را بارگذاری کرده و ارزیابی‌ها را انجام می‌دهد. نتایج به داشبورد Wazuh ارسال شده و می‌توان گزارش‌های دقیق از وضعیت امنیتی کلاستر دریافت کرد.

نمونه چک‌های امنیتی و نحوه اعتبارسنجی

در ادامه چند نمونه از چک‌های مهم این سیاست آورده شده است:

• بررسی مجوز فایل kube-apiserver.yaml: این فایل باید مجوز 600 یا محدودتر داشته باشد تا فقط مدیران به آن دسترسی نوشتنی داشته باشند. این چک با اجرای دستور stat و مقایسه مجوزها انجام می‌شود.

• بررسی مالکیت فایل kube-controller-manager.yaml: مالکیت باید root:root باشد تا از تغییرات غیرمجاز جلوگیری شود.

• اطمینان از عدم استفاده از پارامتر –token-auth-file در API server: این پارامتر نباید تنظیم شده باشد زیرا توکن‌های احراز هویت به صورت متن ساده ذخیره می‌شوند و قابل چرخش نیستند.

• فعال بودن RBAC و محدود کردن دسترسی‌ها: پارامتر –authorization-mode باید شامل RBAC و Node باشد و حالت AlwaysAllow نباشد.

• غیرفعال بودن پلاگین AlwaysAdmit در admission controller که اجازه عبور همه درخواست‌ها را می‌دهد.

• بررسی وجود سیاست‌های شبکه (Network Policies) برای همه namespaceها جهت جداسازی ترافیک شبکه.

اعتبارسنجی این چک‌ها توسط Wazuh با استفاده از ترکیبی از خواندن فایل‌ها، بررسی مالکیت و مجوزها، و اجرای دستورات محلی انجام می‌شود. نتایج به صورت Passed، Failed یا Not applicable گزارش می‌شوند.

کاربرد عملی و بررسی نتایج در سناریوی واقعی

فرض کنید یک سازمان دارای یک کلاستر کوبرنتیز است که با kubeadm راه‌اندازی شده و می‌خواهد به صورت منظم وضعیت امنیتی آن را بررسی کند. با نصب عامل Wazuh روی نود کنترل‌پلن و تعریف سیاست CIS Kubernetes، می‌توان به صورت خودکار پیکربندی‌ها را ارزیابی کرد.

پس از اجرای اسکن، مدیر امنیت اطلاعات می‌تواند در داشبورد Wazuh گزارش‌هایی شامل موارد زیر دریافت کند:

– فایل‌هایی که مجوز یا مالکیت نامناسب دارند.

– پارامترهای خط فرمان فرآیندهای کوبرنتیز که با معیارهای CIS تطابق ندارند.

– پادهایی که تنظیمات امنیتی ضعیف دارند مانند فعال بودن privileged یا allowPrivilegeEscalation.

– namespaceهایی که فاقد سیاست شبکه هستند.

با این گزارش‌ها، تیم DevSecOps می‌تواند اقدامات اصلاحی مانند تغییر مجوز فایل‌ها، اصلاح پارامترهای سرویس‌ها، اعمال سیاست‌های امنیتی پاد و ایجاد Network Policy را انجام دهد و سپس مجدداً اسکن را اجرا کند تا صحت اصلاحات را تایید نماید.

این فرآیند به صورت دوره‌ای و خودکار می‌تواند به حفظ امنیت کلاستر و فراهم کردن شواهد فنی برای ممیزی‌های امنیتی کمک کند.

چک‌لیست بررسی فنی

  • نصب و راه‌اندازی ماشین مجازی Wazuh و عامل Wazuh روی نود کنترل‌پلن کوبرنتیز
  • ایجاد فایل سیاست SCA سفارشی مطابق با CIS Kubernetes Benchmark در مسیر /var/ossec/etc/
  • اطمینان از وجود فایل kube-apiserver.yaml برای فعال شدن سیاست
  • بررسی مجوزها و مالکیت فایل‌های پیکربندی کنترل‌پلن و نودهای کاری
  • بررسی پارامترهای خط فرمان فرآیندهای کوبرنتیز برای تطابق با معیارهای امنیتی
  • ارزیابی سیاست‌های RBAC و محدودیت‌های دسترسی
  • بررسی تنظیمات امنیتی پادها مانند privileged، allowPrivilegeEscalation و استفاده از HostPath
  • اطمینان از وجود سیاست‌های شبکه برای همه namespaceها جهت جداسازی ترافیک

جمع‌بندی

استفاده از ماژول ارزیابی پیکربندی امنیتی Wazuh به همراه سیاست‌های سفارشی مبتنی بر معیار CIS Kubernetes Benchmark، روشی موثر و خودکار برای حفظ امنیت کلاسترهای کوبرنتیز فراهم می‌کند. این روش به مدیران امنیت و تیم‌های عملیاتی امکان می‌دهد تا به صورت مستمر دارایی‌های عملیاتی خود را بررسی و سخت‌سازی کنند و شواهد فنی قابل اتکا برای ممیزی‌های امنیتی جمع‌آوری نمایند. با اجرای منظم این ارزیابی‌ها، ریسک‌های ناشی از پیکربندی‌های ناامن کاهش یافته و امنیت کلی زیرساخت کانتینری بهبود می‌یابد.

برای بررسی نیاز سازمان در مدیریت دارایی‌ها و گردآوری شواهد ممیزی، با امن‌یار آشنا شوید.