> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Escaneo de infraestructura como código (IaC)

> El escaneo de IaC detecta automáticamente configuraciones de seguridad incorrectas y secretos expuestos en el código de infraestructura antes del despliegue. Analiza archivos de Kubernetes, Terraform, Docker, CloudFormation y otras herramientas de IaC para identificar riesgos de seguridad, incumplimientos normativos y desviaciones de las prácticas recomendadas.

## Resumen

* **Qué hace**: El escaneo de IaC analiza los archivos de configuración de infraestructura para identificar configuraciones de seguridad incorrectas, infracciones de políticas y secretos incluidos directamente en el código antes de que lleguen a producción. Admite varios formatos, como manifiestos de Kubernetes, archivos de Terraform, Dockerfiles y plantillas de CloudFormation, y proporciona hallazgos detallados con su gravedad y recomendaciones de remediación.

* **Para quién es**: Esta función está dirigida a profesionales de DevOps, arquitectura cloud, seguridad e ingeniería de plataformas que gestionan infraestructura como código. Resulta especialmente útil para los equipos que adoptan prácticas cloud native, implementan flujos de trabajo de GitOps o deben cumplir requisitos normativos en sus despliegues de infraestructura.

## Características y beneficios principales

* **Cobertura integral de IaC**: Escanea código de infraestructura en distintas plataformas y formatos, incluidos Kubernetes, Docker, Terraform, CloudFormation, plantillas de Azure ARM y charts de Helm

* **Capacidades de detección dual**:
  * **Detección de configuración incorrecta**: Identifica configuraciones inseguras, controles de seguridad ausentes, permisos excesivos y violaciones de cumplimiento
  * **Detección de secretos**: Encuentra credenciales incluidas directamente en el código, claves de API, tokens y datos sensibles incrustados en el código de infraestructura

* **Información detallada sobre los hallazgos**: Incluye:
  * Descripciones de problemas de configuración e impacto en la seguridad
  * Niveles de gravedad (crítica, alta, media y baja)
  * Recursos afectados y ubicaciones de archivos
  * Guía de remediación y recomendaciones de mejores prácticas

* **Detección inteligente**: Identifica automáticamente los archivos IaC en tu repositorio y aplica las comprobaciones de seguridad adecuadas según el tipo de archivo

## Tipos de infraestructura compatibles

<AccordionGroup>
  <Accordion title="Kubernetes">
    **Patrones de archivo**: `*.yml`, `*.yaml`, `*.json`

    Detecta problemas como:

    * Contenedores privilegiados y capacidades inseguras
    * Límites de recursos y contextos de seguridad ausentes
    * Secretos expuestos en manifiestos
    * Errores en la configuración de políticas de red
  </Accordion>

  <Accordion title="Docker">
    **Patrones de archivo**: `Dockerfile`, `Containerfile`

    Detecta problemas como:

    * Ejecución como usuario root
    * Ausencia de health checks
    * Secretos expuestos en argumentos de compilación
    * Imágenes base inseguras
  </Accordion>

  <Accordion title="Terraform">
    **Patrones de archivo**: `*.tf`, `*.tf.json`, `*.tfvars`, `tfplan`, `*.tfplan`

    Detecta problemas como:

    * Recursos en la nube accesibles públicamente
    * Almacenamiento y bases de datos sin cifrar
    * Políticas IAM excesivamente permisivas
    * Registro y supervisión ausentes
  </Accordion>

  <Accordion title="CloudFormation">
    **Patrones de archivo**: `*.yml`, `*.yaml`, `*.json`

    Detecta problemas como:

    * Grupos de seguridad abiertos
    * Buckets de S3 sin cifrar
    * Registro de CloudTrail ausente
    * Configuraciones inseguras de recursos de AWS
  </Accordion>

  <Accordion title="Plantillas Azure ARM">
    **Patrones de archivo**: `*.json`

    Detecta problemas como:

    * Contenedores públicos de blob
    * Cifrado deshabilitado
    * Reglas de seguridad de red débiles
    * Falta de ajustes de diagnóstico
  </Accordion>

  <Accordion title="Charts de Helm">
    **Patrones de archivo**: `*.yaml`, `*.tpl`, `*.tar.gz`

    Detecta problemas en plantillas de Helm similares a las comprobaciones de manifiestos de Kubernetes
  </Accordion>
</AccordionGroup>

## Instrucciones de configuración

<Note>El escaneo IaC no está habilitado por defecto. Contacta con soporte para habilitar esta función en tu cuenta de empresa.</Note>

<Info>El proyecto debe contener al menos un archivo IaC compatible para permitir el escaneo de infraestructura.</Info>

### Pasos de configuración

