כיצד ליצור TLS סודי ב- Kubernetes

Kyzd Lyzwr Tls Swdy B Kubernetes



Kubernetes הוא כלי קוד פתוח המשמש לביצוע וניהול היישום המכיל בתוך האשכול. הוא מבצע משימות שונות כדי לשלוט, להפעיל ולאבטח את האישורים של האפליקציה באמצעות סוד וכניסה.

Ingress משמש לניהול תעבורת אפליקציות נכנסת וגם לסיום SSL. לעומת זאת, סודות משמשים לאחסון מידע סודי ותעודות TLS ליישום.

פוסט זה ימחיש:







מהם סודות Kubernetes?

הסודות הם אחד ממשאבי Kubernetes, המשמשים לאחסון מידע סודי כגון אישורי כניסה למשתמש, מפתחות, אישורים או אסימונים. את הסודות ניתן ליצור בנפרד ולחבר לתרמילים. זה מונע מהמפתח לספק נתונים סודיים בקוד וגם מספק שכבת אבטחה נוספת. ניתן ליצור ולהשתמש בסודות מסוגים שונים. הסודות הנפוצים ביותר הם:



סוד כללי: הסודות הגנריים משמשים לאחסון מידע בסיסי כגון סיסמאות, אסימונים, מפתחות API, מפתחות OAuth וכן הלאה.



סוד TLS: סודות TLS משמשים לאחסון מפתחות ואישורים פרטיים החתומים על ידי ה-CA. כדי להבטיח את האבטחה של אפליקציות הפועלות בתוך Kubernetes ולאבטחת התקשורת בתוך האשכול, המשתמש צריך בדרך כלל ליצור ולהטמיע סודות TLS בפוד.





דוקר רישום: הוא משמש לאחסון אישור הרישום של docker כדי למשוך בקלות את התמונות מהרישום.

תנאי מוקדם: יצירת מפתח פרטי ואישור

כדי ליצור את האישור והמפתח הפרטי לשיפור האבטחה, השתמש ב-OpenSSL שיוצר את ה-CSR (בקשת חתימת אישורים) ואת המפתח הפרטי. לאחר מכן, השתמש ב-CSR כדי ליצור את אישורי החתימה העצמית או ה-CA.



כדי להשתמש בפקודות OpenSSL ב-Windows, המשתמשים נדרשים להתקין את Git. למטרה זו, עקוב אחר המקושר שלנו ' התקן git בווינדוס ' מאמר.

לאחר התקנת git, עקוב אחר ההוראות שלהלן כדי ליצור מפתח פרטי ואישור חתום.

שלב 1: הפעל את Git Bash Terminal

בצע חיפוש אחר ' גיט בש ' בתפריט התחל והפעל את הטרמינל:

כדי לבדוק את הספרייה הנוכחית השתמש ב' pwd ' פקודה:

pwd

כרגע, אנו עובדים בספריית %USERPROFILE%:

שלב 2: צור ספרייה חדשה

צור ספרייה חדשה כדי לשמור את האישורים והמפתח הפרטי:

mkdir תעודה

נווט אל הספרייה החדשה שנוצרה באמצעות ' CD ' פקודה:

CD תעודה

שלב 3: צור מפתח פרטי

כעת, צור את המפתח הפרטי באמצעות הפקודה הנתונה. כאן, המפתח הפרטי שנוצר יישמר ב' mycert.key ”:

openssl genpkey -אַלגוֹרִיתְם RSA -הַחוּצָה mycert.key

שלב 4: יצירת אחריות חברתית

כדי ליצור את ה-CSR (בקשת שירות אישורים) כדי לקבל אישור חתום, השתמש בפקודה הנתונה:

openssl req -חָדָשׁ -מַפְתֵחַ mycert.key -הַחוּצָה mycert.csr

שלב 5: צור אישור

לבסוף, באמצעות המפתח הפרטי וה-CSR שנוצרו, צור אישור ושמור אותו ב' mycert.crt 'קובץ. למטרה זו, בצע את הפקודה הבאה:

openssl x509 -דרישה mycert.csr -מפתח mycert.key -הַחוּצָה mycert.crt -ימים 365

לאחר הפקת אישורי ה-TLS, המשתמש יכול ליצור את ה-TLS הסודי על ידי ביצוע הסעיף שלהלן.

כיצד ליצור TLS סודי ב- Kubernetes?

כדי להבטיח את אבטחת היישום ותקשורת מאובטחת בתוך ומחוץ לאשכול Kubernetes, אישורי ה-TLS (Transport Layer Security) חיוניים המשמשים בהצפנת נתונים. סוד Kubernetes מאפשר לנו להטמיע את תעודת ה-TLS עם הפעלת פודים דרך TLS סודי. כדי ליצור TLS סודי ב-Kubernetes, עברו על ההוראות הבאות.

שלב 1: הפעל את Minikube Cluster

כדי להפעיל את אשכול ה-minikube, ראשית, הפעל את Windows PowerShell כמנהל מערכת. לאחר מכן, צור והפעל את האשכול באמצעות ' התחלה של מיניקוב ' פקודה:

התחלה של מיניקוב

שלב 2: קבל צמתים

גש לצומת Kubernetes כדי לבדוק אם האשכול מופעל או לא:

minikube לקבל צמתים

שלב 3: צור TLS סודי

צור את סוד ה-TLS ב-Kubernetes באמצעות ' kubectl צור סוד <סוג סודי> <שם סודי> –cert=<תעודת נתיב ל-tls> –מפתח=<נתיב למפתח פרטי> ' פקודה. כאן, הסוג הסודי יכול להיות ' גנרית ',' tls ', או ' docker-registry '. כדי ליצור סוד TLS, הגדרנו את סוג הסוד בתור 'tls':

kubectl צור סוד tls הדגמה סודית --cert =C:\Users\Dell\cert\mycert.crt --מַפְתֵחַ =C:\Users\Dell\cert\mycert.key

שלב 4: קבל סודות

לאישור, רשום את סוד Kubernetes באמצעות הפקודה הנתונה:

kubectl לקבל סוד

כאן, אתה יכול לראות שיצרנו ביעילות ' דמו-סוד ' זה מכיל ' 2 ' ערכי נתונים:

שלב 5: תאר סוד

כדי לראות כיצד נתונים נצפים או מאוחסנים בסוד, תאר את הסוד באמצעות ' kubectl תאר את הסוד <שם סודי> ' פקודה:

kubectl מתאר סוד דמו-סודי

אתה יכול לראות שערכים מאוחסנים בבתים ולא ניתן לצפות בהם ישירות בניגוד ל-Kubernetes ConfigMaps:

כיצד ליצור TLS סודי באמצעות קובץ Yaml?

כדי ליצור TLS סודי באמצעות קובץ yaml, ראשית, צור ' secret.yml ', הוסף את הקובץ אישור מקודד tls base64 בתוך ה ' tls.crt ' מקש, והוסף את מפתח מקודד base64 בתוך ה ' tls.key '.

להדגמה, בצע את השלבים המפורטים.

שלב 1: צור קובץ Yaml

צור קובץ בשם ' secret.yml ' והדבק את הקוד הנתון:

apiVersion : v1

נתונים
:

tls.crt
: 'אישור מקודד base64'

tls.key
: 'מפתח מקודד base64'

סוג
: סוֹד

מטא נתונים
:

שֵׁם
: mytls-סוד

מרחב שמות
: בְּרִירַת מֶחדָל

סוּג
: kubernetes.io/tls

בקטע הקוד שלמעלה, החלף את ערכי המפתח 'tls.crt' ו-'tls.key' בערכי המפתח והאישור המקוריים שלך:

שלב 2: צור סוד

כעת, החל את קובץ ה- yaml הסודי דרך ' kubectl apply -f ' פקודה:

