0Pricing
Cloud & IT Cert Prep · Lección

DevSecOps: integrar la seguridad desde el inicio en los pipelines

Integre SAST, DAST, análisis de contenedores y comprobaciones de seguridad de IaC en los pipelines de CI/CD para que los controles de seguridad se apliquen automáticamente en cada commit.

DevSecOps: integrar la seguridad desde el inicio en los pipelines es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué significa desplazar la seguridad hacia la izquierda?

Desplazar la seguridad hacia la izquierda significa integrar las actividades de seguridad en etapas más tempranas del ciclo de vida del desarrollo de software, como el IDE del desarrollador, la revisión de código y la canalización de CI/CD, en lugar de probar la seguridad como una puerta final antes de la implementación. Las revisiones de seguridad tradicionales se realizaban al final del ciclo de desarrollo, lo que hacía que las correcciones fueran costosas y requirieran mucho tiempo. Detectar una vulnerabilidad durante el desarrollo cuesta aproximadamente 100 veces menos que corregirla al descubrirla en producción después de una brecha.

¿Qué es DevSecOps?

DevSecOps amplía el modelo DevOps al integrar la seguridad como una responsabilidad compartida entre los equipos de desarrollo, operaciones y seguridad durante todo el SDLC. El objetivo es automatizar las pruebas de seguridad para que se ejecuten en cada etapa sin ralentizar la entrega. La seguridad se convierte en una propiedad continua del pipeline, en lugar de ser un punto de control único. En los programas maduros de DevSecOps, los desarrolladores reciben comentarios sobre seguridad pocos segundos después de escribir el código, no semanas después de una revisión manual.

SAST: pruebas estáticas de seguridad de aplicaciones

SAST (Static Application Security Testing) analiza el código fuente, el bytecode o los binarios sin ejecutar la aplicación. Las herramientas SAST buscan patrones que indican vulnerabilidades: concatenación de SQL, salidas no saneadas, uso de funciones prohibidas, credenciales codificadas de forma fija y uso inseguro de criptografía. SAST se ejecuta en el pipeline de CI con cada commit, detectando problemas antes de que lleguen a QA o producción. Entre las herramientas populares se encuentran Semgrep, SonarQube, Checkmarx y Veracode.

# Semgrep SAST rule example:
# Detect raw SQL string concatenation (SQL injection risk):
# rules:
#   - id: sql-injection-string-concat
#     pattern: |
#       $QUERY = '...' + $USER_INPUT
#       $DB.execute($QUERY)
#     message: 'SQL injection risk: use parameterized queries'
#     severity: ERROR
#     languages: [python]

# Running Semgrep in CI:
# semgrep --config auto --error src/
# -> Fails build if ERROR severity findings found

DAST: pruebas dinámicas de seguridad de aplicaciones

DAST (Dynamic Application Security Testing) prueba una aplicación en ejecución enviando cargas maliciosas y observando las respuestas, para simular el comportamiento de un atacante real. A diferencia de SAST, DAST detecta vulnerabilidades que solo aparecen durante la ejecución: fallos de autenticación, problemas de gestión de sesiones, errores de lógica empresarial y vulnerabilidades de inyección en flujos de datos complejos. Entre las herramientas DAST populares se encuentran OWASP ZAP (gratuita), Burp Suite Enterprise y Acunetix. DAST se ejecuta en un entorno de staging dentro del pipeline.

# OWASP ZAP automated DAST in CI pipeline:
# docker run -t owasp/zap2docker-stable zap-baseline.py \
#   -t https://staging.myapp.com \
#   -r zap-report.html \
#   -I  (do not fail on alerts, report only)

# For blocking builds on high findings:
# zap-full-scan.py -t https://staging.myapp.com \
#   -l HIGH   (fail if HIGH or CRITICAL alerts found)

# ZAP tests for:
# SQL injection, XSS, CSRF, insecure headers,
# path traversal, broken authentication, open redirects

Análisis de imágenes de contenedor

