Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Kubernetes Network Policies — mikrosegmentace v clusteru

19. 07. 2017 1 min čtení CORE SYSTEMSinfrastructure

Ve výchozím stavu může v Kubernetes každý pod komunikovat s každým jiným podem. To je z bezpečnostního hlediska nepřijatelné. Network Policies umožňují definovat, kdo s kým smí mluvit.

Proč výchozí stav nestačí

Představte si: máte v clusteru produkční databázi a vývojový workload. Ve výchozím stavu může vývojářův experimentální pod přímo přistoupit k produkční databázi. Stačí znát IP adresu nebo DNS jméno služby.

Předpoklad: CNI plugin s podporou Network Policies

Ne každý CNI plugin Network Policies podporuje. Flannel — ne. Calico — ano. Weave — ano. Cilium — ano. My používáme Calico, které kromě standardních Network Policies nabízí i rozšířené GlobalNetworkPolicy.

Příklad: izolace databáze

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: db-allow-only-api
  namespace: production
spec:
  podSelector:
    matchLabels:
      app: postgresql
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: api-server
    ports:
    - protocol: TCP
      port: 5432

Strategie: default deny

Doporučujeme začít s default deny politikou v každém namespace a pak explicitně povolovat potřebnou komunikaci. Je to víc práce na začátku, ale dramaticky lepší bezpečnostní postoj.

Praktické tipy

  • Nezapomeňte povolit DNS (port 53) v egress pravidlech
  • Labely jsou základ — konzistentní labeling strategie je nutnost
  • Testujte politiky v dev prostředí před nasazením do produkce
  • Calico má výborný calicoctl pro debugging síťových pravidel
  • Vizualizace: Weave Scope nebo Calico Enterprise pro grafický přehled

Network Policies jsou základ zero trust v Kubernetes

Síťová izolace v clusteru není nice-to-have, je to nutnost. S Network Policies implementujete princip least privilege na síťové úrovni a dramaticky snížíte blast radius případného kompromitování.

kubernetesnetwork policiescalicosecurity