هفته گذشته ، ما اعلام کردیم که نسخه Docker Desktop Stable شامل اسکن آسیب پذیری ، آخرین مرحله در راه حل امنیتی کانتینر است که ما با شریک زندگی خود Snyk در حال ساخت هستیم. اکنون می توانید اسکن های آسیب پذیری Snyk را مستقیماً از Docker Desktop CLI اجرا کنید. ترکیب این قابلیت با قابلیت اسکن Docker Hub که در ماه اکتبر راه اندازی کردیم ، انعطاف پذیری شامل اسکن آسیب پذیری را در چندین نقطه از حلقه داخلی توسعه شما فراهم می کند و ابزار بهتری را برای استقرار برنامه های امن فراهم می کند.
شما می توانید تصمیم بگیرید که آیا می خواهید اولین اسکن های خود را از سمت دسک تاپ CLI یا از مرکز انجام دهید. مشتریانی که مدتی از داکر استفاده کرده اند تمایل دارند این کار را از Hub شروع کنند. ساده ترین راه برای پرش کردن ، پیکربندی repo های Hocker Hock است که هر بار که تصویری را به آن repo فشار می دهید ، به طور خودکار اسکن را آغاز می کند. این گزینه برای هر مخزن قابل تنظیم است ، بنابراین شما می توانید تصمیم بگیرید که چگونه این اسکن ها را در برنامه امنیتی خود قرار دهید. (تصویر Docker Hub فقط برای مشترکین Docker Pro و Team در دسترس است ، برای اطلاعات بیشتر در مورد اشتراک ها به صفحه قیمت گذاری Docker مراجعه کنید.)
هنگامی که اسکن را فعال می کنید ، می توانید نتایج اسکن را در Docker Hub یا مستقیم از برنامه Docker Desktop همانطور که در این وبلاگ شرح داده شده است.
می توانید از خلاصه نتایج اسکن ابتدا اطلاعات دقیق تری را برای هر اسکن مشاهده کرده و اطلاعات دقیق تری درباره هر نوع آسیب پذیری دریافت کنید. مفیدترین اطلاعات در داده های آسیب پذیری توصیه Snyk در مورد چگونگی اصلاح آسیب پذیری شناسایی شده است و اگر نسخه بسته بالاتر در دسترس است که قبلاً آسیب پذیری خاص آن بررسی شده است.
شناسایی ، سپس اصلاح
اگر در حال مشاهده داده های آسیب پذیری از Docker Desktop هستید ، می توانید آسیب پذیری ها را اصلاح کرده و اصلاحات را مستقیماً از CLI خود انجام دهید. راه اندازی اسکن ها از Docker Desktop ساده است – فقط اسکن docker
را اجرا کنید ، و می توانید آزمایش های تکراری را انجام دهید که اصلاح موفقیت آمیز را تایید می کند قبل از اینکه تصویر را به Hub فشار دهید
برای کاربران جدید Docker ، اولین اسکن های خود را از Desktop CLI در نظر بگیرید. Docker Desktop Vulnerability Scanning CLI Sheet Sheet یک منبع خارق العاده برای شروع کار است.
صفحه تقلب CLI از اصول اولیه شروع می شود ، که همچنین در صفحه مستندات Docker در مورد اسکن آسیب پذیری برای تصاویر محلی Docker شرح داده شده است – از جمله مراحل اجرای اولین اسکن ها ، شرح اطلاعات آسیب پذیری همراه با هر نتیجه اسکن ، و [پرچمهای docker scan
که به شما کمک می کند نتایج اسکن مورد نظر خود را مشخص کنید. برخی از این پرچم های docker scan
– –
- درخت وابستگی -
لیستی از تمام بسته های اساسی وابستگی را که شامل آسیب پذیری گزارش شدهاست نمایش می دهند - پایگاه را حذف می کنند -
] اجرای اسکن تصویر ، بدون گزارش آسیب پذیری های مرتبط با لایه پایه- f -
از جمله داده های آسیب پذیری مربوط به Dockerfile مرتبط- json -
نمایش داده های آسیب پذیری در قالب JSON [19659013] نکته جالب در مورد این Cheat Sheet این است که به شما نشان می دهد چگونه با ترکیب این پرچم ها می توانید چندین گزینه برای مشاهده داده های خود ایجاد کنید –- فقط آسیب پذیری های با شدت بالا از لایه های غیر از تصویر پایه را نشان دهید:
$ docker scan myapp: mytag --exclude-base - مسیر مسیر / به / Dockerfile --json | jq '[.vulnerabilities[] | select (.severity == "high")] '
- آسیب پذیری های شدت بالا را با بردار حمله شبکه CVSSv3 نمایش دهید:
$ docker scan myapp: mytag --json | jq '[.vulnerabilities[] | را انتخاب کنید (. شدت == "بالا") | select (.CVSSv3 | حاوی ("AV: N"))] ''
- آسیب پذیری های شدت بالا را با رفع اشکال موجود نمایش دهید:
$ docker scan myapp: mytag --json | jq '[.vulnerabilities[] | را انتخاب کنید (.nearestFixedInVersion) | select (.severity == "high")] ''
اجرای اسکن های CLI و رفع آسیب پذیری ها قبل از اینکه تصاویر خود را به Hub فشار دهید ، از تعداد آسیب پذیری های گزارش شده در Hub اسکن می کاهد ، یک چرخه ساخت سریعتر و کارآمدتر به تیم خود ارائه دهید
برای کسب اطلاعات بیشتر در مورد اجرای اسکن آسیب پذیری در تصاویر Docker ، می توانید جلسه "امنیت کانتینرها به طور مستقیم از Docker Desktop" را مشاهده کنید ، ارائه شده در SnykCon. این یک ارائه مشترک توسط جاستین کورماک ، مسئول امنیتی Docker و دانیل اینبار ، مدیر محصول Snyk است ، در مورد اینکه شما چه کاری می توانید برای استفاده از این راه حل جدید در برنامه های امنیتی سازمان خود انجام دهید
- فقط آسیب پذیری های با شدت بالا از لایه های غیر از تصویر پایه را نشان دهید:
->