Qué es la protección de inserción
La protección de empuje es una característica de secret scanning diseñada para evitar que la información confidencial, como secretos o tokens, se inserte en el repositorio. A diferencia de secret scanning, que detecta secretos después de confirmarlos, la protección de push escanea proactivamente tu código en busca de secretos durante el proceso de push, y luego bloquea el push si se detectan.
Funcionamiento de la protección de inserción
La protección contra inserción bloquea los secretos detectados en:
- Inserta desde la línea de comandos
- Confirmaciones realizadas en la interfaz de usuario de GitHub
- Carga de archivos a un repositorio en GitHub
- Solicitudes a la API REST
- Interacciones con el servidor MCP de GitHub: solo repositorios públicos
Cuando la protección de inserción detecta un posible secreto durante un intento de inserción, bloqueará la inserción y proporcionará un mensaje detallado que explica el motivo del bloque. Deberá revisar el código en cuestión, quitar cualquier información confidencial y volver a intentar la inserción.
Tipos de protección de empuje
Hay dos tipos de protección contra empujes:
-
[Protección de push para repositorios](#push-protection-for-repositories) -
[Protección contra notificaciones automáticas para usuarios](#push-protection-for-users)
Protección de inserción para repositorios
Puede habilitar la protección de inserción para repositorios en el nivel de repositorio, organización o empresa. Esta forma de protección de inserción:
- Requiere que GitHub Secret Protection esté habilitado
- Está deshabilitado de forma predeterminada y puede habilitarlo un administrador del repositorio, el propietario de la organización, el administrador de seguridad o el propietario de la empresa.
- Bloquea los empujes que contienen secretos, evitando que alcancen repositorios protegidos específicos.
- Genera alertas para elusiones de protección de push en la pestaña Seguridad del repositorio, la organización y la entidad.
Sugerencia
Independientemente del estado de habilitación de la protección de envío, las organizaciones en GitHub Team y GitHub Enterprise pueden ejecutar un informe gratuito para examinar su código en busca de secretos filtrados. El informe también muestra cuántas filtraciones de información confidencial podrían haber sido evitadas por la protección por envío. Consulta Acerca de la seguridad secreta con GitHub.
Protección de empuje para usuarios
La protección de push para los usuarios solo está disponible en GitHub.com, y es específica de tu cuenta de GitHub. Esta forma de protección de empuje:
- Está habilitado de forma predeterminada
- Impide insertar secretos en repositorios públicos en GitHub
- No se generan alertas al desactivar la protección de 'push' a menos que la protección de 'push' también esté habilitada a nivel de repositorio.
Evitación de protección de notificaciones y alertas
Para la protección de push en los repositorios, por defecto, cualquiera que tenga acceso de escritura al repositorio puede pasar por alto la protección de push especificando un motivo para hacerlo.
Si desea un mayor control sobre qué colaboradores pueden omitir la protección de inserción y qué inserciones que contienen secretos deben permitirse, puede configurar un grupo designado de revisores para supervisar y administrar las solicitudes de omisión.
Ventajas de la protección de inserción
-
**Seguridad preventiva:** la protección de inserción actúa como un mecanismo de defensa de primera línea mediante el examen del código de los secretos en el momento de la inserción. Este enfoque preventivo ayuda a detectar posibles problemas antes de combinarse en un repositorio. -
**Comentarios inmediatos:** los desarrolladores reciben comentarios instantáneos si se detecta un posible secreto durante un intento de inserción. Esta notificación inmediata permite realizar una corrección rápida, lo que reduce la probabilidad de que se exponga información confidencial. -
**Riesgo reducido de filtraciones de datos**: al bloquear confirmaciones que contienen información confidencial, la protección de inserción reduce significativamente el riesgo de filtraciones accidentales de datos. Esto le permite protegerse contra el acceso no autorizado a la infraestructura, los servicios y los datos. -
**Administración eficaz de secretos:** en lugar de tratar retrospectivamente la exposición de secretos, los desarrolladores pueden solucionar problemas en el origen. Esto hace que la administración de secretos sea más eficaz y lleve menos tiempo. -
**Funcionalidad de elusión para flexibilidad:** En los casos en los que ocurren falsos positivos o cuando se necesitan ciertos patrones, puede eludir la protección de inserciones para los usuarios, y los usuarios designados pueden usar la función de elusión delegada para eludir la protección de inserciones para los repositorios. Esto proporciona flexibilidad sin comprometer la seguridad general. -
**Capacidad de detectar patrones personalizados (para repositorios en organizaciones):** Las organizaciones pueden definir patrones personalizados para detectar secretos únicos en su entorno. Esta personalización garantiza que la protección de inserción pueda identificar e bloquear de forma eficaz incluso secretos no estándar.
Personalización
Después de habilitar la protección de 'push' para repositorios, podrá personalizarla mediante:
- Definición de patrones personalizados para bloquear inserciones que contienen patrones secretos únicos
- Designando colaboradores que pueden pasar por alto la protección de push y aprobar solicitudes de exclusión para otros colaboradores
- Configuración de los patrones secretos que se incluyen en la protección de push a nivel de empresa u organización
Pasos siguientes
Para activar la protección contra inserciones: * Para obtener un repositorio, consulte Habilitación de la protección contra inserción para el repositorio. * Para una organización o empresa, tiene que aplicar un security configuration. Consulta Aplicación de la configuración de seguridad recomendada GitHub en la organización y Aplicación de la configuración de seguridad recomendada GitHub a su empresa.
Para obtener una lista de secretos y proveedores de servicios compatibles con la protección push, consulte Patrones de análisis de secretos admitidos.