Titkos TLS létrehozása a Kubernetesben

Titkos Tls Letrehozasa A Kubernetesben



A Kubernetes egy nyílt forráskódú eszköz, amelyet a fürtön belüli konténeres alkalmazások végrehajtására és kezelésére használnak. Különféle feladatokat hajt végre az alkalmazás hitelesítő adatainak ellenőrzésére, futtatására és biztonságára titkos és behatolás útján.

Az Ingress az alkalmazások bejövő forgalmának kezelésére és az SSL leállítására is szolgál. Ezzel szemben a titkokat bizalmas információk és TLS-tanúsítványok tárolására használják az alkalmazásokhoz.

Ez a bejegyzés illusztrálja:







Mik a Kubernetes titkai?

A Titkok a Kubernetes egyik erőforrása, amelyet bizalmas információk, például felhasználói bejelentkezési adatok, kulcsok, tanúsítványok vagy tokenek tárolására használnak. A titkok egyénileg is létrehozhatók, és hüvelyekhez kapcsolhatók. Megakadályozza, hogy a fejlesztő bizalmas adatokat adjon meg kódban, és egy extra biztonsági réteget is biztosít. Különféle titkok hozhatók létre és használhatók fel. A leggyakrabban használt titkok a következők:



Általános titok: Az általános titkokat alapvető információk, például jelszavak, tokenek, API-kulcsok, OAuth-kulcsok és így tovább tárolására használják.



TLS titkos: A TLS-titkok a hitelesítésszolgáltató által aláírt privát kulcsok és tanúsítványok tárolására szolgálnak. A Kubernetesen belül futó alkalmazások biztonságának és a fürtön belüli kommunikáció biztonságának biztosítása érdekében a felhasználónak általában létre kell hoznia és be kell ágyaznia TLS-titkokat a podba.





Docker Registry: A docker rendszerleíró adatbázis hitelesítő adatainak tárolására szolgál, hogy könnyen lehívhassa a képeket a rendszerleíró adatbázisból.

Előfeltétel: Privát kulcs és tanúsítvány generálása

A biztonság javítása érdekében a tanúsítvány és a privát kulcs létrehozásához használja az OpenSSL-t, amely létrehozza a CSR-t (tanúsítvány-aláíró kérést) és a privát kulcsot. Ezután használja a CSR-t az önaláírt vagy CA-tanúsítványok létrehozásához.



Az OpenSSL-parancsok Windows rendszeren való használatához a felhasználóknak telepíteniük kell a Git-et. Ebből a célból kövesse a linkelt ' Telepítse a git-et Windowsra ” cikk.

A git telepítése után kövesse az alábbi utasításokat a privát kulcs és az aláírt tanúsítvány létrehozásához.

1. lépés: Indítsa el a Git Bash terminált

Keressen a ' Git Bash ” a Start menüben, és indítsa el a terminált:

Az aktuális könyvtár ellenőrzéséhez használja a ' pwd 'parancs:

pwd

Jelenleg a %USERPROFILE% könyvtárban dolgozunk:

2. lépés: Hozzon létre új könyvtárat

Hozzon létre egy új könyvtárat a tanúsítványok és a privát kulcs mentéséhez:

mkdir cert

Keresse meg az újonnan létrehozott könyvtárat a „ CD 'parancs:

CD cert

3. lépés: Privát kulcs létrehozása

Most állítsa elő a privát kulcsot a megadott paranccsal. Itt a generált privát kulcs a „ mycert.key ”:

openssl genpkey -algoritmus RSA -ki mycert.key

4. lépés: CSR létrehozása

A CSR (tanúsítványszolgáltatási kérelem) létrehozásához az aláírt tanúsítvány megszerzéséhez használja a megadott parancsot:

openssl req -új -kulcs mycert.key -ki mycert.csr

5. lépés: Tanúsítvány létrehozása