<Steps>
  <Step title="Verificar archivos IaC">
    Asegúrate de que tu proyecto contiene archivos de infraestructura compatibles en cualquiera de los formatos mencionados anteriormente
  </Step>

  <Step title="Configurar el alcance de escaneo">
    Elige si incluir escaneo IaC en escaneos completos o parciales
  </Step>

  <Step title="Configurar notificaciones">
    Configura alertas para configuraciones críticas erróneas y secretos expuestos
  </Step>
</Steps>

## Guía de uso

### Flujos de trabajo clave

1. **Detección automática**: El sistema identifica automáticamente los archivos de IaC del repositorio
2. **Análisis de configuración**: Aplica comprobaciones de seguridad y normas de cumplimiento basadas en el tipo de archivo
3. **Detección de configuraciones incorrectas**: Identifica problemas de seguridad, infracciones de políticas y desviaciones de las prácticas recomendadas
4. **Detección de secretos**: Busca credenciales incluidas directamente en el código e información sensible
5. **Creación de hallazgos**: Crea un hallazgo de seguridad con seguimiento para cada vulnerabilidad detectada
6. **Informes**: Genera informes completos con orientación prioritaria para remediación

### Ejemplos comunes de mala configuración

<CodeGroup>
  ```yaml Kubernetes - Insecure Container theme={null}
  # ❌ Insecure
  apiVersion: v1
  kind: Pod
  spec:
    containers:
    - name: app
      image: myapp:latest
      securityContext:
        privileged: true  # High severity issue
  ```

  ```dockerfile Docker - Running as Root theme={null}
  # ❌ Insecure
  FROM ubuntu:latest
  RUN apt-get update && apt-get install -y myapp
  CMD ["myapp"]  # Running as root
  ```

  ```hcl Terraform - Public S3 Bucket theme={null}
  # ❌ Insecure
  resource "aws_s3_bucket" "data" {
    bucket = "my-data-bucket"
    acl    = "public-read"  # Critical severity issue
  }
  ```
</CodeGroup>

### Desglose de gravedad

<Warning>**Crítico**: Se requiere acción inmediata, expone datos sensibles o permite el acceso no autorizado</Warning>

* **Alto**: Debe abordarse antes del despliegue, riesgo de seguridad significativo
* **Medio**: Debe abordarse en mantenimiento regular, impacto moderado en la seguridad
* **Bajo**: Mejoras en las mejores prácticas, riesgo inmediato mínimo

## Mejores prácticas

<Tip>Integra el escaneo IaC en tu pipeline CI/CD para detectar problemas antes del despliegue.</Tip>

* **Shift left**: Escanea el código de infraestructura durante el desarrollo, no solo antes del despliegue
* **Política como código**: Define y aplica las políticas de seguridad específicas de la organización
* **Control de versiones**: Almacena todo el código de infraestructura en el control de versiones para las auditorías
* **Privilegios mínimos**: Configura en cada recurso únicamente los permisos necesarios
* **Cifrado**: Habilita el cifrado en reposo y en tránsito para todos los recursos sensibles
* **Revisiones periódicas**: Revisa y actualiza periódicamente las políticas de seguridad de IaC
* **Gestión de secretos**: Utiliza herramientas de gestión de secretos, como Vault o AWS Secrets Manager, en lugar de incluirlos directamente en el código
* **Cumplimiento normativo**: Asocia los hallazgos a los marcos aplicables, como CIS o SOC 2

## Resolución de problemas

<AccordionGroup>
  <Accordion title="No se encontraron problemas, pero sí hay archivos IaC">
    **Solución**: Comprueba que los archivos de IaC tengan formatos compatibles y una sintaxis válida

    **Comprobación**: Asegúrate de que los archivos no estén dañados ni contengan errores de sintaxis
  </Accordion>

  <Accordion title="Demasiados hallazgos de baja gravedad">
    **Solución**: Céntrate primero en los hallazgos críticos y de gravedad alta; aborda después los de menor gravedad

    **Comprobar**: Considera ajustar los umbrales de gravedad según la tolerancia al riesgo de tu organización
  </Accordion>

  <Accordion title="Falsos positivos en configuraciones erróneas">
    **Solución**: Revisa el contexto de configuración específico; algunos hallazgos pueden no aplicarse a tu caso de uso

    **Comprobación**: Utiliza comentarios de supresión o excepciones de política para las configuraciones intencionadas
  </Accordion>

  <Accordion title="El escaneo no detecta todos los archivos IaC">
    **Solución**: Comprueba que las extensiones de archivo coincidan con los patrones compatibles

    **Comprobación**: Comprueba que los archivos no estén en directorios omitidos mediante .gitignore
  </Accordion>
</AccordionGroup>

## Características relacionadas

* [Escaneo secreto](secret-scanning) - Detección de secretos dedicada en todos los tipos de archivos
* [Escaneo de dependencias (SCA)](sca) - Escaneo de vulnerabilidades en dependencias de terceros
* [SAST nativo de IA (BLAST)](blast) - Pruebas de seguridad de aplicaciones para código fuente
