Deckhouse Kubernetes Platform (DKP) поддерживает интеграцию с Kaspersky Unified Monitoring and Analysis Platform (KUMA), единой системой мониторинга и анализа от «Лаборатории Касперского». В рамках интеграции события безопасности и журналы аудита из кластера передаются в KUMA для дальнейшего анализа.
Отправка логов в KUMA
Для отправки логов в систему KUMA настройте сбор и доставку логов на стороне DKP, используя следующие ресурсы:
- ClusterLogDestination — задаёт параметры хранилища логов;
- ClusterLoggingConfig — задаёт параметры сбора логов из кластера.
На стороне KUMA настройте соответствующие ресурсы для приёма событий.
Примеры конфигурации ClusterLogDestination и ClusterLoggingConfig
-
Отправка логов в формате JSON по UDP:
apiVersion: deckhouse.io/v1alpha1 kind: ClusterLogDestination metadata: name: kuma-udp-json spec: type: Socket socket: address: IP_ADDRESS:PORT # Замените при настройке. mode: UDP encoding: codec: "JSON" --- apiVersion: deckhouse.io/v1alpha2 kind: ClusterLoggingConfig metadata: name: kubelet-audit-logs spec: type: File file: include: - /var/log/kube-audit/audit.log destinationRefs: - kuma-udp-json
-
Отправка логов в формате JSON по TCP:
apiVersion: deckhouse.io/v1alpha1 kind: ClusterLogDestination metadata: name: kuma-tcp-json spec: type: Socket socket: address: IP_ADDRESS:PORT # Замените при настройке. mode: TCP tcp: verifyCertificate: false verifyHostname: false encoding: codec: "JSON" --- apiVersion: deckhouse.io/v1alpha2 kind: ClusterLoggingConfig metadata: name: kubelet-audit-logs spec: type: File file: include: - /var/log/kube-audit/audit.log destinationRefs: - kuma-tcp-json
-
Отправка логов в формате CEF по TCP:
apiVersion: deckhouse.io/v1alpha1 kind: ClusterLogDestination metadata: name: kuma-tcp-cef spec: type: Socket socket: extraLabels: cef.name: d8 cef.severity: "1" address: IP_ADDRESS:PORT # Замените при настройке. mode: TCP tcp: verifyCertificate: false verifyHostname: false encoding: codec: "CEF" --- apiVersion: deckhouse.io/v1alpha2 kind: ClusterLoggingConfig metadata: name: kubelet-audit-logs spec: type: File file: include: - /var/log/kube-audit/audit.log logFilter: - field: userAgent operator: Regex values: [ "kubelet.*" ] destinationRefs: - kuma-tcp-cef
-
Отправка логов в формате Syslog по TCP:
apiVersion: deckhouse.io/v1alpha1 kind: ClusterLogDestination metadata: name: kuma-tcp-syslog spec: type: Socket socket: address: IP_ADDRESS:PORT # Замените при настройке. mode: TCP tcp: verifyCertificate: false verifyHostname: false encoding: codec: "Syslog" --- apiVersion: deckhouse.io/v1alpha2 kind: ClusterLoggingConfig metadata: name: kubelet-audit-logs spec: type: File file: include: - /var/log/kube-audit/audit.log logFilter: - field: userAgent operator: Regex values: [ "kubelet.*" ] destinationRefs: - kuma-tcp-syslog
-
Отправка логов в Apache Kafka:
apiVersion: deckhouse.io/v1alpha1 kind: ClusterLogDestination metadata: name: kuma-kafka spec: type: Kafka kafka: bootstrapServers: - kafka-address:9092 # Замените при настройке. topic: k8s-logs --- apiVersion: deckhouse.io/v1alpha2 kind: ClusterLoggingConfig metadata: name: kubelet-audit-logs spec: destinationRefs: - kuma-kafka file: include: - /var/log/kube-audit/audit.log logFilter: - field: userAgent operator: Regex values: - kubelet.* type: File
Исключения при антивирусном сканировании узлов
Если на узлах кластера DKP используются антивирусные средства (например, Kaspersky Endpoint Security (KESL)), вам может понадобиться исключить из анализа служебные директории Deckhouse, чтобы избежать ложных срабатываний.
Перечень служебных директорий Deckhouse (также доступен в CSV):
Директория | Назначение |
---|---|
/etc/cni/ (любой узел) |
Файлы настройки модуля CNI |
/etc/kubernetes (любой узел) |
Манифесты статических подов, файлы сертификатов PKI |
/mnt/kubernetes-data (master-узел) |
Существует только в кластерах, развёрнутых в облаке, когда используется отдельный диск для базы данных etcd |
/mnt/vector-data (любой узел, модуль log-shipper ) |
Служебные данные статуса отправленных журналов |
/opt/cni/bin/ (любой узел) |
Исполняемые файлы модуля CNI |
/opt/deckhouse/bin/ (любой узел) |
Исполняемые файлы, необходимые для работы Deckhouse |
/var/lib/bashible (любой узел) |
Файлы настройки узла |
/var/lib/containerd (любой узел) |
Используется для хранения данных, связанных с работой CRI (например, containerd). Содержит слои образов контейнеров, снимки файловых систем контейнеров метаинформацию, логи и другую информацию контейнеров |
/var/lib/deckhouse/ (master-узел) |
Файлы модулей Deckhouse, динамически загружаемых из хранилища образов |
/var/lib/etcd (master-узел) |
База данных etcd |
/var/lib/kubelet/ (любой узел) |
Файлы настройки kubelet |
/var/lib/upmeter (master-узел, модуль upmeter ) |
База данных модуля upmeter |
/var/log/containers (любой узел) |
Журналы контейнеров (при использовании containerd) |
/var/log/pods/ (любой узел) |
Журналы всех контейнеров подов, запущенных на узле |
Рекомендации по настройке KESL
Для корректной работы DKP при наличии установленного решения KESL выполните следующие шаги:
-
Отключите следующие задачи на стороне KESL:
Firewall Management (ID: 12)
;Web Threat Protection (ID: 14)
;Network Threat Protection (ID: 17)
;Web Control (ID: 26)
.
В будущих версиях KESL список задач может отличаться.
-
Убедитесь, что ресурсы узлов соответствуют требованиям:
-
Для оптимизации производительности следуйте официальным рекомендациям «Лаборатории Касперского».