تكوين ملحق Microsoft Security DevOps Azure DevOps

Microsoft Security DevOps هو تطبيق سطر أوامر يدمج أدوات التحليل الثابتة في دورة حياة التطوير. يقوم Microsoft Security DevOps بتثبيت أحدث إصدارات أدوات التحليل الثابتة وتكوينها وتشغيلها (بما في ذلك، على سبيل المثال لا الحصر، أدوات SDL/الأمان والتوافق). يعتمد Microsoft Security DevOps على البيانات مع التكوينات المحمولة التي تمكن التنفيذ المحدد عبر بيئات متعددة.

يستخدم Microsoft Security DevOps أدوات المصدر المفتوح التالية:

الاسم اللغة‬ الترخيص
مكافحة البرامج الضارة الحماية من البرامج الضارة في Windows من Microsoft Defender لنقطة النهاية، التي تفحص بحثا عن البرامج الضارة وتكسر البنية إذا تم العثور على برامج ضارة. تقوم هذه الأداة بالمسح الضوئي بشكل افتراضي على أحدث عامل في windows. ليس مفتوح المصدر
قطاع الطرق Python ترخيص Apache 2.0
BinSkim Binary--Windows, ELF MIT License
Checkov Terraform، خطة Terraform، CloudFormation، AWS SAM، Kubernetes، Helm charts، Kustomize، Dockerfile، Serverless، Bicep، OpenAPI، ARM ترخيص Apache 2.0
ESlint JavaScript MIT License
IaCFileScanner أداة تعيين القالب ل Terraform وCloudFormation وARM Template وBicep ليس مفتوح المصدر
محلل القالب قالب ARM، Bicep MIT License
Terrascan Terraform (HCL2)، Kubernetes (JSON/YAML)، Helm v3، Kustomize، Dockerfiles، CloudFormation ترخيص Apache 2.0
Trivy صور الحاوية، البنية الأساسية كتعليق برمجي (IaC) ترخيص Apache 2.0

إشعار

اعتبارا من 20 سبتمبر 2023، تم إهمال أداة مسح البيانات السرية (CredScan) ضمن ملحق Microsoft Security DevOps (MSDO) ل Azure DevOps. سيتم استبدال مسح أسرار MSDO ب GitHub Advanced Security ل Azure DevOps.

المتطلبات الأساسية

  • مطلوب امتيازات مسؤول istrator لمجموعة المشاريع لمؤسسة Azure DevOps لتثبيت الملحق.

إذا لم يكن لديك حق الوصول لتثبيت الملحق، فيجب عليك طلب الوصول من مسؤول مؤسسة Azure DevOps أثناء عملية التثبيت.

تكوين ملحق Microsoft Security DevOps Azure DevOps

لتكوين ملحق Microsoft Security DevOps Azure DevOps:

  1. قم بتسجيل الدخول إلى Azure DevOps.

  2. انتقل إلى ملحقات إدارة حقيبة>التسوق.

    لقطة شاشة توضح كيفية الانتقال إلى شاشة إدارة الملحقات.

  3. حدد مشترك.

    إشعار

    إذا قمت بالفعل بتثبيت ملحق Microsoft Security DevOps، فسيتم إدراجه في علامة التبويب مثبت.

  4. حدد Microsoft Security DevOps.

    لقطة شاشة توضح مكان تحديد Microsoft Security DevOps.

  5. حدد تثبيت.

  6. حدد المؤسسة المناسبة من القائمة المنسدلة.

  7. حدد تثبيت.

  8. حدد متابعة إلى المؤسسة.

تكوين البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام YAML

لتكوين البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام YAML:

  1. تسجيل الدخول إلى Azure DevOps

  2. حدد مشروعك.

  3. انتقل إلى Pipelines

  4. حدد New pipeline.

    لقطة شاشة توضح مكان إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية في DevOps.

  5. حدد Azure Repos Git.

    لقطة شاشة توضح لك مكان الانتقال إلى، لتحديد Azure repo git.

  6. حدد المستودع ذي الصلة.

    لقطة شاشة توضح مكان تحديد المستودع الخاص بك.

  7. حدد "Starter pipeline".

    لقطة شاشة توضح مكان تحديد خط أنابيب البداية.

  8. الصق YAML التالي في البنية الأساسية لبرنامج ربط العمليات التجارية:

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    trigger: none
    pool:
      # ubuntu-latest also supported.
      vmImage: 'windows-latest'
    steps:
    - task: MicrosoftSecurityDevOps@1
      displayName: 'Microsoft Security DevOps'
      # inputs:    
        # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). Vist the MSDO GitHub wiki linked below for additional configuration instructions
        # policy: 'azuredevops' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy to determine the tools/checks to run. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: azuredevops.
        # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all.
        # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all.
        # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'.
        # break: boolean. Optional. If true, will fail this build step if any high severity level results are found. Default: false.
        # publish: boolean. Optional. If true, will publish the output SARIF results file to the chosen pipeline artifact. Default: true.
        # artifactName: string. Optional. The name of the pipeline artifact to publish the SARIF result file to. Default: CodeAnalysisLogs*.
      
    

    إشعار

    مطلوب artifactName 'CodeAnalysisLogs' للتكامل مع Defender for Cloud. للحصول على خيارات تكوين أداة إضافية ومتغيرات البيئة، راجع موقع Microsoft Security DevOps wiki

  9. لتثبيت البنية الأساسية لبرنامج ربط العمليات التجارية، حدد حفظ وتشغيل.

    سيتم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية لبضع دقائق وحفظ النتائج.

    إشعار

    قم بتثبيت ملحق SARIF SAST Scans Tab على مؤسسة Azure DevOps لضمان عرض نتائج التحليل التي تم إنشاؤها تلقائيا ضمن علامة التبويب Scans.

تحميل النتائج من أدوات أمان الجهات الخارجية إلى Defender for Cloud

بينما يوفر Defender for Cloud MSDO CLI للوظائف الموحدة وعناصر التحكم في النهج عبر مجموعة من محللي الأمان مصدر مفتوح، لديك المرونة لتحميل النتائج من أدوات أمان أخرى تابعة لجهة خارجية قد تكون قمت بتكوينها في مسارات CI/CD إلى Defender for Cloud للسياق الشامل من التعليمات البرمجية إلى السحابة. يجب أن تكون جميع النتائج التي تم تحميلها إلى Defender for Cloud بتنسيق SARIF القياسي.

أولا، تأكد من إلحاق مستودعات Azure DevOps ب Defender for Cloud. بعد إلحاق Defender for Cloud بنجاح، فإنه يراقب باستمرار البيانات الاصطناعية "CodeAnalysisLogs" لإخراج SARIF.

يمكنك استخدام المهمة "PublishBuildArtifacts@1" لضمان نشر إخراج SARIF إلى الأداة الصحيحة. على سبيل المثال، إذا تم إخراج results.sarifمحلل أمان ، يمكنك تكوين المهمة التالية في وظيفتك لضمان تحميل النتائج إلى Defender for Cloud:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: 'results.sarif'
    ArtifactName: 'CodeAnalysisLogs'

Findings from third-party security tools will appear as 'Azure DevOps repositories should have code scanning findings resolved' assessments associated with the repository the security finding was identified in.