Acerca de esta guía
Como propietario de la organización, evitar la exposición de datos privados o confidenciales debe ser una prioridad máxima. Ya sea intencionada o accidental, la pérdida de datos puede representar un riesgo considerable para las partes implicadas. Aunque GitHub toma medidas para ayudarte a protegerte frente a la pérdida de datos, también eres responsable de administrar la organización para fortalecer la seguridad.
Hay varios componentes clave en lo que respecta a la defensa frente a la pérdida de datos:
- Adopción de un enfoque proactivo hacia la prevención
- Detección temprana de posibles pérdidas
- Mantenimiento de un plan de mitigación cuando se produce un incidente
El mejor enfoque dependerá del tipo de organización que administra. Por ejemplo, una organización que se centra en el desarrollo de código abierto podría requerir controles más flexibles que una organización totalmente comercial, para permitir la colaboración externa. En este artículo se proporcionan instrucciones de alto nivel sobre las características y la configuración de GitHub que deben tenerse en cuenta e implementarse según tus necesidades.
Cuentas seguras
Protege los repositorios y la configuración de la organización mediante la implementación de procedimientos recomendados de seguridad, incluida la habilitación de 2FA y su obligatoriedad para todos los miembros, y el establecimiento de directrices de contraseña seguras.
-
Requerir que los miembros de la organización, los colaboradores externos y los administradores de facturación habiliten 2FA para sus cuentas personales, lo que dificulta a los actores malintencionados el acceso a los repositorios y la configuración de una organización. Para obtener más información, consulta Requerir autenticación en dos fases en la organización.
-
Exhortar a tus usuarios para crear contraseñas seguras y protegerlas adecuadamente, siguiendo las instrucciones sobre contraseñas recomendadas de GitHub. Para obtener más información, consulta Crear una contraseña segura.
-
Anima a los usuarios a mantener habilitada la protección de inserción para usuarios en las configuraciones de sus cuentas personales de modo que, independientemente del repositorio público de inserción, estén protegidos. Para más información, consulta Protección de inserción para usuarios.
-
Establecer una directiva de seguridad interna en GitHub, para que los usuarios conozcan los pasos adecuados que tienen que seguir y sepan con quién ponerse en contacto si se tienen sospechas de un incidente. Para más información, consulta Agregar una política de seguridad a tu repositorio.
Para información más detallada sobre la protección de cuentas, consulta Procedimientos recomendados para proteger las cuentas.
Impedir las pérdidas de datos
Como propietario de una organización, debes limitar y revisar el acceso según corresponda para el tipo de organización. Ten en cuenta la siguiente configuración para un control más estricto:
Recomendación | Más información |
---|---|
Deshabilita la capacidad de bifurcar repositorios. | Administrar la política de ramificación para tu repositorio |
Deshabilita el cambio de la visibilidad del repositorio. | Restringir cambios en la visibilidad de los repositorios en tu organización |
Restringe la creación de repositorios a privada o interna. | Restringir la creación de repositorios en tu organización |
Deshabilita la eliminación y transferencia de repositorios. | Configurar permisos para eliminar o transferir repositorios en tu organización |
El ámbito de personal access tokens se establece en los permisos mínimos necesarios. | Ninguno |
Protege el código mediante la conversión de repositorios públicos en privados siempre que corresponda. Puedes alertar a los propietarios del repositorio de este cambio automáticamente mediante una GitHub App. | Prevent-Public-Repos en GitHub Marketplace |
Confirma la identidad de tu organización mediante la comprobación del dominio y la restricción de las notificaciones por correo electrónico solo a dominios de correo electrónico comprobados. | Verificar o aprobar un dominio para tu organización |
Asegúrate de que tu organización se ha acualizado al acuerdo de cliente de GitHub en lugar de utilizar los términos del servicio estándar. | Actualización al acuerdo de cliente de GitHub |
Evita que los colaboradores realicen confirmaciones accidentales. | Eliminación de datos confidenciales de un repositorio |
Detección de pérdida de datos
Independientemente de lo bien que refuerces la seguridad de tu organización para evitar la pérdida de datos, aún puede suceder en cierta medida y puedes responder mediante el uso de secret scanning, el registro de auditoría y las reglas de protección de ramas.
Uso de secret scanning
Secret scanning ayuda a proteger el código y a mantener los secretos seguros en organizaciones y repositorios mediante el examen y la detección de secretos confirmados accidentalmente en el historial de Git completo de todas las ramas en los repositorios de GitHub. Las cadenas que coinciden con los patrones proporcionados por los asociados de exámenes de secretos, por otros proveedores de servicios o definidos por ti o tu organización, se notifican como alertas en la pestaña Seguridad de los repositorios.
Hay dos formas de secret scanning disponibles: Alertas de examen de secretos para asociados y Alertas de examen de secretos para usuarios .
-
Alertas de examen de secretos para asociados: se habilitan de forma predeterminada y se ejecutan automáticamente en todos los repositorios públicos y paquetes npm públicos.
-
Alertas de examen de secretos para usuarios: a fin de obtener funcionalidades de análisis adicionales para la organización, debes habilitar alertas de examen de secretos para usuarios.
Cuando se habilita, alertas de examen de secretos para usuarios se puede detectar en los tipos de repositorio siguientes:
- Repositorios públicos que poseen las cuentas personales en GitHub.com
- Repositorios públicos que poseen las organizaciones
- Repositorios privados e internos que poseen las organizaciones que usan GitHub Enterprise Cloud, cuando tienes licencia de GitHub Advanced Security
Para más información sobre secret scanning, consulta Acerca del examen de secretos.
También puede habilitar secret scanning como protección de inserción para un repositorio o una organización. Al habilitar esta característica, secret scanning impide que los colaboradores inserten código con un secreto detectado. Para obtener más información, consulta Acerca de la protección de inserción.
Revisión del registro de auditoría de la organización
También puedes proteger la IP de forma proactiva y mantener el cumplimiento de tu organización gracias al aprovechamiento del registro de auditoría de la misma, junto con GraphQL Audit Log API. Para más información, consulta Revisar el registro de auditoría de tu organización y Interfaces.
Configuración de las reglas de protección de ramas
Para asegurarte de que todo el código se revisa correctamente antes de combinarse en la rama predeterminada, puedes habilitar la protección de ramas. Al establecer reglas de protección de ramas, puedes aplicar determinados flujos de trabajo o requisitos antes de que un colaborador pueda enviar cambios. Para más información, consulta Acerca de las ramas protegidas.
Como alternativa a las reglas de protección de ramas, puede crear conjuntos de reglas. Los conjuntos de reglas tienen algunas ventajas sobre las reglas de protección de ramas, como estados, y una mejor detectabilidad sin necesidad de acceso de administrador. Puedes aplicar igualmente varios conjuntos de reglas al mismo tiempo. Para obtener más información, vea «Acerca de los conjuntos de reglas».
Mitigación de la pérdida de datos
Si un usuario inserta datos confidenciales, pídele que lo quite mediante la herramienta git filter-repo
. Para más información, consulta Eliminación de datos confidenciales de un repositorio. Además, si aún no se han insertado los datos confidenciales, puedes deshacer esos cambios localmente; para obtener más información, consulta the GitHub Blog (pero ten en cuenta que git revert
no es una manera válida de deshacer la incorporación de datos confidenciales, ya que deja la confirmación confidencial original en el historial de Git).
Si no puedes coordinarte directamente con el propietario del repositorio para quitar los datos que estás seguro de poseer, puedes rellenar un formulario de aviso de eliminación de DMCA e informar al soporte técnico de GitHub al respecto. Asegúrate de incluir los hashes de confirmación problemáticos. Para obtener más información, consulta Aviso de eliminación de DMCA.
Note
Si uno de tus repositorios ha sido dado de baja debido a una notificación falsa, debes completar un formulario de contranotificación de DMCA y avisar al soporte de GitHub. Para obtener más información, consulta Contraaviso de DMCA.