The Docker Bench For Security - سيناريو يكتشف لعشرات من أفضل الممارسات الشائعة حول نشر حاويات عمال الإنتاج في الإنتاج
إن Docker Bench for Security هو برنامج نصي يقوم بالتحقق من العشرات من أفضل الممارسات الشائعة حول نشر حاويات Docker في الإنتاج. جميع الاختبارات تلقائية ، وهي مستوحاة من معيار CIS Docker Community Edition Benchmark v1.1.0 . نحن نعلن عن هذا كمتابعة لمدونة " التفاهم حول الأمن وأفضل الممارسات" .
نحن نجعل ذلك متاحًا كأداة مساعدة مفتوحة المصدر ، لذا يمكن لمجتمع Docker أن يكون لديه طريقة سهلة لتقييم ذاتي لمضيفيه وحاويات عمال الشحن مقابل هذا المعيار.
Running Docker Bench for Security
نحن حزم مقاعد البدلاء عامل ميناء حاوية صغيرة لراحتك. لاحظ أنه يتم تشغيل هذه الحاوية مع الكثير من الامتيازات - مشاركة نظام الملفات الخاص بالمضيف ، ومساحات أسماء pid و network ، بسبب أجزاء من المعيار المطبق على المضيف الجاري تشغيله. لا تنسَ تعديل وحدات التخزين المشتركة وفقًا لنظام التشغيل لديك ، على سبيل المثال قد لا تستخدم systemd.
أسهل طريقة لتشغيل مضيفيك مقابل Docker Bench for Security هي تشغيل الحاوية سابقة التركيب:
docker run -it --net host --pid host --userns host --cap-add audit_control \
-e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc --label docker_bench_security \
docker/docker-bench-security
لاحظ أنه عندما لا يحتوي التوزيعات
auditctl
، و مراجعة الاختبارات سوف تحقق /etc/audit/audit.rules
لمعرفة ما اذا كان الحكم موجودا بدلا من ذلك. يتوفر Dockerfiles محددة التوزيع التي تعمل على إصلاح هذه المشكلة في الدليل distros .
و Dockerfiles محددة التوزيع قد يساعد أيضا إذا كان التوزيع الذي تستخدمه لم يتم شحنها بعد عامل الميناء النسخة 1.13.0 أو في وقت لاحق.
عامل الميناء عامل للحصول على خيارات الأمان
-b optional Do not print colors
-h optional Print this help message
-l FILE optional Log output in FILE
-c CHECK optional Comma delimited list of specific check(s)
-e CHECK optional Comma delimited list of specific check(s) to exclude
-i INCLUDE optional Comma delimited list of patterns within a container name to check
-x EXCLUDE optional Comma delimited list of patterns within a container name to exclude from check
docker-bench-security.sh.log.json
و docker-bench-security.sh.log
. يتم تسمية الشيكات القائمة على CIS check__
، على سبيل المثال check_2_6
ويتم تسمية الشيكات المساهمة المجتمعية check_c_
. قائمة كاملة من الشيكات موجودة في functions_lib.sh . sh docker-bench-security.sh -l /tmp/docker-bench-security.sh.log -c check_2_2
سيتم تشغيل الاختيار فقط 2.2 Ensure the logging level is set to 'info'
. sh docker-bench-security.sh -l /tmp/docker-bench-security.sh.log -e check_2_2
سيدير جميع الشيكات المتاحة باستثناء 2.2 Ensure the logging level is set to 'info'
. لاحظ أنه عند تقديم الشيكات ، قدم معلومات عن سبب إجراء اختبار معقول لإضافتها ، ويرجى تضمين نوع من الوثائق الرسمية التي تتحقق من تلك المعلومات.
بناء مقعد Docker للأمن
إذا كنت ترغب في بناء وتشغيل هذه الحاوية بنفسك ، يمكنك اتباع الخطوات التالية:
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker build --no-cache -t docker-bench-security .
docker run -it --net host --pid host --cap-add audit_control \
-e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc --label docker_bench_security \
docker-bench-security
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sudo sh docker-bench-security.sh
تعليقات