Como propietario de una empresa, eres responsable de mantener una posición de seguridad sólida, cumplir con las regulaciones, mitigar los riesgos y proteger la propiedad intelectual, dentro de la empresa. GitHub tiene herramientas que pueden ayudar con eso.
Almacenar el código de la empresa en GitHub permite una colaboración, un seguimiento y una implementación fáciles desde una sola ubicación. Aunque permitir que los usuarios trabajen en repositorios con la menor fricción posible es importante para la cultura y la productividad, querrás implementar algunos controles sobre su trabajo para garantizar que el código permanezca seguro y confiable.
Con GitHub Enterprise, tienes acceso a la gama completa de características de gobernanza de GitHub, lo que te permite lo siguiente:
- Controlar cómo los usuarios pueden actualizar el código
- Controlar cómo los usuarios pueden usar los repositorios
- Supervisión de la actividad
- Detectar secretos filtrados
- Configurar un proceso de aprobación para acciones importantes
- Detectar vulnerabilidades o errores en el código
Proteger las ramas
En el caso de las ramas importantes de los repositorios de la empresa, como las que contienen código de producción, el marco de cumplimiento debe reducir el riesgo de errores o código malintencionado que entra en los entornos de producción.
Con los conjuntos de reglas, puedes aplicar reglas que rigen cómo los usuarios pueden interactuar con ramas específicas. También puedes conceder a determinados usuarios el derecho de omitir explícitamente las reglas, lo que proporciona flexibilidad a la vez que hace que las restricciones previstas sean claras.
Muchas empresas agregan reglas que:
-
**Restringen las eliminaciones**, para que tenga la seguridad de que los usuarios no eliminarán accidentalmente la rama -
**Exigen una solicitud de incorporación de cambios** para todos los cambios, para que lo tenga todo en papel y pueda aplicar revisiones -
**Exigen que las implementaciones y comprobaciones de estado se realicen correctamente** antes de combinar las solicitudes de incorporación de cambios, para que pueda protegerse frente a errores en producción
Otras reglas, como requerir confirmaciones firmadas o un historial de confirmaciones lineales, son más contextuales y dependen de los requisitos de cumplimiento.
Para más información, consulta Acerca de los conjuntos de reglas.
Gobernanza de la utilización de los repositorios
Como los repositorios son donde se almacenan el código y los datos de las empresas, es importante definir cómo los usuarios pueden interactuar con los repositorios para reducir el riesgo de fugas de datos. En la configuración de la empresa, puedes establecer directivas para lo siguiente:
- Restringir la visibilidad predeterminada de los repositorios
- Impedir que los usuarios que no sean miembros sean invitados a los repositorios
- Impedir que los repositorios se bifurquen o transfieran fuera de una organización
El objetivo de las directivas debe ser mantener los requisitos de seguridad al tiempo que se promueve la colaboración y se reduce la fricción para los desarrolladores. Por ejemplo, podría crear una organización de "open source" para todos los repositorios públicos de la empresa e impedir que los repositorios públicos se creen en cualquier otra organización.
Para obtener información sobre cómo establecer directivas, consulta Implantar políticas de gestión de repositorios en su empresa.
Políticas de orientación con metadatos
Puede habilitar una mejor gobernanza mediante la aplicación automatizada de directivas. Esto es posible con propiedades personalizadas, lo que te permite agregar metadatos estructurados a los recursos.
Con las propiedades personalizadas del repositorio, puede clasificar repositorios por atributos como el nivel de riesgo, la propiedad del equipo o los requisitos de cumplimiento. Estos metadatos permiten aplicar automáticamente diferentes reglas de gobernanza en función de las características del repositorio.
Con las propiedades personalizadas de la organización, puede clasificar las organizaciones dentro de su empresa por confidencialidad de datos, marcos normativos o unidades de negocio. A continuación, puede usar estas propiedades para dirigirse de forma selectiva a las organizaciones con conjuntos de reglas de empresa.
Ambos tipos de propiedades personalizadas se integran con conjuntos de reglas, lo que le permite crear marcos de gobernanza eficaces que apliquen automáticamente las directivas adecuadas en función de los metadatos en lugar de la selección manual del repositorio.
Consulte Administración de propiedades personalizadas para repositorios de la organización.
Supervisión de la actividad
Si algo va mal, es importante poder buscar la actividad en la empresa para investigar la causa o el ámbito del problema.
El registro de auditoría de GitHub incluye eventos detallados relacionados con la empresa, las organizaciones y, si usas Enterprise Managed Users, los usuarios administrados. Puedes filtrar el registro de auditoría para temas como la actividad de facturación o buscar eventos asociados a un token en peligro.
Para acceder al registro de auditoría, consulta Acceso al registro de auditoría de la empresa.
GitHub no conserva los datos del registro de auditoría indefinidamente. Se recomienda transmitir los registros de auditoría a una ubicación externa, lo que te permite conservar los datos el tiempo que los necesites y consultarlos con herramientas externas. Consulta Streaming del registro de auditoría de su empresa.
Impedir que la información confidencial llegue al código base
Para proteger la propiedad intelectual y evitar incidentes de seguridad, es importante implementar un sistema para mantener información confidencial como los tokens fuera del código base.
Secret scanning
Con secret scanning, puedes examinar el código para detectar información confidencial, como claves de API, contraseñas y otras credenciales, lo que impide el acceso no autorizado y posibles infracciones. Secret scanning alerta sobre información confidencial en el código base, lo que te permite responder adecuadamente mediante el cambio de contraseñas o la rotación de tokens.
Consulta Acerca del examen de secretos para obtener más información.
Secret scanning se puede habilitar en el nivel de la empresa, la organización y el repositorio. Consulta Configurar el escaneo de secretos para tu aplicativo para la habilitación en el nivel de la empresa.
Protección contra el envío de cambios
Además, puedes impedir que se inserten accidentalmente datos confidenciales y credenciales en repositorios con la protección de inserción.
La protección de inserción actúa como medida de seguridad mediante el examen de secretos en tiempo real y el bloqueo de inserciones que contienen información potencialmente confidencial. Los propietarios de la organización pueden configurar directivas de protección de inserción en el nivel de la organización para aplicar estándares de seguridad coherentes en todos los repositorios. Cuando se bloquea una inserción, los desarrolladores reciben instrucciones detalladas sobre cómo corregir el problema, por ejemplo quitar el secreto del código.
Consulta Acerca de la protección de inserción.
La protección de inserción se puede habilitar en el nivel de la organización, el repositorio y la cuenta de usuario. Consulta Habilitación de la protección contra inserción para el repositorio.
Nota:
La configuración de patrones para la protección contra el envío de cambios en el nivel de la empresa y la organización se encuentra actualmente en versión preliminar pública y está sujeta a cambios.
Para alinear la detección de secretos con directivas de seguridad internas y evitar de forma más eficaz la exposición no autorizada de información confidencial en los repositorios, puedes personalizar qué patrones secretos se incluyen en la protección de inserción en el nivel empresarial o de organización. Consulta Configuración de opciones adicionales de análisis de secretos para la empresa y Configuración de seguridad global para su organización.
Configuración de un proceso de aprobación para acciones confidenciales
Es posible que quieras configurar un proceso de aprobación para un mejor control sobre quién puede realizar acciones confidenciales en tu empresa. Un proceso de aprobación ayuda a mitigar el riesgo de cambios no autorizados o malintencionados, y puede proporcionar un registro de quién ha usado la omisión y por qué, lo que garantiza que todas las acciones son rastreables y tienen responsables.
Nota:
La implementación de estos procesos de aprobación puede provocar cierta fricción, por lo que es importante asegurarse de que el equipo de administradores de seguridad tenga una cobertura adecuada antes de continuar.
Hay procesos de aprobación disponibles para lo siguiente:
- Omisión de la protección de inserción: puedes elegir quién puede omitir la protección de inserción y agregar un ciclo de revisión y aprobación para las inserciones que contienen secretos de todos los demás colaboradores. Para más información sobre la omisión delegada para la protección de inserción, consulta Acerca de la omisión delegada para la protección de inserción.
- Descartes de alertas para code scanning y secret scanning: puede proporcionar control adicional y visibilidad sobre la evaluación de alertas asegurándose de que solo las personas designadas pueden descartar (o cerrar) alertas. Para obtener más información sobre el descarte de alertas delegadas, consulte los artículos siguientes:
-
[AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/enabling-delegated-alert-dismissal-for-code-scanning) -
[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/enabling-delegated-alert-dismissal-for-secret-scanning)
-
Identificación de vulnerabilidades y errores de seguridad
Muchos sectores tienen regulaciones que requieren evaluaciones de seguridad periódicas y administración de vulnerabilidades. Code scanning ayuda a garantizar el cumplimiento de los estándares del sector mediante la identificación y mitigación de riesgos de seguridad en el código, como patrones inseguros.
Code scanning se puede integrar en la canalización de CI/CD, lo que proporciona supervisión y evaluación continuas del código base.
Para empezar a trabajar rápidamente con code scanning, se recomienda usar la configuración predeterminada. Consulta Establecimiento de la configuración predeterminada para el examen del código.
Code scanning se puede habilitar en el nivel de la empresa, la organización y el repositorio. Consulta Configuración la digitalización de código para el dispositivo para la habilitación en el nivel de la empresa.