| | | |
Minder عبارة عن منصة مفتوحة المصدر تساعد فرق التطوير والمجتمعات مفتوحة المصدر على بناء برامج أكثر أمانًا، وتثبت للآخرين أن ما قاموا ببنائه آمن. يساعد Minder أصحاب المشاريع على إدارة وضعهم الأمني بشكل استباقي من خلال توفير مجموعة من الضوابط والسياسات لتقليل المخاطر على طول سلسلة توريد البرامج، والمصادقة على ممارساتهم الأمنية للمستهلكين النهائيين.
يسمح Minder للمستخدمين بتسجيل المستودعات وتحديد السياسة لضمان تكوين المستودعات والعناصر بشكل متسق وآمن. يمكن تعيين السياسات للتنبيه فقط أو للمعالجة التلقائية. يوفر Minder مجموعة محددة مسبقًا من القواعد ويمكن تهيئتها أيضًا لتطبيق القواعد المخصصة.
يمكن نشر Minder كمخطط Helm ويوفر أداة minder
لـ CLI. Stacklok، وهي شركة تدعم Minder، توفر أيضًا نسخة مستضافة مجانية من Minder (للمستودعات العامة فقط). تم تصميم Minder ليكون قابلاً للتوسعة، مما يسمح للمستخدمين بالتكامل مع أدواتهم وعملياتهم الحالية.
توفر شركة Stacklok، وهي شركة تدعم Minder، نسخة عامة مجانية من Minder. هذا هو المثيل الافتراضي المستخدم عند استخدام minder
CLI. هذا المثيل متاح للمستودعات العامة فقط.
يستغرق بدء تشغيل Minder وتشغيله أقل من دقيقة وهو سهل مثل:
minder quickstart
لإنشاء ملف التعريف الأول الخاص بك.في غضون ثوانٍ قليلة، ستقوم بتسجيل مستودعاتك وتمكين حماية الفحص السري لها جميعًا! ؟
اختر طريقتك المفضلة لتثبيت minder
:
تأكد من تثبيت Homebrew.
brew install minder
تأكد من تثبيت Winget.
winget install stacklok.minder
قم بتنزيل أحدث إصدار من Minder/Releases.
قم ببناء minder-server
minder
وخادم مايندر من المصدر باتباع دليل البناء من المصدر.
لاستخدام minder
مع المثيل العام لـ Minder ( api.stacklok.com
)، قم بتسجيل الدخول عن طريق تشغيل:
minder auth login
عند الانتهاء، يجب أن ترى أنه تم تعيين خادم Minder على api.stacklok.com
.
يرشدك أمر quickstart
خلال إنشاء ملف التعريف الأول الخاص بك في Minder، وتسجيل مستودعاتك، وتمكين حماية المسح السري لمستودعاتك في ثوانٍ.
للقيام بذلك، قم بتشغيل:
minder quickstart
سيطالبك هذا بتسجيل المزود الخاص بك، وتحديد المستودعات التي تريدها، وإنشاء نوع قاعدة secret_scanning
وإنشاء ملف تعريف يتيح الفحص السري للمستودعات المحددة.
لمعرفة حالة ملفك الشخصي، قم بتشغيل:
minder profile status list --profile quickstart-profile --detailed
يجب أن تشاهد الحالة العامة للملف الشخصي وعرضًا تفصيليًا لحالات تقييم القاعدة لكل من مستودعاتك المسجلة.
سيستمر Minder في تتبع مستودعاتك وسيضمن إصلاح أي انحراف عن الحالة المطلوبة باستخدام ميزة remediate
أو تنبيهك، إذا لزم الأمر، باستخدام ميزة alert
.
تهانينا! ؟ لقد قمت الآن بإنشاء ملفك الشخصي الأول بنجاح!
يمكنك الآن الاستمرار في استكشاف ميزات Minder عن طريق إضافة المزيد من المستودعات أو إزالتها، وإنشاء المزيد من الملفات الشخصية بقواعد متنوعة، وغير ذلك الكثير. هناك الكثير في Minder أكثر من مجرد المسح السري.
تعد قاعدة secret_scanning
مجرد واحدة من أنواع القواعد العديدة التي يدعمها Minder.
يمكنك الاطلاع على القائمة الكاملة للقواعد والملفات الشخصية الجاهزة للاستخدام التي يحتفظ بها فريق Minder هنا - Mindersec/minder-rules-and-profiles.
في حالة وجود شيء لم تجده هناك بعد، فقد تم تصميم Minder ليكون قابلاً للتوسيع. يتيح ذلك للمستخدمين إنشاء أنواع القواعد المخصصة وملفات التعريف الخاصة بهم والتأكد من التصديق على تفاصيل وضعهم الأمني.
الآن بعد أن قمت بإعداد كل شيء، يمكنك الاستمرار في تشغيل أوامر minder
على المثيل العام لـ Minder حيث يمكنك إدارة مستودعاتك المسجلة وإنشاء ملفات تعريف وقواعد وغير ذلك الكثير، حتى تتمكن من التأكد من تكوين مستودعاتك بشكل متسق وآمن.
لمزيد من المعلومات حول minder
، انظر:
minder
CLI - المستندات.minder
REST API - المستندات.minder
التي يحتفظ بها فريق Minder - GitHub.يعمل مجتمع Minder بنشاط على الميزات والتحسينات الجديدة لـ Minder.
يمكنك العثور على خريطة الطريق الخاصة بنا هنا.
إذا كنت ترغب في طلب ميزة أو تحسين أو المساهمة بها، فيرجى استخدام نموذج المشكلة التالي
يصف هذا القسم كيفية إنشاء Minder وتشغيله من المصدر.
ستحتاج إلى الأدوات التالية المتاحة - Go وDocker وDocker Compose.
لإنشاء minder-server
وتشغيله، ستحتاج أيضًا إلى ko.
لتشغيل مجموعة الاختبار عبر make test
، ستحتاج إلى gotestfmt وhelm.
لاستدعاء run-docker
make target، ستحتاج إلى yq.
git clone [email protected]:mindersec/minder.git
قم بتشغيل ما يلي لإنشاء minder-server
minder
وخادم ميندر (ستكون الثنائيات موجودة في ./bin/
)
make build
لاستخدام minder
مع المثيل العام لـ Minder ( api.stacklok.com
)، قم بتشغيل:
minder auth login
عند الانتهاء، يجب أن ترى أنه تم تعيين خادم Minder على api.stacklok.com
.
إذا كنت تريد تشغيل minder
مقابل مثيل minder-server
محلي، فاتبع الخطوات أدناه.
قم بإنشاء ملف التكوين الأولي لـ minder
. يمكنك القيام بذلك عن طريق القيام بذلك.
cp config/config.yaml.example config.yaml
قم بإنشاء ملف التكوين الأولي لـ minder-server
. يمكنك القيام بذلك عن طريق القيام بذلك.
cp config/server-config.yaml.example server-config.yaml
سيتعين عليك أيضًا إعداد تطبيق OAuth2 ليستخدمه minder-server
. بمجرد الانتهاء، قم بتحديث ملف التكوين بالقيم المناسبة. راجع الوثائق حول كيفية القيام بذلك - المستندات.
minder-server
ابدأ تشغيل minder-server
مع الخدمات التابعة له ( keycloak
و postgres
) عن طريق تشغيل:
make run-docker
يستخدم minder-server
Keycloak باعتباره IAM. لتسجيل الدخول، ستحتاج إلى إعداد تطبيق GitHub OAuth2 وتهيئة Keycloak لاستخدامه.
قم بإنشاء تطبيق OAuth2 لـ GitHub هنا. حدد New OAuth App
واملأ التفاصيل. يجب أن يكون عنوان URL لرد الاتصال هو http://localhost:8081/realms/stacklok/broker/github/endpoint
. قم بإنشاء سر عميل جديد لعميل OAuth2 الخاص بك.
باستخدام client_id
و client_secret
اللذين قمت بإنشائهما أعلاه، قم بتمكين تسجيل الدخول إلى GitHub على Keycloak عن طريق تشغيل الأمر التالي:
make KC_GITHUB_CLIENT_ID= < client_id > KC_GITHUB_CLIENT_SECRET= < client_secret > github-login
تأكد من وجود ملف config.yaml
في الدليل الحالي حتى يتمكن minder
من استخدامه.
قم بتشغيل minder
مقابل المثيل المحلي لـ Minder ( localhost:8090
):
minder auth login
عند الانتهاء، يجب أن ترى أنه تم تعيين خادم Minder Server على localhost:8090
.
افتراضيًا، ستشير واجهة سطر الأوامر minder
إلى بيئة Stacklok للإنتاج في حالة عدم وجود ملف تكوين، ولكن إنشاء config.yaml
لتشغيل الخادم سيوجه واجهة سطر الأوامر إلى بيئة التطوير المحلية لديك. إذا كنت تريد بشكل صريح استخدام مثيل مختلف، فيمكنك تعيين متغير البيئة MINDER_CONFIG
للإشارة إلى تكوين معين. لدينا تكوينات للتطوير المحلي، وبيئة إنتاج Stacklok، وبيئة Stacklok المرحلية (يتم تحديثها بشكل متكرر) التي تم تسجيلها في دليل config
.
يمكنك العثور على معلومات أكثر تفصيلاً حول عملية التطوير في دليل المطور.
وثائق REST API - الرابط.
وثائق Proto API - الرابط.
بروتوبوف - الرابط.
مواصفات OpenAPI/swagger (JSON) - الرابط.
نحن نرحب بالمساهمات في مايندر. يرجى الاطلاع على دليل المساهمة لدينا لمزيد من المعلومات.
يتبع مشروع Minder أفضل الممارسات المتعلقة بأمان وشفافية سلسلة توريد البرامج.
جميع الأصول المحررة:
تم ترخيص Minder بموجب ترخيص Apache 2.0.