Kubernetes میں خفیہ TLS کیسے بنائیں

Kubernetes My Khfy Tls Kys Bnayy



Kubernetes ایک اوپن سورس ٹول ہے جسے کلسٹر کے اندر کنٹینرائزڈ ایپلیکیشن کو چلانے اور اس کا انتظام کرنے کے لیے استعمال کیا جاتا ہے۔ یہ خفیہ اور داخلے کے ذریعے ایپلی کیشن کی اسناد کو کنٹرول کرنے، چلانے اور محفوظ کرنے کے لیے مختلف کام انجام دیتا ہے۔

Ingress کا استعمال ایپلیکیشن آنے والی ٹریفک کو منظم کرنے اور SSL ختم کرنے کے لیے بھی کیا جاتا ہے۔ اس کے برعکس، راز کو خفیہ معلومات اور درخواست کے لیے TLS سرٹیفکیٹس کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے۔

یہ پوسٹ وضاحت کرے گی:







کبرنیٹس کے راز کیا ہیں؟

The Secrets Kubernetes کے وسائل میں سے ایک ہیں، جو خفیہ معلومات کو ذخیرہ کرنے کے لیے استعمال ہوتے ہیں جیسے صارف کے لاگ ان کی اسناد، چابیاں، سرٹیفکیٹس، یا ٹوکن۔ رازوں کو انفرادی طور پر تخلیق کیا جا سکتا ہے اور پوڈ سے منسلک کیا جا سکتا ہے. یہ ڈویلپر کو کوڈ میں خفیہ ڈیٹا فراہم کرنے سے روکتا ہے اور سیکیورٹی کی ایک اضافی پرت بھی فراہم کرتا ہے۔ مختلف قسم کے راز بنائے اور استعمال کیے جاسکتے ہیں۔ سب سے زیادہ استعمال شدہ راز یہ ہیں:



عمومی راز: عام راز بنیادی معلومات جیسے پاس ورڈز، ٹوکنز، API کیز، OAuth کیز وغیرہ کو ذخیرہ کرنے کے لیے استعمال کیے جاتے ہیں۔



TLS راز: TLS راز نجی کلیدوں اور سرٹیفکیٹس کو ذخیرہ کرنے کے لیے استعمال کیے جاتے ہیں جن پر CA کے دستخط ہوتے ہیں۔ Kubernetes کے اندر چلنے والی ایپلی کیشنز کی حفاظت کو یقینی بنانے اور کلسٹر کے اندر مواصلات کو محفوظ بنانے کے لیے، صارف کو عام طور پر TLS راز بنانے اور پوڈ میں شامل کرنے کی ضرورت ہوتی ہے۔





ڈاکر رجسٹری: اسے رجسٹری سے تصاویر کو آسانی سے کھینچنے کے لیے ڈاکر رجسٹری کی سند کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے۔

شرط: پرائیویٹ کلید اور سرٹیفکیٹ تیار کریں۔

سیکیورٹی میں بہتری کے لیے سرٹیفکیٹ اور نجی کلید بنانے کے لیے، OpenSSL کا استعمال کریں جو CSR (سرٹیفکیٹ پر دستخط کرنے کی درخواست) اور نجی کلید تخلیق کرتا ہے۔ پھر، خود دستخط شدہ یا CA سرٹیفکیٹ بنانے کے لیے CSR کا استعمال کریں۔



ونڈوز پر اوپن ایس ایل کمانڈز کو استعمال کرنے کے لیے، صارفین کو گٹ انسٹال کرنے کی ضرورت ہے۔ اس مقصد کے لیے ہمارے لنک پر عمل کریں ' ونڈوز پر گٹ انسٹال کریں۔ 'مضمون.

گٹ انسٹال کرنے کے بعد، نجی کلید اور دستخط شدہ سرٹیفکیٹ بنانے کے لیے درج ذیل ہدایات پر عمل کریں۔

مرحلہ 1: گٹ باش ٹرمینل لانچ کریں۔

تلاش کریں ' گٹ باش اسٹارٹ مینو میں اور ٹرمینل لانچ کریں:

موجودہ ڈائریکٹری کو چیک کرنے کے لیے استعمال کریں ' پی ڈبلیو ڈی ' کمانڈ:

پی ڈبلیو ڈی

فی الحال، ہم %USERPROFILE% ڈائریکٹری میں کام کر رہے ہیں:

مرحلہ 2: نئی ڈائرکٹری بنائیں

سرٹیفکیٹس اور نجی کلید کو بچانے کے لیے ایک نئی ڈائرکٹری بنائیں:

mkdir سرٹیفکیٹ

'کا استعمال کرتے ہوئے نئی تخلیق کردہ ڈائریکٹری پر جائیں سی ڈی ' کمانڈ:

سی ڈی سرٹیفکیٹ

مرحلہ 3: نجی کلید بنائیں

اب، دی گئی کمانڈ کے ذریعے نجی کلید بنائیں۔ یہاں، پیدا کردہ نجی کلید کو 'میں محفوظ کیا جائے گا mycert.key ”:

openssl genpkey - الگورتھم آر ایس اے -باہر mycert.key

مرحلہ 4: CSR پیدا کریں۔

دستخط شدہ سرٹیفکیٹ حاصل کرنے کے لیے CSR (سرٹیفکیٹ سروس کی درخواست) تیار کرنے کے لیے، دی گئی کمانڈ کا استعمال کریں:

openssl req -نئی -چابی mycert.key -باہر mycert.csr

مرحلہ 5: سرٹیفکیٹ تیار کریں۔

آخر میں، پیدا کردہ نجی کلید اور CSR کا استعمال کرتے ہوئے، ایک سرٹیفکیٹ بنائیں اور اسے 'میں محفوظ کریں mycert.crt 'فائل. اس مقصد کے لیے درج ذیل کمانڈ پر عمل کریں:

اوپن ایس ایل ایکس 509 -req میں mycert.csr -سائنکی mycert.key -باہر mycert.crt -دن 365

TLS سرٹیفکیٹ تیار کرنے کے بعد، صارف مندرجہ ذیل سیکشن پر عمل کرکے خفیہ TLS بنا سکتا ہے۔

Kubernetes میں خفیہ TLS کیسے بنائیں؟

Kubernetes کلسٹر کے اندر اور باہر ایپلی کیشن کی حفاظت اور محفوظ مواصلات کو یقینی بنانے کے لیے، TLS (ٹرانسپورٹ لیئر سیکیورٹی) سرٹیفکیٹس ضروری ہیں جو ڈیٹا انکرپٹنگ میں استعمال ہوتے ہیں۔ Kubernetes راز ہمیں خفیہ TLS کے ذریعے چلنے والے پوڈز کے ساتھ TLS سرٹیفکیٹ کو سرایت کرنے کی اجازت دیتا ہے۔ Kubernetes میں خفیہ TLS بنانے کے لیے، درج ذیل ہدایات پر عمل کریں۔

مرحلہ 1: منی کیوب کلسٹر شروع کریں۔

منی کیوب کلسٹر شروع کرنے کے لیے، پہلے، ونڈوز پاور شیل کو بطور ایڈمنسٹریٹر لانچ کریں۔ اس کے بعد، 'کا استعمال کرتے ہوئے کلسٹر بنائیں اور چلائیں۔ minikube شروع ' کمانڈ:

minikube شروع

مرحلہ 2: نوڈس حاصل کریں۔

یہ چیک کرنے کے لیے Kubernetes نوڈ تک رسائی حاصل کریں کہ آیا کلسٹر شروع ہوا ہے یا نہیں:

minikube نوڈس حاصل کریں

مرحلہ 3: خفیہ TLS بنائیں

'کا استعمال کرتے ہوئے Kubernetes میں TLS راز بنائیں kubectl خفیہ بنائیں –cert= –key= ' کمانڈ. یہاں، خفیہ قسم ہو سکتی ہے ' عام '،' tls '، یا ' ڈاکر رجسٹری ' TLS راز بنانے کے لیے، ہم نے خفیہ قسم کو 'tls' کے طور پر سیٹ کیا ہے:

