Skip to main content

Esta versión de GitHub Enterprise Server se discontinuará el 2026-04-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Procedimientos recomendados para proteger el sistema de compilación

Instrucciones sobre cómo proteger el extremo final de la cadena de suministro, específicamente, los sistemas que se usan para compilar y distribuir artefactos.

Acerca de esta guía

En esta guía se describen los cambios de mayor impacto que puede realizar para mejorar la seguridad de los sistemas de compilación. Cada sección detalla un cambio que puedes hacer a tus procesos para mejorar la seguridad. Los cambios de mayor impacto se enumeran primero.

¿Cuál es el riesgo?

Algunos ataques en las cadenas de suministro de software se dirigen directamente al sistema de compilación. Si un atacante puede modificar el proceso de compilación, puede aprovechar el sistema sin el esfuerzo de poner en peligro las cuentas personales o el código. Es importante asegurarse de proteger el sistema de compilación, así como las cuentas personales y el código.

Asegura tu sistema de compilación

Hay varias funcionalidades de seguridad que debe tener un sistema de compilación:

  1. Los pasos de compilación deben ser claros y repetibles.

  2. Debe saber exactamente lo que se ejecuta durante el proceso de compilación.

  3. Cada compilación se debe iniciar en un entorno nuevo, de forma que una compilación en peligro no se conserve y afecte a futuras compilaciones.

           GitHub Actions puede ayudarle a cumplir estas funcionalidades. Las instrucciones de compilación se almacenan en el repositorio, junto con el código. Puede elegir en qué entorno se ejecuta la compilación, incluidos Windows, Mac, Linux o ejecutores que hospede personalmente. Cada compilación comienza con una imagen de ejecutor nueva, lo que dificulta la persistencia de ataques en el entorno de compilación.
    

Además de las ventajas de seguridad, GitHub Actions permite desencadenar compilaciones manualmente, periódicamente o en eventos de Git en el repositorio para compilaciones frecuentes y rápidas.

          GitHub Actions es un tema importante, pero un buen lugar para empezar es [AUTOTITLE](/actions/learn-github-actions/understanding-github-actions), así como [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners), y [AUTOTITLE](/actions/using-workflows/triggering-a-workflow).

Firma de las compilaciones

Después de proteger el proceso de compilación, querrá impedir que alguien manipule su resultado final. Una excelente manera de hacerlo consiste en firmar las compilaciones. Al distribuir software de forma pública, esto se suele hacer con un par de claves criptográficas públicas y privadas. Use la clave privada para firmar la compilación y publique la clave pública para que los usuarios del software puedan comprobar la firma en la compilación antes de usarla. Si se modifican los bytes del build, la firma no se verificará.

La forma exacta de firmar la compilación dependerá del tipo de código que escribas y de quiénes sean tus usuarios. A menudo es difícil saber cómo almacenar de forma segura la clave privada. Una opción básica aquí es usar GitHub Actions secretos cifrados, aunque deberá tener cuidado de limitar quién tiene acceso a esos GitHub Actions flujos de trabajo. Si la clave privada solo es accesible desde una red privada, otra opción es usar ejecutores autohospedados para GitHub Actions.

Para obtener más información, consulte Uso de secretos en Acciones de GitHub y Ejecutores autohospedados.

Refuerzo de la seguridad para GitHub Actions

Hay muchos pasos adicionales que puede tomar además para proteger GitHub Actions. En concreto, tenga cuidado al evaluar flujos de trabajo de terceros y considere la posibilidad de usar CODEOWNERS para limitar quién puede realizar cambios en los flujos de trabajo.

Para más información, consulta Referencia de uso seguro y Referencia de uso seguro.

Pasos siguientes

  •         [AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code)