Руководство по 42Crunch technical onboarding
42Crunch позволяет стандартизованному подходу к защите API, автоматизируя соблюдение безопасности API в распределенных командах разработки и безопасности. Платформа безопасности API 42Crunch позволяет разработчикам создавать безопасность из интегрированной среды разработки (IDE) в конвейер CI/CD. Этот простой подход DevSecOps к безопасности API снижает затраты на управление и ускоряет доставку безопасных API.
Подход к тестированию безопасности
В отличие от традиционных средств DAST, которые используются для сканирования веб-приложений и мобильных приложений, 42Crunch выполняет набор тестов, которые точно создаются и предназначены для каждого API на основе их конкретного дизайна. Используя определение OpenAPI (то есть Swagger) в качестве основного источника, подсистема сканирования 42Crunch запускает батарею тестов, которые проверяют, насколько тесно API соответствует предполагаемому дизайну. Эта проверка соответствия идентифицирует различные проблемы безопасности, включая 10 основных уязвимостей OWASP, неправильные коды ответов и нарушения схемы. Эти проблемы сообщаются с богатым контекстом, включая возможные сценарии эксплойтов и рекомендации по исправлению.
Сканирование может выполняться автоматически в рамках конвейера CI/CD или вручную с помощью интегрированной среды разработки или облачной платформы 42Crunch.
Так как качество спецификации API в значительной степени определяет охват сканирования и эффективность, важно убедиться, что спецификация OpenAPI определена. Аудит 42Crunch выполняет статический анализ файла спецификации OpenAPI, направленный на улучшение безопасности и качества спецификации разработчиком. Аудит определяет составную оценку безопасности от 0 до 100 для каждого файла спецификации. По мере того как разработчики устраняют проблемы безопасности и семантики, выявленные аудитом, оценка улучшается. 42Crunch рекомендует оценку аудита не менее 70 перед выполнением проверки соответствия.
Включение
Примечание.
Ниже описан процесс настройки бесплатной версии 42Crunch. Дополнительные сведения о различиях между бесплатными и платными версиями 42Crunch и приобретением 42Crunch в Azure Marketplace см. в разделе часто задаваемых вопросов.
Используя службы аудита и сканирования 42Crunch, разработчики могут заранее тестировать и защищать API в конвейерах CI/CD с помощью статических и динамических тестов API в отношении основных рисков API OWASP и рекомендаций по спецификации OpenAPI. Результаты проверки безопасности от 42Crunch теперь доступны в Defender для облака, обеспечивая централизованную группу безопасности видимость работоспособности API в Defender для облака рекомендации и может выполнять действия по управлению, доступные в собственном коде с помощью рекомендаций Defender для облака.
Подключение сред DevOps к Microsoft Defender для облака
Эта функция требует подключения среды DevOps к Defender для облака.
Узнайте , как подключить организации GitHub.
Узнайте , как подключить организации Azure DevOps.
Настройка службы аудита 42Crunch
Действие тестирования статической безопасности REST API находит контракты REST API, которые соответствуют спецификации OpenAPI (OAS, ранее известной как Swagger) и выполняют тщательные проверки безопасности. Поддерживаются как OAS версии 2, так и версии 3 в формате JSON и YAML.
Действие работает с помощью аудита безопасности API 42Crunch. Аудит безопасности выполняет статический анализ определения API, включающего более 300 проверок рекомендаций и потенциальных уязвимостей в том, как API определяет проверку подлинности, авторизацию, транспорт и схемы запроса и ответа.
Для сред GitHub
Установите подключаемый модуль аудита безопасности API 42Crunch в конвейере CI/CD, выполнив следующие действия.
Войдите в GitHub.
Выберите репозиторий, для которого нужно настроить действие GitHub.
Выберите Действия.
Выберите новый рабочий процесс.
Чтобы создать рабочий процесс по умолчанию, выполните действия.
Выберите "Настроить рабочий процесс самостоятельно".
Переименуйте рабочий процесс из
main.yaml
42crunch-audit.yml
.Скопируйте полный пример рабочего процесса и вставьте его в редактор рабочих процессов.
Примечание.
В этом рабочем процессе предполагается, что у вас включена проверка кода GitHub. Если этот параметр включен, убедитесь, что параметр проверки отправки в код имеет значение true. Если у вас нет включенной проверки кода GitHub, убедитесь, что параметр проверки кода отправки в код имеет значение false, и выполните дополнительные действия, описанные ниже в разделе "Включение интеграции Defender для облака без сканирования кода GitHub".
Выберите " Зафиксировать изменения". Вы можете выполнить прямую фиксацию в главной ветви или создать запрос на вытягивание. Мы рекомендуем следовать рекомендациям GitHub, создав pr, так как рабочий процесс по умолчанию запускается при открытии PR для основной ветви.
Выберите действия и убедитесь, что выполняется новое действие.
После завершения рабочего процесса выберите "Безопасность", а затем выберите "Код", чтобы просмотреть результаты.
Выберите оповещение сканирования кода, обнаруженное 42Crunch REST API Static Security Testing. Вы также можете фильтровать по инструменту на вкладке "Сканирование кода". Фильтрация по 42Crunch REST API static security testing.
Теперь вы проверили, что результаты аудита отображаются в сканировании кода GitHub. Затем мы убедитесь, что эти результаты аудита доступны в Defender для облака. Для отображения результатов в Defender для облака может потребоваться до 30 минут.
Включение интеграции Defender для облака без сканирования кода GitHub
Если у вас нет проверки кода GitHub для вашей среды и хотите интегрировать результаты проверки безопасности из 42Crunch в Defender для облака, выполните следующие действия. После добавления на шаг рабочего процесса 42Crunch добавьте следующие шаги в рабочий процесс GitHub, чтобы отправить результаты сканирования непосредственно в Defender для облака с помощью действия Microsoft Security DevOps GitHub.
- name: save-sarif-report
if: always()
uses: actions/upload-artifact@v4
with:
name: 42Crunch_AuditReport_${{ github.run_id }}
path: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
if-no-files-found: error
- name: Upload results to MSDO
uses: microsoft/security-devops-action@v1
id: msdo
with:
existingFilename: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
Затем добавьте дополнительное разрешение для рабочего процесса, задав идентификатор маркера записи.
После запуска рабочего процесса может потребоваться до 30 минут, чтобы результаты отображались в Defender для облака.
Перейдите к Defender для облака
- Выберите Рекомендации.
- Выберите все рекомендации.
- Выполните фильтрацию , выполнив поиск тестирования безопасности API.
- Выберите репозитории GitHub, которые должны иметь разрешения на тестирование безопасности API.
Выбранная рекомендация показывает все 42Crunch Audit результаты. Вы завершили подключение для шага аудита 42Crunch.
Для сред Azure DevOps
Установите расширение Azure DevOps 42Crunch в вашей организации.
Создайте конвейер в проекте Azure DevOps. Руководство по созданию первого конвейера см. в разделе "Создание первого конвейера".
Измените созданный конвейер, скопируйте его в следующий рабочий процесс:
trigger: branches: include: - main jobs: - job: run_42crunch_audit displayName: 'Run Audit' pool: vmImage: 'ubuntu-latest' steps: - task: UsePythonVersion@0 inputs: versionSpec: '3.11' addToPath: true architecture: x64 - task: APISecurityAuditFreemium@1 inputs: enforceSQG: false sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif' exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf' - task: PublishBuildArtifacts@1 displayName: publishAuditSarif inputs: PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif ' ArtifactName: 'CodeAnalysisLogs' publishLocation: 'Container'
Запуск конвейера.
Чтобы проверить правильность публикации результатов в Azure DevOps, убедитесь, что 42Crunch-AuditReport.sarif отправляется в папку CodeAnalysisLogs .
Вы завершили процесс подключения. Затем мы убедимся, что результаты отображаются в Defender для облака.
Перейдите к Defender для облака:
- Выберите Рекомендации.
- Выберите все рекомендации.
- Выполните фильтрацию , выполнив поиск тестирования безопасности API.
- Выберите рекомендацию репозиториев AzureDevOps, которые должны быть разрешены при тестировании безопасности API.
Выбранная рекомендация показывает все 42Crunch Audit результаты. Вы завершили подключение для шага аудита 42Crunch.
Настройка службы сканирования 42Crunch
Проверка API постоянно сканирует API, чтобы обеспечить соответствие контракту OpenAPI и обнаруживать уязвимости во время тестирования. Он обнаруживает проблемы безопасности API OWASP в начале жизненного цикла API и проверяет, что API могут обрабатывать непредвиденные запросы.
Для проверки требуется конечная точка динамического API, непроизводственная конечная точка API и необходимые учетные данные (маркер ключа и доступа API). Выполните следующие действия , чтобы настроить сканирование 42Crunch.
Сведения о конкретных задачах ADO см. в руководстве по azure-pipelines-scan.yaml .
Вопросы и ответы
Как 42Crunch помогает разработчикам выявлять и устранять проблемы безопасности API?
Проверка аудита и соответствия безопасности 42Crunch определяет потенциальные уязвимости, которые существуют в API на ранних этапах жизненного цикла разработки. Результаты сканирования включают широкий контекст, включая описание уязвимости и связанного эксплойтов, а также подробные рекомендации по исправлению. Сканирование может выполняться автоматически на платформе CI/CD или постепенно разработчиком в интегрированной среде разработки с помощью одного из расширений интегрированной среды разработки 42Crunch.
Можно ли использовать 42Crunch для обеспечения соответствия минимальным стандартам качества и безопасности для разработчиков?
Да. 42Crunch включает возможность обеспечить соответствие требованиям с помощью шлюзов качества безопасности (SQG). SQG состоит из определенных критериев, которые должны быть выполнены для успешного прохождения аудита или сканирования. Например, SQG может гарантировать, что аудит или сканирование с одним или несколькими критическими проблемами серьезности не проходит. В CI/CD аудит или сканирование 42Crunch можно настроить на сбой сборки, если не удалось передать SQG, поэтому разработчику необходимо устранить базовую проблему перед отправкой кода.
Бесплатная версия 42Crunch использует стандартные SQG для аудита и сканирования, в то время как платная корпоративная версия позволяет настраивать SQG и теги, которые позволяют SQG применяться выборочно к группам API.
Какие данные хранятся в службе SaaS 42Crunch?
Ограниченная бесплатная пробная версия проверки безопасности 42Crunch и проверки соответствия может быть развернута в CI/CD, которая создает отчеты локально без необходимости подключения SaaS 42Crunch. В этой версии нет общих данных с платформой 42Crunch.
Для полной корпоративной версии платформы 42Crunch следующие данные хранятся на платформе SaaS:
- Имя, фамилия, адреса электронной почты пользователей платформы 42Crunch.
- Файлы OpenAPI/Swagger (описания API клиента).
- Отчеты, созданные во время выполнения задач проверки соответствия безопасности, выполняемых 42Crunch.
Как лицензировано 42Crunch?
42Crunch лицензирован на основе сочетания количества API и числа разработчиков, подготовленных на платформе. Примеры пакетов цен см . в этом списке Marketplace. Пользовательские цены доступны через частные предложения на коммерческой платформе Azure. Для пользовательской кавычки обратитесь к mailto:sales@42crunch.com.
Какова разница между бесплатной и платной версией 42Crunch?
42Crunch предлагает бесплатную ограниченную версию и платную корпоративную версию проверки безопасности и проверки соответствия.
Для бесплатной версии 42Crunch подключаемые модули CI/CD 42Crunch работают автономно, не требуя входа на платформу 42Crunch. Затем результаты аудита и сканирования становятся доступными в Microsoft Defender для облака, а также на платформе CI/CD. Аудиты и проверки ограничены до 25 выполнений в месяц каждый репозиторий с не более чем тремя репозиториями.
Для платной корпоративной версии 42Crunch аудит и сканирование по-прежнему выполняются локально в CI/CD, но могут синхронизироваться со службой платформы 42Crunch, где можно использовать несколько расширенных функций, включая настраиваемые шлюзы качества безопасности, словари данных и теги. Хотя корпоративная версия лицензирована для определенного количества API, нет ограничений на количество аудита и проверок, которые могут выполняться ежемесячно.
Доступно ли 42Crunch на коммерческой платформе Azure?
Да, 42Crunch доступен для покупки на коммерческой платформе Майкрософт здесь.
Обратите внимание, что покупки 42Crunch, сделанные через коммерческую платформу Azure, учитываются в отношении минимальных обязательств по использованию Azure (MACC).