kubectl خفیہ tls ڈیمو سیکریٹ بنائیں --سرٹیفکیٹ =C:\Users\Dell\cert\mycert.crt --چابی =C:\Users\Dell\cert\mycert.key

مرحلہ 4: راز حاصل کریں۔

تصدیق کے لیے، دی گئی کمانڈ کا استعمال کرتے ہوئے Kubernetes کے راز کو درج کریں:

kubectl خفیہ حاصل کریں

یہاں، آپ دیکھ سکتے ہیں کہ ہم نے مؤثر طریقے سے ' ڈیمو خفیہ 'جس پر مشتمل ہے' 2 ڈیٹا کی قدریں:

مرحلہ 5: راز کی وضاحت کریں۔

یہ دیکھنے کے لیے کہ کس طرح ڈیٹا کو خفیہ طور پر دیکھا یا ذخیرہ کیا جاتا ہے، 'کا استعمال کرتے ہوئے راز کی وضاحت کریں۔ kubectl describe secret ' کمانڈ:

kubectl خفیہ ڈیمو راز کی وضاحت کرتا ہے۔

آپ دیکھ سکتے ہیں کہ اقدار بائٹس میں محفوظ ہیں اور کوبرنیٹس کنفیگ میپس کے برعکس براہ راست نہیں دیکھی جا سکتی ہیں۔

Yaml فائل کے ذریعے ایک خفیہ TLS کیسے بنایا جائے؟

yaml فائل کے ذریعے ایک خفیہ TLS بنانے کے لیے، پہلے ایک ' secret.yml 'فائل، شامل کریں tls base64 انکوڈ شدہ سرٹیفکیٹ میں ' tls.crt ' کلید ، اور شامل کریں۔ بیس 64 انکوڈ شدہ کلید میں ' tls.key '

مظاہرے کے لیے، درج کردہ مراحل پر عمل کریں۔

مرحلہ 1: Yaml فائل بنائیں

نام کی ایک فائل بنائیں secret.yml اور دیئے گئے کوڈ کو پیسٹ کریں:

apiVersion : v1

ڈیٹا
:

tls.crt
: 'بیس 64 انکوڈ شدہ سرٹیفکیٹ'

tls.key
: 'بیس 64 انکوڈ شدہ کلید'

قسم
: خفیہ

میٹا ڈیٹا
:

نام
: mytls-secret

نام کی جگہ
: پہلے سے طے شدہ

قسم
: kubernetes.io/tls

مندرجہ بالا ٹکڑوں میں، 'tls.crt' اور 'tls.key' کلیدی اقدار کو اپنے اصل سرٹیفکیٹ اور کلیدی اقدار سے تبدیل کریں:

مرحلہ 2: ایک راز بنائیں

اب، 'کے ذریعے خفیہ یامل فائل کو لاگو کریں kubectl apply -f ' کمانڈ:

kubectl لاگو کریں -f secret.yml

آؤٹ پٹ سے پتہ چلتا ہے کہ ہم نے کامیابی سے ' mytls-secret 'yaml فائل کا استعمال کرتے ہوئے:

نوٹ: TLS سرٹیفکیٹ اور پرائیویٹ کلید دیکھیں

بیس 64 انکوڈ شدہ سرٹیفکیٹ کو دیکھنے اور اسے یامل فائل میں استعمال کرنے کے لیے، 'چلائیں cat | base64 گٹ باش ٹرمینل میں کمانڈ:

کیٹ mycert.crt | base64

بیس 64 انکوڈ شدہ کلید کو دیکھنے کے لیے، استعمال کریں ' cat | base64 ' کمانڈ:

کیٹ mycert.key | base64

Kubernetes Pod کے ساتھ خفیہ TLS کو کیسے ایمبیڈ کیا جائے؟

خفیہ TSL بنانے کے بعد، صارف اسے Kubernetes پوڈ کے ساتھ ایمبیڈ کر سکتا ہے۔ ایسا کرنے کے لیے درج ذیل ہدایات کا استعمال کریں۔

مرحلہ 1: Yaml فائل بنائیں