Las imágenes de contenedor se crean a partir de imágenes base que contienen paquetes del sistema operativo, entornos de ejecución de lenguajes y dependencias de aplicaciones, todas ellas posibles fuentes de vulnerabilidades conocidas. Las herramientas de análisis de imágenes de contenedor analizan las capas de las imágenes e identifican los paquetes vulnerables. Trivy (gratuita y rápida), Grype (de Anchore) y Clair se utilizan ampliamente. Los análisis se ejecutan como parte del pipeline de compilación de imágenes y bloquean la promoción a los registros de producción de las imágenes con CVE críticos.

# Trivy container scan in CI pipeline:
# trivy image --severity HIGH,CRITICAL \
#             --exit-code 1 \
#             myapp:latest

# Output example:
# library/python:3.9-slim (debian 11.6)
# ===================================
# CVE-2023-1234  CRITICAL  openssl 1.1.1n-0+deb11u3 -> 1.1.1t
# CVE-2023-5678  HIGH      libssl  1.1.1n            -> 1.1.1t

# --exit-code 1 causes pipeline to fail
# on any HIGH or CRITICAL finding -> blocks push to registry

Análisis de seguridad de Infrastructure as Code (IaC)

El análisis de seguridad de IaC examina Terraform, CloudFormation, los manifiestos de Kubernetes y los charts de Helm para detectar configuraciones incorrectas de seguridad antes de aplicarlas. Herramientas como Checkov y tfsec comprueban infracciones como: buckets de S3 sin cifrado del lado del servidor, grupos de seguridad que permiten todo el tráfico entrante, roles de IAM con permisos comodín y pods de Kubernetes que se ejecutan como root. El análisis de IaC evita que las configuraciones incorrectas de la nube lleguen a cualquier entorno.

# Checkov IaC scan example:
# checkov -d ./terraform/ --compact

# Findings example:
# FAILED: CKV_AWS_20: S3 Bucket has an ACL defined which allows public access
#   File: /terraform/s3.tf, Line: 15

# FAILED: CKV_AWS_57: S3 Bucket has server access logging disabled
#   File: /terraform/s3.tf, Line: 15

# FAILED: CKV_AWS_24: Ensure no security groups allow all ingress traffic
#   File: /terraform/sg.tf, Line: 8

# Passed checks: 47, Failed: 3, Skipped: 0

Detección de secretos en los pipelines

Las herramientas de detección de secretos comprueban el código fuente y los commits en busca de credenciales incluidas accidentalmente. Herramientas como truffleHog, GitLeaks y detect-secrets analizan el historial de git y los commits nuevos en busca de patrones que coincidan con claves de API, cadenas de conexión, claves privadas y tokens JWT. Como hook de pre-commit, la detección de secretos bloquea los commits que incluyen credenciales. Como puerta de control de CI, analiza todos los archivos del repositorio con cada push y hace que la compilación falle si se detectan secretos.

# GitLeaks pre-commit hook configuration:
# .gitleaks.toml:
# [allowlist]
#   description = 'Known false positives'
#   paths = ['test/fixtures/fake_key.txt']

# Install as pre-commit hook:
# gitleaks protect --staged
# (scans staged files before commit is created)

# In CI pipeline:
# gitleaks detect --source=. --report-format=json \
#   --report-path=gitleaks-report.json
# exit code 1 = secrets found -> blocks pipeline

Modelado de amenazas en el SDLC

El modelado de amenazas es un proceso estructurado para identificar requisitos de seguridad y fallos de diseño antes de escribir el código. El modelo STRIDE (suplantación de identidad, manipulación, repudio, divulgación de información, denegación de servicio y elevación de privilegios) ayuda a los equipos a enumerar sistemáticamente las amenazas contra el diagrama de flujo de datos de un sistema. Las sesiones de modelado de amenazas se realizan durante el diseño y producen una lista priorizada de amenazas que impulsa los requisitos de seguridad y orienta la selección de reglas de SAST/DAST.

