Biztonságos kommunikáció tanúsítványokkal

A tanúsítványokkal biztonságos kommunikációt építhet ki a fürtön belül található összetevők között. Az AKS on Azure Stack HCI a Kubernetes beépített összetevőihez a tanúsítványok érintés nélkül, beépített kiépítése és kezelése biztosított.

Tanúsítványok és hitelesítés hitelesítést

A Azure Stack HCI AKS a következő tanúsítványokat és hitelesítéscímeket hozza létre és használja:

Fürt hitelesítésszolgáltatója:

  • Az API-kiszolgáló fürt-hitelesítésszolgáltatóval rendelkezik, amely tanúsítványokat aláír az API-kiszolgáló és a közötti egyútos kubelet kommunikációhoz.
  • Mindegyik létrehoz egy tanúsítvány-aláírási kérelmet (CSR), amelyet a fürt hitelesítésszolgáltatója írt alá a kubelet és az kubelet API-kiszolgáló közötti kommunikációhoz.
  • Az etcd kulcs értéktárolója rendelkezik egy, a fürt hitelesítésszolgáltatója által aláírt tanúsítvánnyal az stb. és az API-kiszolgáló közötti kommunikációhoz.

etcd CA:

  • Az etcd kulcsérték-tároló stb. hitelesítésszolgáltatóval rendelkezik, amely tanúsítványokat aláír a fürt stb. replikái közötti adatreplikáció hitelesítéséhez és hitelesítéséhez.

Előlapi proxy hitelesítésszolgáltatója

  • Az előoldali proxy hitelesítésszolgáltatója biztonságossá teszi az API-kiszolgáló és a bővítmény API-kiszolgálója közötti kommunikációt.

Tanúsítvány kiépítése

A kubelets tanúsítványának kiépítése TLS-rendszerindítással történik. Minden más tanúsítványhoz HASZNÁLJON YAML-alapú kulcsot és tanúsítvány-létrehozást.

  • A tanúsítványok tárolása a következő webhelyen található: /etc/kubernetes/pki
  • A kulcsok: RSA 4096, EcdsaCurve: P384

Megjegyzés

A főtanúsítványok 10 évig érvényesek. Minden más nem főtanúsítvány rövid életű, és négy napig érvényes.

Tanúsítvány megújítása és kezelése

A nem főtanúsítványok automatikusan megújulnak. A Kubernetes összes vezérlősík-tanúsítványát kezeli a rendszer, kivéve a következő tanúsítványokat:

  • Kubelet-kiszolgáló tanúsítványa
  • Kubeconfig-ügyfél tanúsítványa

Ajánlott biztonsági eljárásként ajánlott Active Directory egyszeri bejelentkezést használni a felhasználói hitelesítéshez.

Tanúsítvány visszavonása

A visszavonásnak ritka incidensnek kell lennie, és a tanúsítvány megújításakor kell alkalmazni.

Ha már rendelkezik a visszavonni szükséges tanúsítvány sorozatszámát, használja a Kubernetes egyéni erőforrást a visszavonási információk meghatározásához és megőrzéséhez. Minden visszavonási objektum egy vagy több visszavonási bejegyzésből állhat.

A visszavonás a következővel hajtható végre:

  • Sorozatszám
  • Group
  • DNS-név
  • IP-cím

A notBefore időpontban meg lehet adni, hogy csak egy adott időbélyeg előtt kibocsátott tanúsítványokat vonja vissza. Ha nincs megadva idő, a visszavonásnak megfelelő összes meglévő és jövőbeli tanúsítvány vissza lesz vonva.

Megjegyzés

A kiszolgálói tanúsítvány kubelet visszavonása jelenleg nem érhető el.

Ha a visszavonást sorozatszámmal hajtották végre, az alább leírt PowerShell-paranccsal működő állapotba használhatja Repair-AksHciClusterCerts a fürtöt. Ha a visszavonást más mezők használatával hajtották végre, ügyeljen arra, hogy a notBefore (időpont) értéket adja meg, hogy a paranccsal helyreállítsa a fürtöt.

