روز 20: امنیت داکر – انجمن DEV

Summarize this content to 400 words in Persian Lang
به روز بیستم ظهور داکر خوش آمدید! امروز اقدامات امنیتی ضروری برای Docker را پوشش خواهیم داد. امنیت بسیار مهم است – یک کانتینر با پیکربندی نادرست می تواند کل سیستم میزبان شما را به خطر بیندازد. اینها برخی از مهمترین قوانین به نظر من هستند، اما لیست قطعا کامل نیست. امنیت یک سفر بی پایان است 🙂
1. میزبان و داکر را به روز نگه دارید
هسته میزبان بین کانتینرها مشترک است، بنابراین آسیبپذیریهایی مانند Dirty COW یا Leaky Vessels میتوانند بر همه کانتینرها تأثیر بگذارند. همیشه:
سیستم میزبان را به طور منظم به روز کنید
Docker Engine را به روز نگه دارید
به روز رسانی های امنیتی خودکار را در صورت امکان فعال کنید
2. از Docker Daemon Socket محافظت کنید
سوکت داکر (/var/run/docker.sock) یک نقطه امنیتی حیاتی است. دسترسی به آن به معنای دسترسی ریشه به هاست است.
این کار را نکنید:
volumes:
– “/var/run/docker.sock:/var/run/docker.sock” # Dangerous!
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
هرگز:
سوکت دایمون داکر را در معرض کانتینرها قرار دهید
سوکت TCP را بدون TLS فعال کنید
Docker را با -H tcp://0.0.0.0:2375
3. از تصاویر رسمی استفاده کنید
تصاویر پایه پایه امنیتی شما هستند:
خوب
FROM ubuntu:22.04
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بهتر است
FROM ubuntu:22.04-slim
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بهترین برای تولید
FROM scratch # For compiled languages
FROM distroless # For interpreted languages
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
4. به صورت Non-Root اجرا شود
یک کاربر اختصاصی در Dockerfile خود ایجاد کنید:
RUN groupadd -r app && useradd -r -g app -d /home/app -s /sbin/nologin -c “Docker image user” app
USER app
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
5. از ساخت های چند مرحله ای استفاده کنید
سطح حمله را با نگه داشتن تنها آنچه لازم است کاهش دهید! برای جزئیات بیشتر، روز 13 را بررسی کنید!
6. محدود کردن منابع
با تعیین محدودیت های منابع، مانند حافظه و CPU، تأثیر یک حمله DoS را محدود کنید. برای جزئیات بیشتر، روز 19 را بررسی کنید!
7. از اسکنرهای آسیب پذیری استفاده کنید
اسکنرهای آسیبپذیری به شما کمک میکنند تا مشکلات امنیتی را در تصاویر خود پیدا کنید. تعداد کمی در دسترس است، اما Docker Desktop یکی به نام Docker Scout را به طور پیش فرض ارائه می کند:
نکته مهمی که باید به آن توجه داشت این است که اسکنرهای آسیب پذیری همیشه مثبت کاذب خواهند داشت. آنها مسائلی را پیدا خواهند کرد که در واقع مشکل ساز نیستند. همیشه نتایج را بررسی کنید و بررسی کنید که آیا مشکل واقعاً برای مورد استفاده شما مشکلی دارد یا خیر!
نتیجه گیری
همانطور که در ابتدا گفته شد، این لیست کامل نیست و موارد زیادی وجود دارد که باید در نظر بگیرید. امنیت یک سفر بی پایان است و شما باید همیشه در حال یادگیری باشید.
در اینجا منابعی وجود دارد که برای من مفید بود:
تا آن زمان، کانتینری شدن مبارک! 🐳
جوناس
به روز بیستم ظهور داکر خوش آمدید! امروز اقدامات امنیتی ضروری برای Docker را پوشش خواهیم داد. امنیت بسیار مهم است – یک کانتینر با پیکربندی نادرست می تواند کل سیستم میزبان شما را به خطر بیندازد. اینها برخی از مهمترین قوانین به نظر من هستند، اما لیست قطعا کامل نیست. امنیت یک سفر بی پایان است 🙂
1. میزبان و داکر را به روز نگه دارید
هسته میزبان بین کانتینرها مشترک است، بنابراین آسیبپذیریهایی مانند Dirty COW یا Leaky Vessels میتوانند بر همه کانتینرها تأثیر بگذارند. همیشه:
- سیستم میزبان را به طور منظم به روز کنید
- Docker Engine را به روز نگه دارید
- به روز رسانی های امنیتی خودکار را در صورت امکان فعال کنید
2. از Docker Daemon Socket محافظت کنید
سوکت داکر (/var/run/docker.sock
) یک نقطه امنیتی حیاتی است. دسترسی به آن به معنای دسترسی ریشه به هاست است.
این کار را نکنید:
volumes:
- "/var/run/docker.sock:/var/run/docker.sock" # Dangerous!
هرگز:
- سوکت دایمون داکر را در معرض کانتینرها قرار دهید
- سوکت TCP را بدون TLS فعال کنید
- Docker را با
-H tcp://0.0.0.0:2375
3. از تصاویر رسمی استفاده کنید
تصاویر پایه پایه امنیتی شما هستند:
خوب
FROM ubuntu:22.04
بهتر است
FROM ubuntu:22.04-slim
بهترین برای تولید
FROM scratch # For compiled languages
FROM distroless # For interpreted languages
4. به صورت Non-Root اجرا شود
یک کاربر اختصاصی در Dockerfile خود ایجاد کنید:
RUN groupadd -r app && useradd -r -g app -d /home/app -s /sbin/nologin -c "Docker image user" app
USER app
5. از ساخت های چند مرحله ای استفاده کنید
سطح حمله را با نگه داشتن تنها آنچه لازم است کاهش دهید! برای جزئیات بیشتر، روز 13 را بررسی کنید!
6. محدود کردن منابع
با تعیین محدودیت های منابع، مانند حافظه و CPU، تأثیر یک حمله DoS را محدود کنید. برای جزئیات بیشتر، روز 19 را بررسی کنید!
7. از اسکنرهای آسیب پذیری استفاده کنید
اسکنرهای آسیبپذیری به شما کمک میکنند تا مشکلات امنیتی را در تصاویر خود پیدا کنید. تعداد کمی در دسترس است، اما Docker Desktop یکی به نام Docker Scout را به طور پیش فرض ارائه می کند:
نکته مهمی که باید به آن توجه داشت این است که اسکنرهای آسیب پذیری همیشه مثبت کاذب خواهند داشت. آنها مسائلی را پیدا خواهند کرد که در واقع مشکل ساز نیستند. همیشه نتایج را بررسی کنید و بررسی کنید که آیا مشکل واقعاً برای مورد استفاده شما مشکلی دارد یا خیر!
نتیجه گیری
همانطور که در ابتدا گفته شد، این لیست کامل نیست و موارد زیادی وجود دارد که باید در نظر بگیرید. امنیت یک سفر بی پایان است و شما باید همیشه در حال یادگیری باشید.
در اینجا منابعی وجود دارد که برای من مفید بود:
تا آن زمان، کانتینری شدن مبارک! 🐳
جوناس