ایک فائل بنائیں جس کا نام ' pod.yml فائل کو دبائیں اور نیچے کا ٹکڑا فائل میں پیسٹ کریں:

apiVersion: v1

قسم: پھلی

میٹا ڈیٹا:

نام: ڈیمو پوڈ

spec:

کنٹینرز:

- نام: html-cont

تصویر: rafia098 / html-img: 1.0

envFrom:

- secretRef:

نام: ڈیمو سیکریٹ

مندرجہ بالا ٹکڑوں میں:

  • ' قسم کلید Kubernetes وسائل کی وضاحت کرتی ہے جسے صارف بنا رہا ہے۔
  • ' نام ' کلید پوڈ کا نام ترتیب دے گی۔
  • ' کنٹینرز ' کلید کنٹینر کی معلومات کو محفوظ کرے گی۔
  • ' نام 'کنٹینرز' کلید کے نیچے کی کلید کنٹینر کا نام سیٹ کرے گی۔
  • ' تصویر ” کلید کنٹینر کے اندر ایپلیکیشن بنانے اور شروع کرنے کے لیے ایپلیکیشن یا کنٹینر امیج فراہم کرے گی۔
  • ' envFrom ” کلید دیگر Kubernetes وسائل سے ماحول کے متغیر کو سیٹ کرے گی۔ یہاں، پوڈ میں خفیہ TLS کو سرایت کرنے کے لیے، ' secretRef ایک خفیہ حوالہ فراہم کرنے کے لیے استعمال کیا جاتا ہے۔ مندرجہ بالا خفیہ TLS کو سرایت کرنے کے لیے، 'نام' کلید میں راز کا نام بتائیں۔

مرحلہ 2: پوڈ بنائیں یا اپ گریڈ کریں۔

اگلا، فولڈر کھولیں جہاں ' pod.yml فائل بنائی گئی ہے:

سی ڈی C:\Users\Dell\Documents\Kubernetes\Secret

'کا استعمال کرتے ہوئے پوڈ کو بنانے یا دوبارہ ترتیب دینے کے لئے yaml فائل کا اطلاق کریں۔ kubectl لاگو کریں ' کمانڈ:

kubectl لاگو کریں -f pod.yml

مرحلہ 3: Kubernetes Pods تک رسائی حاصل کریں۔

تصدیق کے لیے، Kubernetes pods کی فہرست بنائیں:

kubectl حاصل pod

یہاں، آپ دیکھ سکتے ہیں کہ ہم نے ' ڈیمو پوڈ ' کامیابی سے:

مرحلہ 4: پوڈ کی وضاحت کریں۔

یہ چیک کرنے کے لیے کہ آیا پوڈ نے خفیہ TLS کو سرایت کیا ہے یا نہیں، نیچے دی گئی کمانڈ کا استعمال کرتے ہوئے پوڈ کی وضاحت کریں:

kubectl پوڈ ڈیمو پوڈ کی وضاحت کرتا ہے۔

درج ذیل آؤٹ پٹ سے پتہ چلتا ہے کہ ہم نے پوڈ کے ساتھ TLS راز کو کامیابی کے ساتھ سرایت کر لیا ہے۔

ہم نے خفیہ TLS بنانے اور اسے پوڈ میں چلنے والی Kubernetes ایپلیکیشن کے ساتھ ایمبیڈ کرنے کا طریقہ بتایا ہے۔

نتیجہ

Kubernetes میں خفیہ TLS بنانے کے لیے، پہلے TLS پر دستخط شدہ سرٹیفکیٹ اور نجی کلید بنائیں۔ اس کے بعد، Kubernetes کلسٹر شروع کریں اور چلائیں ' kubectl خفیہ بنائیں –cert= –key= ' کمانڈ. صارفین yaml manifest کا استعمال کرتے ہوئے خفیہ TLS بھی بنا سکتے ہیں۔ اس پوسٹ میں واضح کیا گیا ہے کہ خفیہ TLS کیسے بنایا جائے اور چلتی ہوئی ایپلیکیشن یا پوڈ کے ساتھ راز کو کیسے سرایت کیا جائے۔