نحوه ایجاد یک راز Docker و استفاده از آن برای استقرار یک سرویس

0 0
Read Time:4 Minute, 0 Second

Docker Secrets راهی برای رمزگذاری مواردی مانند رمزهای عبور و گواهی‌ها در یک سرویس و کانتینر است. جک والن اصول اولیه ایجاد و استفاده از این ابزار امنیت محور را به شما نشان می دهد.

پاکت نامه با مهر محرمانه و کاغذهای خالی.
تصویر: elnavegante/Adobe Stock

در حوزه کانتینرها، اسرار دارایی هایی مانند کلیدهای SSH، گواهینامه های SSL و رمزهای عبور هستند که برای اتصال به سرویس هایی مانند حساب های ابری، API ها و سایر کانتینرها استفاده می شوند. از Secrets می توان برای مدیریت این داده های حساس مورد نیاز کانتینرها در زمان اجرا استفاده کرد. مشکل این است که شما نمی خواهید آن اسرار را در تصویر یا منبع خود ذخیره کنید، زیرا این امر می تواند منجر به مشکلات امنیتی جدی شود.

تصور کنید، اگر بخواهید، برخی از کاربران شرور به Docker Swarm شما هک می‌کنند و سپس آن رمزهای عبور یا گواهی‌ها را مشاهده می‌کنند تا به حساب‌های شما دسترسی پیدا کنند. که انجام نخواهد شد.

برای جلوگیری از چنین سناریویی، باید از اسرار استفاده کنید. به جای اینکه آن رمزهای عبور در کانتینرها و تصاویر ذخیره شوند، راز را با Docker ایجاد می‌کنید که رمزگذاری شده است، و سپس می‌توانید راز را به کانتینرهای خود منتقل کنید، بنابراین هرگز به عنوان متن ساده دیده نمی‌شوند. با این سیستم، استفاده از این اسرار علیه شما برای مجرمان سایبری دشوارتر است.

من به شما نشان خواهم داد که چگونه یک راز با Docker ایجاد کنید و سپس چگونه از آن برای استقرار یک سرویس Docker استفاده کنید.

دیدن: کیت استخدام: توسعه دهنده Back-end (TechRepublic Premium)

آنچه شما نیاز دارید

برای انجام این کار، به یک نمونه در حال اجرا از Docker نیاز دارید. فرقی نمی‌کند که یک نمونه در لینوکس، macOS یا ویندوز اجرا می‌شود یا یک کلاستر Docker Swarm کامل. این تمام چیزی است که شما نیاز دارید. بیایید رازهایی را به اشتراک بگذاریم.

چگونه یک راز ایجاد کنیم

اولین کاری که ما انجام خواهیم داد این است که راز خود را ایجاد کنیم. ما از دستور printf استفاده می کنیم و خروجی آن را به دستور docker لوله می کنیم تا یک مخفی به نام ایجاد کنیم my_test_secret. برای انجام این کار، وارد کنترلر Docker خود شوید و دستور زیر را صادر کنید:

printf "This is my super secret secret" | docker secret create my_test_secret -

با فهرست کردن تمام اسرار فعلی خود با دستور زیر می توانید بررسی کنید که آیا راز با موفقیت ایجاد شده است:

docker secret ls

شما باید یک لیست مانند این را ببینید:

ttx3h2zarswj4wxgum5heobfx   my_test_secret   4 seconds ago 4 seconds ago

نحوه ایجاد سرویسی که از راز استفاده می کند

کاری که اکنون انجام خواهیم داد این است که یک سرویس Redis ایجاد کنیم که به راز دسترسی کامل دارد. نکته خوب در مورد این این است که کانتینر واقعی راز را در داخل ذخیره نمی کند، اما می تواند از طریق مکانیسم اسرار داکر از آن استفاده کند.

برای استقرار آن سرویس، با استفاده از my_test_secret مخفی، دستور چیزی شبیه به این است:

docker service  create --name redis --secret my_test_secret redis:alpine

بررسی کنید که سرویس با دستور زیر اجرا می شود:

docker service ps redis

شما باید لیستی را مشاهده کنید که به شکل زیر است:

0z6v0js2hu5q   redis.1   redis:alpine   dockernode1   Running     Running 34 seconds ago

با دستور زیر بررسی کنید که سرویس به رمز دسترسی دارد:

docker container exec $(docker ps --filter name=redis -q) ls -l /run/secrets

شما باید چیزی شبیه به این را در خروجی ببینید:

-r--r--r-- 1 root root        17 May 24 13:16 my_test_secret

در نهایت می توانید محتویات Secret را با دستور زیر مشاهده کنید:

docker container exec $(docker ps --filter name=redis -q) cat /run/secrets/my_test_secret

خروجی باید چیزی شبیه به این باشد:

This is my super secret secret

حالا، اگر ظرف را commit کنید، راز دیگر در دسترس نیست. این کار را با دستور انجام دهید:

docker commit $(docker ps --filter name=redis -q) committed_redis

بررسی کنید که راز دیگر با دستور زیر در دسترس نیست:

docker run --rm -it committed_redis cat /run/secrets/my_test_secret

شما باید در خروجی، چیزی شبیه به این را ببینید:

cat: can't open '/run/secrets/my_test_secret': No such file or directory

failed to resize tty, using default size

سپس می توانید با دستور زیر دسترسی به Secret را حذف کنید:

docker service update --secret-rm my_test_secret redis

و این، دوستان من، نحوه ایجاد یک راز در Docker و استفاده از آن در یک سرویس است.

در TechRepublic مشترک شوید چگونه فناوری را در یوتیوب کار کنیم برای تمام آخرین توصیه های فنی برای حرفه ای های تجاری از جک والن.


لینک منبع

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

نوشته های مشابه

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا