Red Hat Advanced Cluster Security برای Kubernetes به‌طور پیوسته قابلیت‌های خود را توسعه می‌دهد تا دید امنیتی و کنترل‌های عملیاتی بهتری روی خوشه‌های Red Hat OpenShift در اختیار شما قرار دهد. خوشحالیم از ارائه یک به‌روزرسانی که به سازمان‌ها امکان می‌دهد سلامت و عملکرد مؤلفه‌های کلیدی RHACS را در ابزارهای نظارتی موجود و سفارشی خود ادغام کنند. 🔒

برای بهره‌برداری از این قابلیت‌ها باید یک سرور Prometheus پیکربندی شود تا معیارها (metrics) را Scrape کند. بخش پشتیبان Red Hat Advanced Cluster Security اعتبارنامه‌های ارائه‌شده را بررسی می‌کند و تنها معیارهایی را در معرض نمایش قرار می‌دهد که در محدوده دسترسی همان اعتبارنامه باشند. همچنین می‌توانید چندین سرور Prometheus را با اعتبارنامه‌هایی که دامنه‌های دسترسی متفاوت دارند تنظیم کنید تا تیم‌ها فقط دید محدودی از خوشه‌ها و namespaceها داشته باشند. قابلیت فعال یا غیرفعال کردن معیارهای از پیش تعریف‌شده از طریق کنسول نیز فراهم است (شکل 1). 📊

می‌توانید معیارهای سفارشی را از طریق API تعریف کنید و مجموعه‌های مختلفی از برچسب‌ها (labels) را برای آن‌ها تعیین کنید. نحوه پیکربندی این موارد در فصل 15 مستندات توضیح داده شده است: Monitoring RHACS | Configuration | Red Hat Advanced Cluster Security for Kubernetes | 4.9.

قابلیت‌های پیشرفته نظارت سفارشی به شما امکان می‌دهد داده‌های وضعیت امنیتی حیاتی را جمع‌آوری کنید و آن‌ها را برای نمایش در ابزارهایی مانند Grafana و Perses آماده کنید و حتی این چشم‌اندازها را مستقیماً در کنسول OpenShift ادغام نمایید. داشبوردهای امنیتی کاربردی باید داده‌ها را بر اساس شدت، محیط و روندها تحلیل کنند تا اطلاعات عملی به توسعه‌دهندگان، تحلیلگران امنیت و مسئولان انطباق ارائه دهند.

به‌عنوان مثال، برای شناسایی 10 تصویر (image) آسیب‌پذیر برتر، باید یک معیار سفارشی برای جمع‌آوری داده‌های مرتبط پیکربندی کنید. با افزودن پیکربندی زیر، Red Hat Advanced Cluster Security داده‌های آسیب‌پذیری تصویر را با برچسب‌های کلیدی مانند ImageRegistry، ImageRemote، ImageTag و Severity جمع‌آوری خواهد کرد:

[pyaml]
“metrics”: {
“imageVulnerabilities”: {
“GatheringPeriodMinutes”: 60,
“descriptors”: {
“image_severity”: {
“labels”: [
“ImageRegistry”, “ImageRemote”, “ImageTag”,
“IsPlatformWorkload”, “Severity”, “IsFixable”
]
}
}
}
}
[/pyaml]

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

[pyaml]
rox_central_image_vuln_image_severity{ImageRegistry=”docker.io”,ImageRemote=”library/wordpress”,ImageTag=”latest”,IsFixable=”true”,IsPlatformWorkload=”false”,Severity=”CRITICAL”} 6.000
[/pyaml]

پس از جمع‌آوری داده‌ها، می‌توانید با استفاده از تابع topk در Prometheus بدترین متخلفان را فوراً شناسایی کنید و تصاویر با بیشترین تعداد آسیب‌پذیری بحرانی یا قابل رفع را اولویت‌بندی کنید (شکل 2).

اولویت‌بندی CVEهای پراثر روی گره‌ها نیز مشابه فرآیند تصاویر است: با پرس‌وجو در Prometheus و استفاده از topk می‌توانید گره‌هایی را که بیشترین CVE یا شدیدترین موارد را دارند شناسایی کنید تا اقدامات اصلاحی را هدفمند کنید (شکل 3).

برای نمایش شمارش نقض‌ها بر اساس سیاست نیز باید یک معیار سفارشی ایجاد کنید که برچسب‌های زمینه‌ای لازم را شامل شود. نمونه پیکربندی زیر نشان می‌دهد چگونه می‌توانید این برچسب‌ها را اضافه کنید:

