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 tengas la seguridad de que los usuarios no eliminarán accidentalmente la rama
- Exigen una solicitud de cambios para todos los cambios, para que lo tengas todo en papel y puedas aplicar revisiones
- Exigen que las implementaciones y comprobaciones de estado se realicen correctamente antes de combinar las solicitudes de cambios, para que puedas protegerte 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ías crear una organización de "código abierto" para todos los repositorios públicos de la empresa y evitar que los repositorios públicos se creen en cualquier otra organización.
Para obtener información sobre cómo establecer directivas, consulta Requerir políticas de administración de repositorios en tu empresa.
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 su propia protección de inserció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.
Note
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.
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.