DevOps Bootcamp · Lección

Buenas prácticas de seguridad en CI/CD

Comprenda las vulnerabilidades de seguridad habituales en las canalizaciones y las prácticas recomendadas para mitigar riesgos durante todo el ciclo de desarrollo.

Lección 1 de 411 pasos

Buenas prácticas de seguridad en CI/CD es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 1 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 DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Por qué es importante la seguridad de CI/CD

En el desarrollo de software moderno, los pipelines de CI/CD son fundamentales. Automatizan la compilación, las pruebas y el despliegue de su código.

Pero un gran poder conlleva una gran responsabilidad. Proteger estos pipelines es esencial para proteger su código, sus datos y su infraestructura frente a ataques maliciosos o vulnerabilidades accidentales.

Identificar vulnerabilidades en el pipeline

Antes de protegerlo, debemos entender contra qué lo protegemos. Los pipelines de CI/CD pueden ser vulnerables a varios tipos de ataques:

  • Credenciales comprometidas: Claves de API o tokens robados.
  • Dependencias maliciosas: Uso de bibliotecas con vulnerabilidades de seguridad conocidas.
  • Configuraciones inseguras: Controles de acceso o pasos de compilación configurados incorrectamente.
  • Ataques a la cadena de suministro: Manipulación del propio proceso de compilación.

Aplicar el principio de mínimo privilegio

El principio de mínimo privilegio (PoLP) consiste en conceder a los usuarios y procesos automatizados (como los trabajos de CI/CD) únicamente los permisos mínimos que necesitan para realizar su tarea, y ninguno más.

Esto limita los posibles daños si una credencial o un trabajo se ven comprometidos. En GitHub Actions, defina permisos específicos para cada trabajo.

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: read # Only read access to repo code
      packages: write # Only write to package registry
      id-token: write # Needed for OIDC authentication
    steps:
      - uses: actions/checkout@v4
      - run: echo "Build logic here"

Proteger el código y las dependencias

El código fuente es el núcleo de su aplicación. Asegúrese de protegerlo desde el principio.

  • Revisiones de código: Las revisiones entre pares detectan posibles fallos de seguridad.
  • Análisis estático: Utilice herramientas para analizar el código en busca de vulnerabilidades (aunque el SAST específico se tratará en una lección posterior).
  • Análisis de dependencias: Compruebe periódicamente si existen vulnerabilidades conocidas en bibliotecas de terceros.

Gestionar las dependencias de terceros

La mayoría de los proyectos dependen de bibliotecas de código abierto. Aunque son potentes, pueden introducir vulnerabilidades si no se gestionan con cuidado.

  • Utilice un analizador de dependencias: Integre herramientas como Dependabot para comprobar automáticamente si existen vulnerabilidades conocidas.
  • Fije las dependencias: Especifique versiones exactas de las dependencias para evitar cambios inesperados.
  • Actualizaciones periódicas: Mantenga las dependencias actualizadas para beneficiarse de los parches de seguridad.

Reforzar el entorno de compilación

El entorno donde se compila y prueba el código debe ser lo más seguro posible. Considérelo una sala limpia para su software.

  • Ejecutores efímeros: Utilice entornos nuevos y aislados para cada trabajo. Los ejecutores alojados por GitHub son efímeros de forma predeterminada.
  • Herramientas mínimas: Instale solo las herramientas necesarias para reducir la superficie de ataque.
  • Imágenes base seguras: Si utiliza contenedores, use imágenes base de confianza y reforzadas.

Nunca incluya secretos de forma fija

La información sensible, como las claves de API, las credenciales de bases de datos o los tokens privados, NUNCA debe incluirse directamente en el repositorio ni en los archivos de flujo de trabajo.

Utilice siempre un sistema seguro de gestión de secretos. Así mantendrá los datos sensibles fuera del control de versiones y cifrados.

Validar las entradas del flujo de trabajo

Si su flujo de trabajo acepta entradas externas (por ejemplo, de un desencadenador manual o de un comentario en una pull request), estas entradas deben validarse y sanitizarse.

Las entradas que no son de confianza pueden ser un vector de ataques de inyección, de forma similar a como las aplicaciones web validan las entradas de los usuarios.

on:
  workflow_dispatch:
    inputs:
      deploy_env:
        description: 'Environment to deploy to (e.g., staging, production)'
        required: true
        type: choice
        options:
          - 'staging'
          - 'production'
      version_tag:
        description: 'Git tag for the release version'
        required: true
        type: string

Registrar y supervisar la actividad del pipeline

La visibilidad de la actividad de su pipeline es un control de seguridad fundamental. Un buen registro ayuda a detectar y responder rápidamente a comportamientos sospechosos.

  • Registro exhaustivo: Registre todos los eventos y acciones importantes de sus flujos de trabajo.
  • Supervisión de anomalías: Busque comprobaciones de seguridad fallidas, intentos de acceso no autorizados o tiempos de compilación inusuales.
  • Alertas: Configure alertas para los eventos de seguridad críticos.

Compruebe su comprensión

Pongamos a prueba sus conocimientos sobre las prácticas recomendadas de seguridad de CI/CD.

Resumen de la lección y próximos pasos

¡Enhorabuena! Ha aprendido prácticas de seguridad esenciales para sus pipelines de CI/CD.

  • Aplique el principio de mínimo privilegio.
  • Proteja el código fuente y gestione las dependencias.
  • Refuerce los entornos de compilación.
  • Nunca incluya secretos de forma fija.
  • Valide todas las entradas de los flujos de trabajo.
  • Implemente un registro y una supervisión sólidos.

Estas prácticas forman una base sólida para un ciclo de vida de DevOps seguro. En las próximas lecciones profundizaremos en herramientas y técnicas específicas, como GitHub Secrets y SAST.

Gratis para empezar

Aprende DevOps Bootcamp con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
142
Lecciones
568

Preguntas frecuentes

¿La lección «Buenas prácticas de seguridad en CI/CD» es gratis?

Sí — el texto completo de «Buenas prácticas de seguridad en CI/CD» 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 DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Buenas prácticas de seguridad en CI/CD»?

Comprenda las vulnerabilidades de seguridad habituales en las canalizaciones y las prácticas recomendadas para mitigar riesgos durante todo el ciclo de desarrollo. Practicas DevOps Bootcamp 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 DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp 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 1 de 4.

¿Cuánto tiempo toma la lección «Buenas prácticas de seguridad en CI/CD»?

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 DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp 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. Buenas prácticas de seguridad en CI/CD
  2. Gestión de secretos con GitHub
  3. Pruebas estáticas de seguridad de aplicaciones (SAST)
  4. Seguridad de dependencias y de la cadena de suministro (SCA)
← Volver a DevOps Bootcamp