[pyaml]
“policyViolations”: {
“GatheringPeriodMinutes”: 60,
“descriptors”: {
“severity”: {
“labels”: [“Policy”, “Severity”, “Deployment”, “Status”]
}
}
}
[/pyaml]

با گردآوری این داده‌ها می‌توانید به‌سرعت از topk استفاده کنید تا ببینید کدام سیاست‌ها بیشتر نقض می‌شوند و بر همین اساس اجرای اصلاحات و تلاش‌های انطباق را اولویت‌بندی کنید (شکل 4). همچنین می‌توان تعداد نقض‌های هر سیاست را در طول زمان پیگیری کرد؛ برای مثال از معیار پیش‌تعریف‌شده rox_central_policy_violation_namespace_severity برای تعریف نمودارهایی که trends.sum را بر اساس Severity ردیابی می‌کنند استفاده کنید (شکل 5).

معیارهای این دسته می‌توانند شامل برچسب‌های Cluster و Namespace نیز باشند تا بتوانید نمودارها را پارامتریک کنید و دقیقاً محل وقوع نقض‌ها را مشخص نمایید و تیم‌ها یا محیط‌های توسعه خاصی را هدف قرار دهید.

برای پیکربندی هشدارها نیز می‌توان از سلامت خوشه استفاده کرد. مجموعه محدودی از معیارهای سلامت پایه توسط RHACS در معرض نمایش قرار می‌گیرد که دسترسی به آن‌ها نیازی به احراز هویت ندارد و داده‌ها Scoped نیستند. اما معیارهای جدید Prometheus داده‌های حساس‌تر مانند نام خوشه و namespace را نشان می‌دهند و به شما امکان می‌دهند داشبوردهای غنی و هشدارهای پیشگیرانه‌ای بسازید تا از عملیاتی بودن پلتفرم امنیتی اطمینان حاصل شود.

متریک جدید rox_central_health_cluster_info وضعیت فعلی هر خوشه را گزارش می‌دهد و دید عملیاتی به‌روز را در اختیار می‌گذارد. نمونه‌ای از مقدار این متریک:

[pyaml]
rox_central_health_cluster_info{Cluster=”production”,Status=”HEALTHY”,Type=”OPENSHIFT4_CLUSTER”,Upgradability=”MANUAL_UPGRADE_REQUIRED”} 1
[/pyaml]

برای روشن شدن موضوع، می‌توانید یک قاعده Prometheus برای هشدار هنگام نامساعد بودن وضعیت خوشه تعریف کنید. نمونه‌ای از PrometheusRule که می‌توان در محیط شما اعمال کرد به‌صورت زیر است:

[pyaml]
apiVersion: monitoring.rhobs/v1
kind: PrometheusRule
metadata:
name: stackrox-health-alerts
namespace: stackrox
labels:
app: central
spec:
groups:
– name: secured-cluster-health
interval: 30s
rules:
– alert: SecuredClusterStatusNotHealthy
expr: rox_central_health_cluster_info{Status!=”HEALTHY”}
for: 90m
labels:
severity: warning
annotations:
summary: “{{ $labels.Cluster }} secured cluster status is {{ $labels.Status }}”
description: “Metric rox_central_health_cluster_info for cluster {{ $labels.Cluster }} is Status={{ $labels.Status }}, expected HEALTHY.”
[/pyaml]

توجه داشته باشید که برخی از این متریک‌ها به‌صورت ساعتی به‌روزرسانی می‌شوند؛ بنابراین وضعیت هشدار ممکن است تا یک ساعت پس از بازگشت به HEALTHY همچنان ثابت نمایش داده شود. از طرفی متریک rox_central_cert_exp_hours می‌تواند با نشان دادن تعداد ساعت‌های باقیمانده تا انقضای گواهی هر مؤلفه، یک لایه هشدار اولیه برای مدیریت چرخه عمر گواهی‌ها فراهم آورد.

استفاده از معیارهای جدید Prometheus در RHACS ارزش بیشتری برای کنترل و مشاهده فراهم می‌کند و به شما این امکان را می‌دهد که داشبوردها و هشدارهای دقیق‌تری بسازید تا میانگین زمان بازیابی (MTTR) پلتفرم امنیتی خود را کاهش دهید. برای کسب اطلاعات بیشتر به مستندات Monitoring RHACS و مطلب Red Hat Advanced Cluster Security 4.9: Security built with your workflows مراجعه کنید. 🚀

به گزارش از وبسایت redhat