Végül a generált privát kulcs és CSR használatával hozzon létre egy tanúsítványt, és mentse el a „ mycert.crt ” fájlt. Ebből a célból hajtsa végre az alábbi parancsot:

openssl x509 -req -ban ben mycert.csr -jelkulcs mycert.key -ki mycert.crt -napok 365

A TLS-tanúsítványok létrehozása után a felhasználó létrehozhatja a titkos TLS-t az alábbi szakasz követésével.

Hogyan lehet titkos TLS-t létrehozni a Kubernetesben?

Az alkalmazások biztonságának és a biztonságos kommunikációnak a Kubernetes-fürtön belüli és kívüli biztosításához elengedhetetlenek a TLS (Transport Layer Security) tanúsítványok, amelyeket az adatok titkosításában használnak. A Kubernetes-titok lehetővé teszi, hogy a TLS-tanúsítványt titkos TLS-en keresztül beágyazzuk futó pod-okba. A Kubernetesben titkos TLS létrehozásához kövesse az alábbi utasításokat.

1. lépés: Indítsa el a Minikube Clustert

A minikube-fürt elindításához először indítsa el a Windows PowerShellt rendszergazdaként. Ezután hozza létre és futtassa a fürtöt a „ minikube start 'parancs:

minikube start

2. lépés: Szerezzen csomópontokat

Nyissa meg a Kubernetes csomópontot, és ellenőrizze, hogy a fürt elindult-e vagy sem:

minikube kap csomópontokat

3. lépés: Hozzon létre titkos TLS-t

Hozzon létre TLS-titkot a Kubernetesben a ' kubectl titkos létrehozása –cert=<útvonal a tls-tanúsítványhoz> –kulcs= ” parancsot. Itt a titkos típus lehet „ generikus ', ' tls ”, vagy „ dokkoló-nyilvántartás ”. A TLS-titok létrehozásához a titkos típust „tls”-ként állítottuk be:

kubectl secret tls demo-secret létrehozása -- Cert =C:\Users\Dell\cert\mycert.crt --kulcs =C:\Users\Dell\cert\mycert.key

4. lépés: Szerezze be a titkokat

A megerősítéshez írja le a Kubernetes titkát a megadott paranccsal:

kubectl kap titkot

Itt láthatja, hogy hatékonyan létrehoztunk egy „ demo-titok ', amely tartalmazza a ' 2 ” adatértékek:

5. lépés: Ismertesse a titkot

Az adatok titkosított megtekintésének vagy tárolásának megtekintéséhez írja le a titkot a „ kubectl írja le a titkos 'parancs:

kubectl írja le a titkos demo-titkot

Láthatja, hogy az értékek bájtokban vannak tárolva, és a Kubernetes ConfigMaps-szel ellentétben nem tekinthetők meg közvetlenül:

Hogyan lehet titkos TLS-t létrehozni a Yaml fájlon keresztül?

Ha titkos TLS-t szeretne létrehozni egy yaml fájlon keresztül, először hozzon létre egy „ titkos.yml ” fájlt, adja hozzá a tls base64 kódolt tanúsítvány ban,-ben ' tls.crt ” gombot, és adja hozzá a base64 kódolású kulcs ban,-ben ' tls.key ”.

A bemutatóhoz kövesse a felsorolt ​​lépéseket.

1. lépés: Hozzon létre Yaml fájlt

Hozzon létre egy fájlt ' titkos.yml ” és illessze be a megadott kódot:

apiVersion : v1

adat
:

tls.crt
: 'base64 kódolt tanúsítvány'

tls.key
: 'base64 kódolt kulcs'

kedves
: Titok

metaadatokat
:

név
: mytls-titok

névtér
: alapértelmezett

típus
: kubernetes.io/tls

A fenti kódrészletben cserélje ki a „tls.crt” és „tls.key” kulcsértékeket az eredeti tanúsítványra és kulcsértékekre:

2. lépés: Hozzon létre egy titkot

Most alkalmazza a titkos yaml fájlt a „ kubectl apply -f 'parancs:

kubectl alkalmazni -f titkos.yml

A kimenet azt mutatja, hogy sikeresen létrehoztuk a „ mytls-titok ” yaml fájl használatával:

Megjegyzés: Tekintse meg a TLS-tanúsítványt és a privát kulcsot

A base64 kódolású tanúsítvány megtekintéséhez és a yaml fájlban való használatához futtassa a „ cat | alap64 ” parancs a git bash terminálban:

macska mycert.crt | alap64

A base64 kódolású kulcs megtekintéséhez használja a „ cat | alap64 'parancs:

macska mycert.key | alap64

Hogyan ágyazható be a titkos TLS a Kubernetes Podba?

A titkos TSL létrehozása után a felhasználó beágyazhatja azt a Kubernetes podba. Ehhez kövesse az alábbi utasításokat.

1. lépés: Hozzon létre Yaml fájlt

Hozzon létre egy '' nevű fájlt pod.yml ” fájlt, és illessze be az alábbi részletet a fájlba:

apiVerzió: v1

fajta: hüvely

metaadatok:

név: demo-pod

specifikáció:

konténerek:

- név: html-cont

kép: rafia098 / html-img: 1.0

envFrom:

- SecretRef:

név: demo-titok

A fenti részletben:

  • ' kedves ” kulcs határozza meg a felhasználó által létrehozott Kubernetes-erőforrást.
  • ' név ” gomb beállítja a pod nevét.
  • ' konténerek ” gomb tárolja a tároló információit.
  • ' név ” gomb a „tárolók” gomb alatt beállítja a tároló nevét.
  • ' kép ” gomb biztosítja az alkalmazás vagy tároló képét az alkalmazás létrehozásához és elindításához a tárolóban.
  • ' envFrom ” gomb más Kubernetes-erőforrásokból állítja be a környezeti változót. Itt, hogy a titkos TLS-t egy podba ágyazza, ' titkosRef ” titkos hivatkozás biztosítására szolgál. A fenti titkos TLS beágyazásához adja meg a titok nevét a „name” kulcsban.

2. lépés: A Pod létrehozása vagy frissítése

Ezután nyissa meg azt a mappát, ahol a „ pod.yml ” fájl létrejön:

CD C:\Users\Dell\Documents\Kubernetes\Secret

Alkalmazza a yaml fájlt a pod létrehozásához vagy újrakonfigurálásához a „ kubectl alkalmazni 'parancs:

kubectl alkalmazni -f pod.yml

3. lépés: A Kubernetes Pods elérése

Az ellenőrzéshez sorolja fel a Kubernetes podokat:

kubectl get pod

Itt láthatja, hogy létrehoztuk a ' demo-pod ” sikeresen:

4. lépés: Ismertesse a tokot

Annak ellenőrzéséhez, hogy a pod beágyazta-e a titkos TLS-t vagy sem, írja le a pod az alábbi paranccsal:

kubectl írja le a pod demo-podot

Az alábbi kimenet azt mutatja, hogy sikeresen beágyaztuk a TLS-titkot a podba:

Bemutattuk, hogyan hozhat létre titkos TLS-t, és hogyan ágyazhatja be a podban futó Kubernetes alkalmazásba.

Következtetés

A titkos TLS létrehozásához a Kubernetesben először hozzon létre egy TLS aláírt tanúsítványt és privát kulcsot. Ezután indítsa el a Kubernetes-fürtöt, és futtassa a „ kubectl titkos létrehozása –cert=<útvonal a tls-tanúsítványhoz> –kulcs= ” parancsot. A felhasználók a titkos TLS-t a yaml manifest segítségével is létrehozhatják. Ez a bejegyzés bemutatja, hogyan hozható létre a titkos TLS, és hogyan ágyazható be a titok egy futó alkalmazásba vagy podba.