RBAC et Securite 22 min de lecture

NetworkPolicies et securite reseau

NetworkPolicies

Les NetworkPolicies controlent le trafic reseau entre les Pods.

Par defaut

Sans NetworkPolicy, tous les Pods peuvent communiquer entre eux.

Deny All (default deny)

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

Allow Ingress depuis un namespace

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-from-frontend
spec:
  podSelector:
    matchLabels:
      app: backend
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - protocol: TCP
      port: 8080

Allow Egress vers une IP

spec:
  podSelector:
    matchLabels:
      app: myapp
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: 10.0.0.0/24
    ports:
    - protocol: TCP
      port: 5432

Allow DNS

egress:
- to:
  - namespaceSelector:
      matchLabels:
        name: kube-system
  ports:
  - protocol: UDP
    port: 53

Bonnes pratiques de securite

  • Activez RBAC sur tous les clusters
  • Utilisez des ServiceAccounts dedies par application
  • Implementez des NetworkPolicies (default deny)
  • Scannez les images pour les vulnerabilites
  • Activez Pod Security Standards
  • Chiffrez les Secrets at-rest dans etcd
  • Utilisez des outils comme OPA/Gatekeeper pour les policies
Production : Commencez par un default deny NetworkPolicy, puis autorisez uniquement le trafic necessaire.