Kubernetes intern CA

Når FoxIDs er deployed i Kubernetes og udgående trafik er routed gennem en proxy der terminerer TLS og genudsteder certifikater fra en intern root CA, skal FoxIDs containere have tillid til den root CA.

Denne konfiguration gælder kun for udgående HTTPS trafik fra FoxIDs og FoxIDs Control pods, såsom kald til eksterne services gennem proxyen. Den påvirker ikke hvordan indgående TLS trafik termineres.

Trinene nedenfor beskriver den enkleste konfiguration, som ikke kræver nogen ændringer af container images.

1) Opret en bundle fil (PEM) der indeholder de interne roots

Hvis du allerede har en kombineret bundle, så brug den. Ellers sammensæt de interne root certifikater til én PEM fil og opret en ConfigMap:

cat root1.crt root2.crt root3.crt > extra-roots.pem
kubectl -n <foxids-namespace> create configmap foxids-extra-ca --from-file=extra-roots.pem

(Brug en Secret i stedet for en ConfigMap hvis roots er private.)

2) Mount bundlen og sæt SSL_CERT_FILE i begge deployments

Opdater Kubernetes/k8s-foxids-deployment.yaml og tilføj volume, mount og environment variable i begge deployments.

FoxIDs deployment:

spec:
  template:
    spec:
      volumes:
        - name: extra-ca
          configMap:
            name: foxids-extra-ca
            items:
              - key: extra-roots.pem
                path: extra-roots.pem
      containers:
        - name: foxids
          volumeMounts:
            - name: extra-ca
              mountPath: /etc/ssl/certs/extra-roots.pem
              subPath: extra-roots.pem
          env:
            - name: SSL_CERT_FILE
              value: /etc/ssl/certs/extra-roots.pem

FoxIDs Control deployment:

spec:
  template:
    spec:
      volumes:
        - name: extra-ca
          configMap:
            name: foxids-extra-ca
            items:
              - key: extra-roots.pem
                path: extra-roots.pem
      containers:
        - name: foxids-control
          volumeMounts:
            - name: extra-ca
              mountPath: /etc/ssl/certs/extra-roots.pem
              subPath: extra-roots.pem
          env:
            - name: SSL_CERT_FILE
              value: /etc/ssl/certs/extra-roots.pem

Vigtige bemærkninger for .NET / ASP.NET

Hvis containerne skal tilgå offentlige services, kan brug af en CA bundle der kun indeholder private root certifikater bryde disse kald, fordi den erstatter den standard system trust store.

I så fald bør du enten:

  • Oprette en kombineret CA bundle der inkluderer både offentlige og private root certifikater og mounte den (anbefalet).
  • Udvide system trust store inde i container image i stedet for at bruge SSL_CERT_FILE.

Sådan opretter du en kombineret bundle (offentlig + privat)

Den sikreste tilgang er at beholde den eksisterende offentlige trust store og tilføje dine interne root certifikater. Start med den offentlige CA bundle fra FoxIDs container base image, tilføj dine interne roots, og mount den resulterende kombinerede bundle med SSL_CERT_FILE.

Eksempel (stien kan variere afhængigt af base image; verificer den i din container):

cat /etc/ssl/certs/ca-certificates.crt extra-roots.pem > combined-roots.pem
kubectl -n <foxids-namespace> create configmap foxids-extra-ca --from-file=combined-roots.pem

Brug samme volume mount og SSL_CERT_FILE konfiguration som beskrevet i trin 2, men peg den til combined-roots.pem.

Dit privatliv

Vi bruger cookies til at gøre din oplevelse på vores websites bedre. Klik på 'Acceptér alle cookies' for at acceptere brugen af cookies. For at fravælge ikke-nødvendige cookies, klik på 'Kun nødvendige cookies'.

Besøg vores privatlivspolitik for mere