apiVersion: certificates.microsoft.com/v1 
kind: RenewRevocation 
metadata: 
  name: my-renew-revocation 
  namespace: kube-system 
spec: 
  description: My list of renew revocations 
  revocations: 
  - description: Revoked certificates by serial number 
    kind: serialnumber 
    notBefore: "2020-04-17T17:22:05Z" 
    serialNumber: 77fdf4b1033b387aaace6ce1c18710c2 
  - description: Revoked certificates by group 
    group: system:nodes 
    kind: Group 
  - description: Revoked certificates by DNS 
    dns: kubernetes.default.svc. 
    kind: DNS 
  - description: Revoked certificates by DNS Suffix 
    dns: .cluster.local 
    kind: DNS 
  - description: Revoked certificates by IP 
    ip: 170.63.128.124 
    kind: IP 

Hibaelhárítás és karbantartás

A naplózással és monitorozással kapcsolatban tekintse meg az alábbi szkripteket és dokumentációt:

Munkavégző csomópontok tanúsítványának megújítása

A munkavégző csomópontok sikertelen tanúsítvány-megújítását a tanúsítvány-megújítási-feldolgozó pod naplózza. Ha a tanúsítvány megújítása továbbra is sikertelen egy munkavégző csomóponton, és a tanúsítványok lejárnak, a csomópont el lesz távolítva, és egy új munkavégző csomópont jön létre a helyén.

Az alábbi példa a certificate-renewal-workerelőtaggal megtekinti a pod naplóit:

kubectl.exe --kubeconfig .\testcluster-kubeconfig -n=kube-system get pods 
NAME                                           READY   STATUS             RESTARTS   AGE 
… 
certificate-renewal-worker-6f68k               1/1     Running            0          6d 

A naplók lekérésekor a tanúsítvány megújítási podját:

kubectl.exe --kubeconfig .\testcluster-kubeconfig -n=kube-system logs certificate-renewal-worker-6f68k

Vezérlősík-csomópontok tanúsítványának megújítása

A vezérlősík-csomópontok esetén a sikertelen tanúsítvány-megújításokat a tanúsítvány-megújítás-vezérlő pod naplózza. Ha a tanúsítványok lejárnak egy vezérlősík-csomóponton, előfordulhat, hogy más csomópontok végül elérhetetlenné válnak. Ha az összes vezérlősík-csomópont ebbe az állapotba lép, a fürt TLS-hiba miatt működésképtelenné válik. A használatával ellenőrizheti, hogy a fürt belépt-e ebbe az állapotba, majd ellenőrizze, hogy a kapcsolat meghiúsult-e, ha lejárt kubectl x509-tanúsítványokkal kapcsolatos hibaüzenet jelenik meg.

Az alábbi példa a certificate-renewal-controllerelőtaggal megtekinti a pod naplóit:

kubectl.exe --kubeconfig .\testcluster-kubeconfig -n=kube-system get pods 
NAME                                           READY   STATUS             RESTARTS   AGE 
… 
certificate-renewal-controller-2cdmz               1/1     Running            0          6d 

A naplók lekérésekor a tanúsítvány megújítási podját:

kubectl.exe --kubeconfig .\testcluster-kubeconfig -n=kube-system logs certificate-renewal-controller-2cdmz

A vezérlősík csomópontjai nem újra létrehozhatóak munkavégző csomópontokként, de a Repair-AksHciClusterCerts modullal javíthatja a lejárt tanúsítványokkal kapcsolatos hibákat. Ha a fürt a lejárt tanúsítványok miatt kezd meghiúsulni, futtassa a parancsot az alábbi módon:

Repair-AksHciClusterCerts -Name mytargetcluster 

Ha a fürt a segítségével elérhetetlenné válik, a naplók a mappában kubectl/var/log/pods találhatók.

Következő lépések

Ebben az útmutatóban megtanulta, hogyan lehet tanúsítványokat kiépítni és kezelni. A következő lépés a következő: