Compartir vía


Guía de incorporación técnica de 42Crunch

42Crunch permite un enfoque estandarizado para proteger las API que automatizan la aplicación del cumplimiento de la seguridad de la API en los equipos de desarrollo y seguridad distribuidos. La plataforma de seguridad de API 42Crunch permite a los desarrolladores crear seguridad a partir del entorno de desarrollo integrado (IDE) en la canalización de CI/CD. Este enfoque simplificado de DevSecOps para la seguridad de API reduce los costos de gobernanza y acelera la entrega de API seguras.

Enfoque de pruebas de seguridad

A diferencia de las herramientas de DAST tradicionales que se usan para examinar aplicaciones web y móviles, 42Crunch ejecuta un conjunto de pruebas diseñadas y dirigidas precisamente para cada API en función de su diseño específico. Con el archivo de definición de OpenAPI (es decir, Swagger) como origen principal, el motor de análisis de 42Crunch ejecuta una batería de pruebas que validan la estrecha conformidad de la API con el diseño previsto. Este Examen de conformidad identifica varios problemas de seguridad, como las 10 vulnerabilidades principales de OWASP, los códigos de respuesta incorrectos y las infracciones de esquema. Estos problemas se notifican con contexto enriquecido, incluidos posibles escenarios de vulnerabilidades de seguridad e instrucciones de corrección.

Los exámenes se pueden ejecutar automáticamente como parte de una canalización de CI/CD o manualmente a través de un IDE o la plataforma en la nube de 42Crunch.

Dado que la calidad de la especificación de API determina en gran medida la cobertura y eficacia del examen, es importante asegurarse de que la especificación de OpenAPI esté bien definida. La Auditoría de 42Crunch realiza un análisis estático del archivo de especificación de OpenAPI destinado a ayudar al desarrollador a mejorar la seguridad y la calidad de la especificación. La Auditoría determina una puntuación de seguridad compuesta de 0 a 100 para cada archivo de especificación. A medida que los desarrolladores corrigen los problemas de seguridad y semántica identificados por la Auditoría, la puntuación mejora. 42Crunch recomienda una puntuación de auditoría de al menos 70 antes de ejecutar un examen de conformidad.

Habilitación

Nota:

Los pasos siguientes le guiarán por el proceso de configuración de la versión gratuita de 42Crunch. Consulte la sección de preguntas más frecuentes para obtener información sobre las diferencias entre las versiones gratuitas y de pago de 42Crunch y cómo comprar 42Crunch en Azure Marketplace.

A través de la confianza en los servicios de 42Crunch Auditoría y Examen, los desarrolladores pueden probar y proteger proactivamente las API dentro de sus canalizaciones de CI/CD a través de pruebas estáticas y dinámicas de las API frente a los principales riesgos de la API de OWASP y procedimientos recomendados de especificación de OpenAPI. Los resultados del examen de seguridad de 42Crunch ahora están disponibles en Defender for Cloud, lo que garantiza que los equipos de seguridad central tengan visibilidad sobre el estado de las API dentro de la experiencia de recomendación de Defender for Cloud y pueden realizar pasos de gobernanza disponibles de forma nativa a través de las recomendaciones de Defender for Cloud.

Conexión de los entornos de DevOps a Microsoft Defender for Cloud

Esta característica requiere conectar el entorno de DevOps a Defender for Cloud.

Consulte cómo incorporar las organizaciones de GitHub.

Consulte cómo incorporar las organizaciones de Azure DevOps.

Configuración del servicio de Auditoría de 42Crunch

La acción Pruebas estáticas de seguridad de la API de REST busca contratos de API de REST que siguen la especificación OpenAPI (OAS, anteriormente conocida como Swagger) y ejecuta comprobaciones exhaustivas de seguridad en ellos. Se admiten tanto OAS v2 como v3, en formato JSON y YAML.

La acción se basa en la Auditoría de seguridad de API de 42Crunch. La Auditoría de seguridad realiza un análisis estático de la definición de API que incluye más de 300 comprobaciones sobre los procedimientos recomendados y posibles vulnerabilidades sobre cómo la API define la autenticación, la autorización, el transporte y los esquemas de solicitud y respuesta.

Para entornos de GitHub

Instale el complemento Auditoría de Seguridad de API de 42Crunch en la canalización de CI/CD mediante los pasos siguientes:

  1. Inicia sesión en GitHub.

  2. Seleccione el repositorio en el que quiere configurar la acción de GitHub.

  3. Seleccione Actions (Acciones).

  4. Seleccione nuevo flujo de trabajo.

    Captura de pantalla que muestra la nueva selección de flujo de trabajo.

Para crear un nuevo flujo de trabajo predeterminado:

  1. Elija configurar un flujo de trabajo usted mismo.

  2. Cambie el nombre del flujo de trabajo de main.yaml a 42crunch-audit.yml.

  3. Ir a https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example.

  4. Copie el flujo de trabajo de ejemplo completo y péguelo en el editor de flujo de trabajo.

    Nota:

    En este flujo de trabajo se supone que tiene habilitado el escaneo de código de GitHub. Si está habilitado, asegúrese de que la opción upload-to-code-scanning está establecida en true. En caso de que no tenga habilitado el escaneo de código de GitHub, asegúrese de que la opción upload-to-code-scanning está establecida en false y siga los pasos adicionales que se indican a continuación en la sección Habilitar la integración de Defender for Cloud sin escaneo de código de GitHub.

    Captura de pantalla que muestra el editor de flujo de trabajo de GitHub.

  5. Seleccione Confirmar cambios. Puede confirmar directamente en la rama principal o crear una solicitud de incorporación de cambios. Se recomienda seguir los procedimientos recomendados de GitHub mediante la creación de una solicitud de incorporación de cambios, ya que el flujo de trabajo predeterminado se inicia cuando se abre una solicitud de incorporación de cambios en la rama principal.

  6. Seleccione Acciones y compruebe que se está ejecutando la nueva acción.

    Captura de pantalla que muestra la nueva acción en ejecución.

  7. Una vez completado el flujo de trabajo, seleccione Seguridady, a continuación, seleccione Examen de código para ver los resultados.

  8. Seleccione una alerta de examen de código detectada por las Pruebas de seguridad estáticas de la API de REST de 42Crunch. También puede filtrar por herramienta en la pestaña Examen de código. Filtre por las Pruebas de seguridad estáticas de la API de REST de 42Crunch.

    Captura de pantalla que muestra la alerta de análisis de código.

Ahora ha comprobado que los resultados de auditoría se muestran en la digitalización de código de GitHub. A continuación, comprobamos que estos resultados de auditoría están disponibles en Defender for Cloud. Los resultados pueden tardar hasta 30 minutos en mostrarse en Defender for Cloud.

Habilitación de la integración de Defender for Cloud sin análisis de Código de GitHub

Si no tiene el escaneo de código de GitHub para su entorno y desea integrar los resultados del examen de seguridad de 42Crunch en Defender for Cloud, puede seguir estos pasos. Después de agregar en el paso de flujo de trabajo de 42Crunch, agregue los pasos siguientes al flujo de trabajo de GitHub para enviar los resultados del escaneo directamente a Defender for Cloud mediante la acción de GitHub de Seguridad de Microsoft DevOps.

- 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

A continuación, agregue un permiso adicional al flujo de trabajo, estableciendo id-token en escritura.

Después de ejecutar el flujo de trabajo, los resultados pueden tardar hasta 30 minutos en mostrarse en Defender for Cloud.

  1. Seleccione Recomendaciones.
  2. Seleccione Todas las recomendaciones.
  3. Filtre mediante la búsqueda de Pruebas de seguridad de API.
  4. Seleccione la recomendación Los repositorios de GitHub deben tener resueltos los resultados de las pruebas de seguridad de API.

La recomendación seleccionada muestra todos los resultados de Auditoría de 42Crunch. Ha completado la incorporación para el paso auditoría 42Crunch.

Captura de pantalla que muestra el resumen de la API.

Para entornos de Azure DevOps

  1. Instale la extensión de Azure DevOps de 42Crunch en su organización.

  2. Cree una canalización en el proyecto de Azure DevOps. Para ver un tutorial para crear la primera canalización, consulte Creación de la primera canalización.

  3. Edite la canalización creada; para ello, copie el flujo de trabajo siguiente:

    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'
    
  4. Ejecución de la canalización

  5. Para comprobar que los resultados se publican correctamente en Azure DevOps, valide que 42Crunch-AuditReport.sarif se esté cargando en Build Artifacts en la carpeta CodeAnalysisLogs.

  6. Ha completado el proceso de incorporación. A continuación, comprobamos que los resultados se muestran en Defender for Cloud.

Vaya a Defender for Cloud:

  1. Seleccione Recomendaciones.
  2. Seleccione Todas las recomendaciones.
  3. Filtre mediante la búsqueda de Pruebas de seguridad de API.
  4. Seleccione la recomendación Los repositorios de Azure DevOps deben tener resueltos los resultados de las pruebas de seguridad de API.

La recomendación seleccionada muestra todos los resultados de Auditoría de 42Crunch. Ha completado la incorporación para el paso auditoría 42Crunch.

Captura de pantalla que muestra la recomendación de Azure DevOps.

Configuración del servicio Examen de 42Crunch

El examen de API examina continuamente la API para garantizar la conformidad con el contrato de OpenAPI y detectar vulnerabilidades en tiempo de prueba. Detecta los 10 principales problemas de seguridad de la API de OWASP al principio del ciclo de vida de la API y valida que las API pueden controlar solicitudes inesperadas.

La digitalización requiere un punto de conexión de API activa que no sea de producción y las credenciales necesarias (clave de API/token de acceso). Siga estos pasos para configurar el Examen de 42Crunch.

Consulte azure-pipelines-scan.yaml en el tutorial para ver las tareas específicas de ADO.

Preguntas más frecuentes

¿Cómo ayuda 42Crunch a los desarrolladores a identificar y corregir problemas de seguridad de API?

El examen de Auditoría y conformidad de seguridad de 42Crunch identifica posibles vulnerabilidades que existen en las API al principio del ciclo de vida de desarrollo. Los resultados del examen incluyen contexto enriquecido, incluida una descripción de la vulnerabilidad y la vulnerabilidad asociada e instrucciones detalladas de corrección. Los exámenes se pueden ejecutar automáticamente en la plataforma CI/CD o incrementalmente por el desarrollador dentro de su IDE a través de una de las Extensiones del IDE de 42Crunch.

¿Se puede usar 42Crunch para aplicar el cumplimiento de los estándares mínimos de calidad y seguridad para los desarrolladores?

Sí. 42Crunch incluye la capacidad de aplicar el cumplimiento mediante Puertas de calidad de seguridad (SQG). Los SQG se componen de determinados criterios que deben cumplirse para pasar correctamente una auditoría o un examen. Por ejemplo, un SQG puede asegurarse de que una auditoría o un examen con uno o varios problemas de gravedad críticos no se superen. En CI/CD, la auditoría o el examen de 42Crunch se pueden configurar para producir un error en una compilación si no se puede pasar un SQG, lo que requiere que un desarrollador resuelva el problema subyacente antes de insertar su código.

La versión gratuita de 42Crunch usa SQG predeterminados para auditoría y examen, mientras que la versión empresarial de pago permite la personalización de SQG y etiquetas, lo que permite aplicar SQG de forma selectiva a agrupaciones de API.

¿Qué datos se almacenan en el servicio SaaS de 42Crunch?

Se puede implementar una versión de prueba gratuita limitada del examen de Auditoría y conformidad de 42Crunch en CI/CD, que genera informes localmente sin necesidad de una conexión de SaaS a 42Crunch. En esta versión, no hay datos compartidos con la plataforma 42Crunch.

Para la versión empresarial completa de la plataforma 42Crunch, los datos siguientes se almacenan en la plataforma de SaaS:

  • Nombre, Apellidos, direcciones de correo electrónico de los usuarios de la plataforma 42Crunch.
  • Archivos OpenAPI/Swagger (descripciones de las API del cliente).
  • Informes que se generan durante las tareas del examen de Auditoría y conformidad de seguridad realizadas por 42Crunch.

¿Cómo tiene licencia 42Crunch?

42Crunch tiene licencia basada en una combinación del número de API y el número de desarrolladores que se aprovisionan en la plataforma. Para obtener ejemplos de paquetes de precios, consulte esta lista del marketplace. Los precios personalizados están disponibles a través de ofertas privadas en el marketplace comercial de Azure. Para una oferta personalizada, póngase en contacto con mailto:sales@42crunch.com.

¿Cuál es la diferencia entre la versión gratuita y de pago de 42Crunch?

42Crunch ofrece una versión limitada gratuita y una versión empresarial de pago del examen de Auditoría y conformidad de seguridad.

Para la versión gratuita de 42Crunch, los complementos de CI/CD de 42Crunch funcionan de forma independiente, sin necesidad de iniciar sesión en la plataforma 42Crunch. Los resultados de auditoría y examen se muestran a continuación en Microsoft Defender for Cloud, así como en la plataforma de CI/CD. Las auditorías y exámenes se limitan a hasta 25 ejecuciones al mes cada, por repositorio, con un máximo de tres repositorios.

Para la versión empresarial de pago de 42Crunch, las auditorías y los exámenes se siguen ejecutando localmente en CI/CD, pero pueden sincronizarse con el servicio de la plataforma 42Crunch, donde puede usar varias características avanzadas, como puertas de calidad de seguridad personalizables, diccionarios de datos y etiquetado. Aunque la versión empresarial tiene licencia para un determinado número de API, no hay límites para el número de auditorías y exámenes que se pueden ejecutar mensualmente.

¿42Crunch está disponible en el marketplace comercial de Azure?

Sí, 42Crunch está disponible para su compra en el marketplace comercial de Microsoft aquí.

Tenga en cuenta que las compras de 42Crunch realizadas a través del marketplace comercial de Azure cuentan con los compromisos mínimos de consumo de Azure (MACC).

Pasos siguientes

Introducción a Microsoft Defender para API