Note
Este artículo forma parte de una serie sobre la adopción de GitHub Advanced Security a escala. Para obtener el artículo anterior de esta serie, consulta Fase 1: Alinear la estrategia de lanzamiento y los objetivos.
Preparación para la habilitación de code scanning
Code scanning es una característica que se usa para analizar el código en un repositorio de GitHub para buscar vulnerabilidades de seguridad y errores de código. Los problemas identificados por el análisis se muestran en el repositorio. Para más información, consulta Acerca del examen de código.
El lanzamiento de code scanning en cientos de repositorios puede resultar difícil, sobre todo si no se hace de una forma eficaz. Si sigue estos pasos, se asegurará de que el lanzamiento sea eficaz y correcto.
Code scanning también está disponible para todos los repositorios públicos en GitHub sin una licencia para GitHub Advanced Security.
Preparación de los equipos para code scanning
En primer lugar, prepara a tus equipos para que usen code scanning. Cuantos más equipos usen code scanning, más datos tendrás plara generar planes de corrección y supervisar el progreso del lanzamiento.
Para obtener una introducción a code scanning, consulte:
- Acerca del examen de código
- Acerca de las alertas de análisis de código
- Evaluación de alertas de análisis de código para el repositorio
El enfoque principal debe ser preparar tantos equipos como sea posible para que usen code scanning. También puedes animar a los equipos a corregir correctamente, pero se recomienda priorizar la habilitación y el uso de code scanning por encima de la corrección de incidencias durante esta fase.
Preparación para la habilitación de secret scanning
Note
Nota: Cuando se detecta un secreto en un repositorio que ha habilitado secret scanning, GitHub alerta a todos los usuarios con acceso a alertas de seguridad del repositorio.
Los secretos que se encuentran en los repositorios públicos que usan alertas de examen de secretos para asociados se reportan directamente al socio, sin crear una alerta en GitHub Enterprise Cloud. Para más información sobre los patrones de asociados admitidos, consulta Patrones de examen de secretos admitidos.
Si tu proyecto se comunica con un servicio externo, puede que use un token o una clave privada para la autenticación. Si registras un secreto en un repositorio, cualquiera que tenga acceso de lectura al mismo puede utilizarlo para acceder al servicio externo con tus privilegios. Secret scanning analizará todo el historial de Git en todas las ramas presentes en los repositorios de GitHub en busca de secretos y le alertará o bloqueará la inserción que contiene el secreto. Para más información, consulta Acerca del examen de secretos.
Alertas de examen de secretos para asociados se ejecuta de forma automática en repositorios públicos y paquetes npm públicos para notificar a los proveedores de servicio sobre secretos filtrados en GitHub..
Alertas de examen de secretos para usuarios están disponibles de forma gratuita en todos los repositorios públicos.
Consideraciones al habilitar secret scanning
La funcionalidad Enabling secret scanning en el nivel de organización puede ser fácil, pero hacer clic en Habilitar todo en el nivel de organización y marcar la opción Habilitar secret scanning automáticamente para cada repositorio nuevo tiene algunos efectos descendentes que debes tener en cuenta:
Consumo de licencias
La habilitación de secret scanning para todos los repositorios maximizará el uso de licencias de GitHub Advanced Security. Esto es correcto si tienes suficientes licencias para los confirmadores actuales en todos esos repositorios. Si es probable que el número de desarrolladores activos aumente en los próximos meses, puede que superes el límite de licencias y que no puedas usar GitHub Advanced Security en los repositorios recién creados.
Volumen inicial de secretos detectados alto
Si habilitas secret scanning en una organización grande, prepárate para ver un número elevado de secretos detectados. A veces esto choca a las organizaciones y saltan todas las alarmas. Si quieres activar secret scanning en todos los repositorios a la vez, planea cómo responderás a varias alertas en toda la organización.
Secret scanning se puede habilitar para repositorios individuales. Para más información, consulta Habilitación del examen de secretos para el repositorio. Secret scanning también se puede habilitar para todos los repositorios de la organización, como se ha descrito anteriormente. Para más información sobre cómo habilitar esta opción para todos los repositorios, consulta Administrar la configuración de seguridad y análisis de su organización.
Patrones personalizados para secret scanning
Secret scanning detecta un gran número de patrones predeterminados, pero también se puede configurar para que detecte patrones personalizados, como formatos de secreto exclusivos de tu infraestructura o usados por integradores que secret scanning de GitHub Enterprise Cloud actualmente no detecta. Para más información sobre los secretos admitidos para los patrones de asociados, consulta Patrones de examen de secretos admitidos.
A medida que auditas los repositorios y hablas con los equipos de seguridad y desarrolladores, crea una lista de los tipos de secretos que usarás más adelante para configurar patrones personalizados para secret scanning. Para más información, consulta Definición de patrones personalizados para el examen de secretos.
Protección de inserción para secret scanning
La protección de inserción para organizaciones y repositorios indica a secret scanning que compruebe las inserciones de secretos admitidos antes de que los secretos se confirmen en el código base. Para más información sobre los secretos que se admiten, consulta Patrones de examen de secretos admitidos.
Si se detecta un secreto en una inserción, esta se bloquea. Secret scanning enumera los secretos que detecta para que el creador pueda revisarlos y quitarlos, o si es necesario, permitir que se inserten. Secret scanning también puede comprobar las inserciones para patrones personalizados.
Los desarrolladores tienen la opción de omitir la protección de inserción notificando que un secreto es un falso positivo, que se usa en las pruebas o que se corregirá más adelante.
Si un colaborador omite un bloque de protección de inserción para un secreto, GitHub:
- Crea una alerta en la pestaña Security del repositorio.
- Agrega el evento de omisión al registro de auditoría.
- Envía una alerta por correo electrónico a los propietarios de la organización o de la cuenta personal, administradores de seguridad y administradores de repositorios que están viendo el repositorio, con un vínculo al secreto y el motivo por el que se permitió.
Antes de habilitar la protección de inserción, plantéate si necesitas crear instrucciones para los equipos de desarrolladores en las condiciones aceptables para omitir la protección de inserción. Puedes configurar un vínculo a este recurso en el mensaje que se muestra cuando un desarrollador intenta insertar un secreto bloqueado.
A continuación, familiarízate con las distintas opciones para administrar y supervisar alertas que son el resultado de un colaborador que omite la protección de inserción.
Para más información, consulta Acerca de la protección de inserción.
Note
Para ver el siguiente artículo de esta serie, consulta Fase 3: Programas piloto.