عام ڈوکر اور کبرنیٹس کی تنصیبات کی (گمشدہ) سیکیورٹی کو تلاش کرنا

عام ڈوکر اور کبرنیٹس کی تنصیبات کی (گمشدہ) سیکیورٹی کو تلاش کرنا
میں 20 سال سے زیادہ عرصے سے آئی ٹی میں کام کر رہا ہوں، لیکن کسی نہ کسی طرح میں کبھی کنٹینرز تک نہیں پہنچا۔ نظریہ میں، میں سمجھ گیا کہ ان کی ساخت کیسے تھی اور وہ کیسے کام کرتے تھے۔ لیکن چونکہ میں نے عملی طور پر کبھی ان کا سامنا نہیں کیا تھا، مجھے یقین نہیں تھا کہ ان کے ہڈ کے نیچے والے گیئرز بالکل کیسے مڑے اور کیسے مڑے۔

اس کے علاوہ، مجھے کوئی اندازہ نہیں تھا کہ ان کی سیکیورٹی کیسی ہے۔ لیکن ایک بار پھر، تھیوری اچھی لگتی ہے، اور پرانا گانا "جیسے جیسے سیکیورٹی بڑھتا ہے، استعمال میں کمی آتی ہے" میرے سر میں پھنس گیا۔ تو میں نے سوچا کہ چونکہ کنٹینرز کے ساتھ سب کچھ کرنا بہت آسان ہے، تو وہاں کی حفاظت برابر ہے۔ جیسا کہ یہ پتہ چلتا ہے، میں صحیح تھا.

جلدی شروع کرنے کے لیے، میں نے کورسز کے لیے سائن اپ کیا۔ بلیک ہیٹ 2020 کے عنوان سے "چیتھڑوں سے دولت تک: ڈوکر سوارم اور کبرنیٹس کے ماحول کی رسائی اور تحفظ'.

شیلا اے برٹا اور سول اوزان کی طرف سے سکھایا جانے والا کورس، فوری طور پر اس تفصیل کے ساتھ شروع ہوا کہ ڈوکر کنٹینرز کیسے کام کرتے ہیں اور کبرنیٹس میں تعینات ہونے پر وہ کیا سفر کرتے ہیں۔ یہ مکمل طور پر ہینڈ آن کلاس تھی - طلباء کو کلاس سے پہلے اپنی مشینوں پر Docker اور microk8s انسٹال کرنا پڑتا تھا - یہ دیکھنے کا ایک بہترین طریقہ کہ ٹولز کس طرح ایک دوسرے کے ساتھ تعامل کرتے ہیں، کمزور پوائنٹس تلاش کرتے ہیں اور، سب سے اہم بات، انہیں بلاک کرنے کی کوشش کرتے ہیں۔

بدقسمتی سے، اگرچہ کورسز نے دو دن بعد "شہزادہ" بننے کا وعدہ کیا تھا، لیکن میں نے محسوس کیا کہ سب کچھ ابھی شروع ہوا ہے، اور مجھے ابھی بھی بہت کچھ سیکھنا ہے۔

عام ڈوکر اور کبرنیٹس کی تنصیبات کی (گمشدہ) سیکیورٹی کو تلاش کرنا

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

ذیل میں سرخ اور نیلی ٹیم کے نقطہ نظر سے میرے کچھ نتائج ہیں۔

ریڈ ٹیم

زیادہ تر کنٹینر کا مواد جڑ کے طور پر چلتا ہے۔: اس کا مطلب ہے کہ اگر کنٹینر سے سمجھوتہ کیا جاتا ہے، تو آپ کو کنٹینر تک مکمل رسائی حاصل ہوگی۔ یہ اگلے اقدامات کو بہت آسان بنا دیتا ہے۔

کنٹینر کے اندر ڈوکر ساک لگانا خطرناک ہے۔: اگر آپ کی جڑ کسی کنٹینر کے اندر ہے اور آپ نے ڈوکر کو کسی کنٹینر کے اندر بھی انسٹال کیا ہے جس میں Docker ساکٹ (/var/run/docker.sock) ہے، تو آپ کے پاس کسی دوسرے کنٹینر تک رسائی سمیت پورے کلسٹر کو تلاش کرنے کی صلاحیت ہے۔ نیٹ ورک کی تنہائی یا دیگر ذرائع سے اس طرح کی رسائی کو روکا نہیں جا سکتا۔

ماحولیاتی متغیرات میں اکثر خفیہ ڈیٹا ہوتا ہے۔: زیادہ تر معاملات میں، لوگ عام ماحول کے متغیرات کا استعمال کرتے ہوئے کنٹینر کو پاس ورڈ بھیجتے ہیں۔ لہذا اگر آپ کو اکاؤنٹ تک رسائی حاصل ہے، تو آپ بعد میں اپنے اختیارات کو بڑھانے کے لیے ان ماحولیاتی متغیرات کی جاسوسی کر سکتے ہیں۔

