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".
-
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" y "Restringir las notificaciones por correo electrónico para tu organización" |
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 definidos por ti o tu organización, se notifican como alertas en la pestaña Seguridad de los repositorios.
El administrador del sitio debe habilitar secret scanning en su instancia antes de que pueda usar esta característica. Para más información, consulta "Configurar el escaneo de secretos para tu aplicativo".
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." Por último, también puedes ampliar la detección para incluir estructuras de cadena de secreto personalizadas. Para más información, consulta "Definición de patrones personalizados para el examen de secretos".
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, puede 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 administrador del sitio 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.