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 obtener más información, vea «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 obtener más información, vea «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 obtener más información, vea «Acerca de las ramas protegidas».
Como alternativa a las reglas de protección de ramas o a las reglas de protección de etiquetas, puedes crear conjuntos de reglas. Los conjuntos de reglas tienen algunas ventajas sobre las reglas de protección de ramas y etiquetas, 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 los quite mediante la herramienta git filter-repo
o la herramienta de código abierto BFG Repo-Cleaner. Para obtener más información, vea «Eliminación de datos confidenciales de un repositorio». Además, es posible revertir casi cualquier cosa en Git. Para obtener más información, consulta the GitHub Blog.
En el nivel de organización, si no puedes coordinarte con el usuario que insertó los datos confidenciales para quitarlos, lo mejor es que te pongas en contacto con el soporte técnico de GitHub con el SHA de confirmación correspondiente.
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. Para obtener más información, consulta Aviso de eliminación de DMCA.
Nota: Si se ha eliminado uno de los repositorios debido a una notificación falsa, debes rellenar un formulario de contraaviso de DMCA y alertar al soporte técnico de GitHub. Para obtener más información, consulta Contraaviso de DMCA.