Экспериментальная версия. Функциональность может сильно измениться. Совместимость с будущими версиями не гарантируется.

Политики безопасности

Примеры применения политик смотрите в Примерах.

NvSecurityRule

NvSecurityRule задаёт политики безопасности, применяемые к рабочим нагрузкам внутри определённого пространства имён. Эти правила действуют только в том пространстве имён, где они развернуты, и затрагивают только цели внутри него.

Возможности:

  • Применение в рамках одного пространства имен.
  • Правила входящего/исходящего сетевого трафика.
  • Контроль запуска процессов и доступа к файлам.
  • Поддержка политик DLP и WAF.

Reference

NvClusterSecurityRule

NvClusterSecurityRule определяет глобальные политики безопасности, применяемые ко всему кластеру вне зависимости от границ пространств имён. Такие правила подходят для обеспечения единых стандартов безопасности и базовой защиты.

Возможности:

  • Применение на уровне всего кластера.
  • Глобальные базовые политики безопасности.
  • Управление политиками между пространствами имен.
  • Поддержка федеративных политик.

Reference

NvGroupDefinition

NvGroupDefinition позволяет создавать переиспользуемые критерии групп, на которые можно ссылаться из политик безопасности. Это обеспечивает модульность и согласованность при разработке политик.

Возможности:

  • Определение переиспользуемых групп.
  • Централизованное управление группами.
  • Поддержка ссылок по имени (name_referral)
  • Упрощение сопровождения политик.

Reference

Политики контроля допуска

NvAdmissionControlSecurityRule

NvAdmissionControlSecurityRule определяет политики, проверяющие и, при необходимости, блокирующие развертывание рабочих нагрузок на этапе приёма, в зависимости от заданных критериев безопасности.

Возможности:

  • Интеграция с Kubernetes Admission Control.
  • Проверка соответствия развертываний.
  • Принудительное применение правил безопасности на этапе развертывания.
  • Проверка на соответствие политике безопасности.

Reference

Специализированные политики безопасности

NvDlpSecurityRule

NvDlpSecurityRule задаёт правила защиты от утечек конфиденциальных данных и обеспечивает соответствие требованиям обработки данных.

Возможности:

  • Обнаружение чувствительных данных.
  • Предотвращение утечек информации.
  • Применение политик соответствия.
  • Поддержка пользовательских шаблонов.

NvComplianceProfile

NvComplianceProfile определяет стандарты соответствия, правила сканирования и отчётности. Используется для обеспечения нормативных требований.

Возможности:

  • Описание стандартов соответствия.
  • Автоматическое сканирование.
  • Конфигурация отчётности.
  • Поддержка пользовательских проверок.

NvVulnerabilityProfile

NvVulnerabilityProfile определяет правила оценки уязвимостей и настройки управления рисками.

Возможности:

  • Сканирование на уязвимости.
  • Оценка рисков.
  • Настройка процессов устранения.
  • Пользовательские критерии.

NvWafSecurityRule

NvWafSecurityRule задаёт правила защиты веб-приложений и фильтрации трафика.

Настройка политик безопасности

Чтобы применять политики безопасности, необходимо задать параметры цели (target), режим работы и соответствующие правила. Ниже описаны ключевые элементы спецификации и примеры их использования.

Определение цели политики (target)

Каждая политика должна содержать блок target, в котором указывается, к каким нагрузкам она применяется:

target:
  policymode: Protect  # Возможные значения: Discover, Monitor, Protect.
  selector:
    name: group-name
    criteria:
      - key: service
        value: service-name
        op: "="
      - key: domain
        value: namespace
        op: "="

здесь:

  • criteria — это набор условий (критериев), по которым политика применяется к определённым объектам: подам, контейнерам, сервисам и т.д.
  • режимы политик:
    • Discover — наблюдение: записывать действия без ограничений.
    • Monitor — контроль: фиксировать нарушения, но разрешать трафик.
    • Protect — защита: активно блокировать нарушения.

Подробнее о режимах политик в разделе Описание

Сетевые правила

Сетевые правила определяют, какой входящий и исходящий трафик разрешён или запрещён:

ingress:
  - action: allow|deny
    name: rule-name
    selector:
      name: source-group
      criteria:
        - key: selector-key
          value: selector-value
          op: operator
    ports: "tcp/80,tcp/443"
    applications: ["HTTP", "SSL"]
    priority: 0

Поддерживаемые приложения: HTTP, SSL, PostgreSQL, Redis, SSH, Kafka, MongoDB, MySQL и другие.

Правила процессов

Определяют, какие процессы разрешены или запрещены к запуску:

process:
  - action: allow|deny
    name: process-name
    path: /path/to/process
    allow_update: true|false

Правила доступа к файлам

Ограничивают доступ к файлам и каталогам:

file:
  - behavior: monitor_change|block_access
    filter: /path/to/file/or/directory
    recursive: true|false
    app: ["allowed-applications"]

Профили процессов

Определяют базовые поведенческие шаблоны работы процессов:

process_profile:
  baseline: default|shield|basic|zero-drift
  mode: Discover|Monitor|Protect

Операторы селекторов

Для гибкой настройки политик селекторы поддерживают различные операторы:

Оператор Назначение Пример
= Точное совпадение value: "web-app"
!= Не равно value: "test"
contains Содержит подстроку value: "web"
prefix Начинается с value: "app-"
regex Регулярное выражение value: "^web-.*"
!regex Отрицательное регулярное value: "^(?!test).*"

Использование ссылок на группы

Если вы заранее определили группы в NvGroupDefinition, вы можете сослаться на них в политике:

selector:
  name: predefined-group
  name_referral: true
  # Условия criteria будут проигнорированы и загружены из NvGroupDefinition.

Соглашения по именованию

  • Используйте описательные имена правил: web-to-database-access.
  • Следуйте согласованному именованию групп: nv.service.namespace.
  • Избегайте зарезервированных префиксов: fed., nv.ip., host:, workload:.
  • Имена должны соответствовать шаблону: ^[a-zA-Z0-9]+[.:a-zA-Z0-9_-]*$.