# STRIDE threat categories applied to a web login API:
# S - Spoofing:       Attacker impersonates valid user
#     Control: Strong authentication, MFA
# T - Tampering:      Attacker modifies login request
#     Control: TLS, HMAC, input validation
# R - Repudiation:    User denies actions taken
#     Control: Audit logging with tamper-evident storage
# I - Info Disclosure: Password exposed in logs
#     Control: Never log sensitive fields
# D - Denial of Service: Flood login endpoint
#     Control: Rate limiting, CAPTCHA
# E - Elevation of Privilege: Bypass authorization
#     Control: Server-side authorization checks

Puertas de seguridad: bloqueo frente a advertencia

Los pipelines de DevSecOps implementan las comprobaciones de seguridad como puertas de bloqueo (hacen que la compilación falle e impiden el despliegue) o como comprobaciones informativas (informan de los hallazgos y permiten que el despliegue continúe). Normalmente, los hallazgos críticos y de gravedad alta de SAST, del análisis de contenedores y de la detección de secretos bloquean el proceso. Los hallazgos de gravedad media y baja generan notificaciones o tickets sin bloquearlo. Este equilibrio evita que la seguridad detenga toda la entrega y, al mismo tiempo, garantiza que las condiciones realmente peligrosas no lleguen automáticamente a producción.

Métricas de seguridad en DevSecOps

Los programas de DevSecOps deben medirse con métricas claras. Entre las métricas clave se incluyen: el tiempo medio de corrección (MTTR) de los hallazgos de gravedad alta, la densidad de vulnerabilidades (hallazgos por cada 1.000 líneas de código a lo largo del tiempo), la tasa de escape (porcentaje de vulnerabilidades detectadas después de llegar a producción frente a las detectadas antes de producción) y la tasa de aprobación de las puertas de seguridad del pipeline. Analizar la tendencia de estas métricas a lo largo del tiempo demuestra la eficacia del programa y orienta las decisiones de inversión en herramientas o formación adicionales.

Cultura: la seguridad como responsabilidad compartida

La parte más difícil de DevSecOps es cultural, no técnica. La seguridad debe convertirse en responsabilidad de cada desarrollador, no solo del equipo de seguridad. Esto requiere: formación de los desarrolladores en seguridad (concienciación sobre prácticas de codificación segura), responsables de seguridad integrados en los equipos de desarrollo, análisis posteriores a incidentes sin culpabilización cuando las vulnerabilidades llegan a producción (concentrándose en mejorar los procesos, no en castigar) y compromiso ejecutivo para aceptar concesiones de velocidad cuando un riesgo de seguridad real lo requiera. La tecnología sin un cambio cultural produce herramientas de análisis que los desarrolladores aprenden a ignorar.

Comprobación rápida

Ponga a prueba su comprensión de los conceptos de CompTIA Security+ (SY0-701) de esta lección.

Resumen de la lección

En esta lección ha aprendido que DevSecOps integra SAST, DAST, la detección de secretos, el análisis de contenedores y el análisis de IaC como puertas automatizadas del pipeline; que bloquear los hallazgos de gravedad alta evita que condiciones peligrosas lleguen a producción; y que desplazar la seguridad hacia la izquierda reduce drásticamente los costes de corrección al detectar las vulnerabilidades durante el desarrollo, en lugar de hacerlo después del despliegue. A continuación, exploraremos los controles de seguridad física para instalaciones y centros de datos.

Preguntas frecuentes

¿La lección «DevSecOps: integrar la seguridad desde el inicio en los pipelines» es gratis?

Sí — el texto completo de «DevSecOps: integrar la seguridad desde el inicio en los pipelines» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué aprenderé en «DevSecOps: integrar la seguridad desde el inicio en los pipelines»?

Integre SAST, DAST, análisis de contenedores y comprobaciones de seguridad de IaC en los pipelines de CI/CD para que los controles de seguridad se apliquen automáticamente en cada commit. Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?

No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «DevSecOps: integrar la seguridad desde el inicio en los pipelines»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?

Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Validación de entradas y codificación de salidas
  2. Gestión segura de secretos y variables de entorno
  3. Seguridad de dependencias y análisis de composición de software
  4. DevSecOps: integrar la seguridad desde el inicio en los pipelines
← Volver a Cloud & IT Cert Prep