kubectl להחיל secret.yml

הפלט מראה שיצרנו בהצלחה את ' mytls-סוד ' באמצעות קובץ yaml:

הערה: הצג את אישור TLS ומפתח פרטי

כדי להציג את האישור המקודד base64 ולהשתמש בו בקובץ yaml, הפעל את ' cat <נתיב לקובץ אישור> | base64 ' הפקודה בטרמינל git bash:

חתול mycert.crt | base64

על מנת להציג את המפתח המקודד base64, השתמש ב' cat <קובץ נתיב למפתח> | base64 ' פקודה:

חתול mycert.key | base64

כיצד להטמיע TLS סודי עם Kubernetes Pod?

לאחר יצירת ה-TSL הסודי, המשתמש יכול להטמיע אותו עם הפוד של Kubernetes. לשם כך, השתמש בהוראות הבאות.

שלב 1: צור קובץ Yaml

צור קובץ בשם ' pod.yml ' הקובץ והדבק את הקטע הבא בקובץ:

גירסת api: v1

סוג: תרמיל

מטא נתונים:

שם: הדגמה פוד

מפרט:

מיכלים:

- שם: html-cont

תמונה: rafia098 / html-img: 1.0

envFrom:

- Ref secret:

שם: דמו-סוד

בקטע שלמעלה:

  • ' סוג ' מפתח מציין את משאב Kubernetes שהמשתמש יוצר.
  • ' שֵׁם ' מקש יקבע את שם הפוד.
  • ' מיכלים ' מקש יאחסן את המידע על המכולה.
  • ' שֵׁם מקש ' מתחת למקש 'מכולות' יקבע את שם המיכל.
  • ' תמונה ' מקש יספק את היישום או תמונת המיכל ליצירת ולהפעיל את היישום בתוך המכולה.
  • ' envFrom ' מפתח יגדיר את משתנה הסביבה ממשאבי Kubernetes אחרים. הנה, כדי להטביע את ה-TLS הסודי בתרמיל, ' סודר ' משמש כדי לספק התייחסות סודית. כדי להטביע את ה-TLS הסודי לעיל, ציין את שם הסוד במפתח 'שם'.

שלב 2: צור או שדרג את הפוד

לאחר מכן, פתח את התיקיה שבה ' pod.yml נוצר קובץ:

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

החל את קובץ yaml כדי ליצור או להגדיר מחדש את התרמיל באמצעות ' kubectl להחיל ' פקודה:

kubectl להחיל pod.yml

שלב 3: גישה ל- Kubernetes Pods

לאימות, רשום למטה את הפודים של Kubernetes:

kubectl get pod

כאן, אתה יכול לראות שיצרנו את ' הדגמה פוד 'בהצלחה:

שלב 4: תאר את הפוד

כדי לבדוק אם הפוד הטמיע את ה-TLS הסודי או לא, תאר את הפוד באמצעות הפקודה הבאה:

kubectl תאר תרמיל הדגמה

הפלט שלהלן מראה שהטמענו בהצלחה את סוד ה-TLS עם הפוד:

סקרנו כיצד ליצור TLS סודי ולהטמיע אותו עם אפליקציית Kubernetes הפועלת בפוד.

סיכום

כדי ליצור את ה-TLS הסודי ב-Kubernetes, ראשית, צור את האישור החתום על ה-TLS והמפתח הפרטי. לאחר מכן, הפעל את אשכול Kubernetes והפעל את ' kubectl צור סוד <סוג סודי> <שם סודי> –cert=<תעודת נתיב ל-tls> –מפתח=<נתיב למפתח פרטי> ' פקודה. משתמשים יכולים גם ליצור את ה-TLS הסודי באמצעות מניפסט yaml. פוסט זה המחיש כיצד ליצור את ה-TLS הסודי וכיצד להטמיע את הסוד באמצעות אפליקציה או פוד פועלים.