Kubernetes: настройка источника

Данная инструкция описывает применение политики аудита Kubernetes и отправки событий аудита в систему R-Vision SIEM.

Предварительные требования

Перед настройкой пересылки событий в R-Vision SIEM убедитесь, что обеспечена сетевая доступность узлов кластера R-Vision SIEM для сервиса kube-apiserver кластера Kubernetes по целевому TCP-порту.

Настройка Kubernetes

Ниже рассмотрено применение политики аудита и конфигурация отправки событий через вебхук для кластера, развернутого с помощью kubeadm. Для k0s, k3s, rke2, OpenShift и других вариантов развертывания кластеров подход аналогичен.

Для настройки и контроля событий аудита kube-apiserver Kubernetes выполните следующие шаги:

  1. Загрузите политику аудита по ссылке.

  2. Разместите ее в директории /etc/kubernetes/audit/policy.yaml.

  3. Создайте конфигурационный файл вебхука /etc/kubernetes/audit/audit-webhook-config.yaml для передачи событий на HTTP Server:

    apiVersion: v1
    kind: Config
    
    clusters:
    - name: audit
      cluster:
        server: http://<collector_address>:<port>
    
    contexts:
    - name: audit
      context:
        cluster: audit
    
    current-context: audit

    Здесь:

    • <collector_address> — IP-адрес коллектора R-Vision SIEM, на котором запущена точка входа типа *HTTP Server.

    • <port> — порт, который прослушивает точка входа типа HTTP Server.

  4. Откройте файл /etc/kubernetes/manifests/kube-apiserver.yaml для редактирования и добавьте в секцию spec.containers.command следующие строки:

      - --audit-policy-file=/etc/kubernetes/audit/policy.yaml
      - --audit-webhook-config-file=/etc/kubernetes/audit/audit-webhook-config.yaml
  5. Так как API Server работает в контейнере, примонтируйте файлы внутрь контейнера. Для этого:

    1. Добавьте дополнительное пространство в секцию spec.containers.volumeMounts:

      volumeMounts:
      - mountPath: /etc/kubernetes/audit
        name: audit-config
        readOnly: true
    2. Добавьте дополнительное пространство в секцию spec.containers.volumes:

      volumes:
      - hostPath:
          path: /etc/kubernetes/audit
          type: DirectoryOrCreate
        name: audit-config
  6. После сохранения изменений служба kubelet автоматически пересоздаст Pod API Server.

Настройка в R-Vision SIEM

Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  2. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант HTTP Server.

    • Порт точки входа: введите значение, указанное в конфигурации вебхука.

  3. Добавьте на конвейер элемент VRL-трансформация со следующим кодом:

    .device_hostname = "<cluster_name>"
    . = unnest!(.raw.items)

    Здесь <cluster_name> — пользовательское название кластера Kubernetes, которое служит для определения логов кластера в R-Vision SIEM.

  4. Соедините точку входа с VRL-трансформацией.

  5. Добавьте на конвейер элемент Нормализатор с правилом Kubernetes Audit (идентификатор правила: RV-N-204).

  6. Соедините нормализатор с VRL-трансформацией.

  7. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  8. Соедините конечную точку с нормализатором.

  9. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

kubernetes pipeline scheme

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события аудита Kubernetes.

Найти события Kubernetes в хранилище можно по следующему фильтру:

device_product = "kubernetes"

kubernetes storage

Была ли полезна эта страница?

Обратная связь