Docker API بہت ساری معلومات دے سکتا ہے۔: Docker API، جب بطور ڈیفالٹ کنفیگر ہوتا ہے، اجازت کے بغیر چلتا ہے اور بہت ساری معلومات پیدا کر سکتا ہے۔ شوڈان کا استعمال کرتے ہوئے، آپ آسانی سے کھلی بندرگاہوں کی فہرست تلاش کر سکتے ہیں، پھر کلسٹر کے بارے میں تفصیلی معلومات حاصل کر سکتے ہیں - اور اس کی مکمل گرفتاری کے لیے آگے بڑھیں۔ TrendMicro نے اس کے بارے میں لکھا سب سے دلچسپ مضمون.

بلیو ٹیم

کنٹینر کے مواد کو جڑ کے طور پر نہ چلائیں۔: اگرچہ جڑ کے طور پر چلانا آسان ہے، آپ کو ایسا نہیں کرنا چاہیے۔ اس کے بجائے، یو آئی ڈی کو دکھا کر ری سیٹ کی اجازت کے ساتھ ایپلیکیشنز چلائیں، یا تو CLI سے چلتے وقت --user آپشن کا استعمال کریں، یا Dockerfile میں USER کی وضاحت کر کے۔

سافٹ ویئر کو کنٹینرز میں انسٹال کرنے کی اجازت نہ دیں۔: تقریباً ہر حملہ کچھ نہ کچھ لگانے سے شروع ہوتا ہے۔ nmap سے ifconfig تک خود ڈوکر تک (کنٹینر کے اندر)، کنٹینر میں کچھ بھی انسٹال کرنا عام بات ہے۔ اسی وجہ سے، آپ کو ہمیشہ تمام غیر استعمال شدہ بندرگاہوں کو بلاک کرنا چاہیے۔ یہ آپ کی مشین کے متاثر ہونے پر کنٹرول کمانڈز کو منتقل ہونے سے روکنے میں بھی مدد کرتا ہے۔ پروگراموں کی تنصیب کو روکنے کے علاوہ، یہ یقینی بنانا ضروری ہے کہ کام کو مکمل کرنے کے لیے درکار ایپلی کیشنز کی کم از کم تعداد کنٹینر میں ہی انسٹال ہو۔

docker.sock کی حفاظت کریں۔: اسے محفوظ کیا جانا چاہیے کیونکہ کنٹینر اور کلسٹر کے درمیان مواصلات اس ساکٹ کے ذریعے عمل میں آتے ہیں۔ چونکہ میں اس مضمون کی تفصیل میں نہیں جانا چاہتا، پڑھ لیں۔ ڈاکر سے نوٹ، کیا ہو سکتا ہے، اور یہ بھی کہ یہ سب کیسے بلاک کیا جائے۔

ماحولیاتی متغیرات کے بجائے ڈوکر راز استعمال کریں۔: راز ہیں۔ تقریباً 2017 سے. اگرچہ یہ محفوظ نہیں ہے، یہ اب بھی کنٹینر میں خفیہ ڈیٹا منتقل کرنے کے لیے ماحولیاتی متغیرات سے بہتر ہے۔

اگر مضمون نے کنٹینرز میں آپ کی دلچسپی پیدا کردی ہے، تو آپ آسانی سے Docker یا microk8s (Kubernetes کا ایک چھوٹا ورژن) انسٹال کر سکتے ہیں۔ یہاں لینکس اور میک او ایس کے لیے ڈوکر انسٹال کرنے کے لیے ہدایات موجود ہیں۔ یہاں - ونڈوز، لینکس اور میک او ایس کے لیے مائیکرو کے 8 انسٹال کرنے کے لیے ہدایات۔

تنصیب کے بعد آپ جا سکتے ہیں۔ یہ ایک فوری آغاز گائیڈ ہے۔ ڈوکر سے، اسی طرح کا آپشن پیشکش کی اور microk8s کے لیے۔

اگر آپ Docker پر ایک جامع کورس کرنا چاہتے ہیں یا اس کی ضرورت ہے، جس میں عملی مقررین اس کے تمام ٹولز کا جائزہ لیتے ہیں: بنیادی تجرید سے لے کر نیٹ ورک کے پیرامیٹرز تک، مختلف آپریٹنگ سسٹمز اور پروگرامنگ زبانوں کے ساتھ کام کرنے کی باریکیاں، پھر کوشش کریں "ڈوکر ویڈیو کورس" آپ ٹیکنالوجی سے واقف ہو جائیں گے اور سمجھ جائیں گے کہ Docker کو کہاں اور کس طرح استعمال کرنا ہے۔ اور اس کے ساتھ ساتھ، بہترین پریکٹس کیسز حاصل کریں - ذاتی طور پر ریک والے ہینڈلز کے بجائے حفاظت کے ساتھ اور پریکٹیشنرز کی مدد سے ریک کے بارے میں کہانیوں سے سیکھنا بہتر ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں