Примеры использования политик безопасности

  1. Пример сетевой политики безопасности для веб-приложения, разрешающей входящие HTTP и HTTPS запросы, а также исходящий в postgresSQL:
apiVersion: neuvector.com/v1
kind: NvSecurityRule
metadata:
  name: web-app-security
  namespace: production
spec:
  target:
    policymode: Protect
    selector:
      name: nv.web-app.production
      criteria:
        - key: service
          value: web-app.production
          op: "="
        - key: domain
          value: production
          op: "="
  ingress:
    - action: allow
      name: allow-http
      selector:
        name: ingress-controller
        criteria:
          - key: service
            value: nginx-ingress
            op: "="
      ports: tcp/80,tcp/443
      applications:
        - HTTP
        - SSL
  egress:
    - action: allow
      name: allow-database
      selector:
        name: nv.database.production
        criteria:
          - key: service
            value: database.production
            op: "="
      ports: tcp/5432
      applications:
        - PostgreSQL
  1. Пример глобальной политики, запрещающей SSH-доступ ко всем контейнерам в кластере.
apiVersion: neuvector.com/v1
kind: NvClusterSecurityRule
metadata:
  name: global-ssh-restriction
  namespace: neuvector
spec:
  target:
    selector:
      name: containers
      criteria:
        - key: container
          value: "*"
          op: "="
  ingress:
    - action: deny
      name: deny-external-ssh
      selector:
        name: external
        criteria: []
      ports: tcp/22
      applications:
        - SSH
  process:
    - action: deny
      name: ssh
      path: /bin/ssh
  1. Пример политики, блокирующей развёртывание в системные пространства имён:
apiVersion: neuvector.com/v1
kind: NvAdmissionControlSecurityRule
metadata:
  name: local
  namespace: neuvector
spec:
  config:
    enable: true
    mode: protect
    client_mode: service
  rules:
    - action: deny
      criteria:
        - name: namespace
          op: containsAny
          path: namespace
          value: "kube-system,kube-public"
      comment: "Блокировка развертываний в системные пространства имен"
  1. Пример переиспользуемой группы, на данную группу можно будет ссылаться в политиках через target:
apiVersion: neuvector.com/v1
kind: NvGroupDefinition
metadata:
  name: production-web-services
  namespace: neuvector
spec:
  selector:
    name: nv.web-services.production
    comment: "Группа веб-сервисов production"
    criteria:
      - key: service
        value: web-services.production
        op: "="
      - key: domain
        value: production
        op: "="

Дополнительные ресурсы