Назад к вопросам
Middle+
69
questionbank

Какие практики вы знаете для повышения безопасности приложения в Kubernetes?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • Использование Network Policies для контроля трафика между подами.
  • Применение Resource Quotas и Limit Ranges для ограничения потребления ресурсов подами.
  • Отключение привилегированного режима для контейнеров.
  • Минимизация прав, выдаваемых Service Accounts.
  • Использование secrets для хранения чувствительных данных.
  • Регулярное сканирование образов контейнеров на уязвимости.
  • Применение Security Context Constraints (SCC) в OpenShift или Pod Security Policies (PSP) (устарели) / Pod Security Standards в чистом Kubernetes.
  • Использование инструментов для аудита кластера, таких как Kubesec или OpenSCAP.
  • Внедрение принципа наименьших привилегий на уровне кластера и приложений.
  • Сегментация подов и пространств имен.
  • Использование Immutability для развертываний.

Пример использования Network Policy:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-to-backend
spec:
  podSelector:
    matchLabels:
      app: backend # Применяется только к подам с этим лейблом
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend # Разрешает входящий трафик только от подов frontend
    ports:
    - protocol: TCP
      port: 8080 # Разрешает трафик только на этот порт

Пример использования Security Context:

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000 # Запускать контейнер от пользователя с ID 1000
    runAsGroup: 3000 # Запускать контейнер от группы с ID 3000
    fsGroup: 2000 # Файловая система будет принадлежать к группе 2000
  containers:
  - name: sec-ctx-demo
    image: busybox
    command: [ "sh", "-c", "sleep 1h" ]
    securityContext:
      allowPrivilegeEscalation: false # Запретить повышение привилегий
      readOnlyRootFilesystem: true # Сделать корневую файловую систему только для чтения