Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2026-04-23. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Información general del sistema

Obtenga más información sobre GitHub Enterprise Serverlos aspectos internos, la funcionalidad y la seguridad del sistema.

Acerca de GitHub Enterprise Server

          GitHub Enterprise Server es una versión autohospedada de la plataforma GitHub.
          GitHub distribuye GitHub Enterprise Server como una aplicación virtual independiente. Después de aprovisionar una máquina virtual e instalar el dispositivo, la instancia ejecuta un sistema operativo Linux con una pila de aplicaciones personalizada. Para obtener más información, consulte [AUTOTITLE](/admin/overview/about-github-enterprise-server).

Arquitectura de almacenamiento

          GitHub Enterprise Serverrequiere dos volúmenes de almacenamiento, uno montado en la ruta de acceso del _sistema de archivos raíz_ (`/`) y el otro en la ruta de acceso del _sistema de archivos de usuario_ ().`/data/user` Esta arquitectura simplifica los procedimientos de actualización, reversión y recuperación al separar el entorno del software que se ejecuta de los datos de aplicación persistentes.

El sistema de archivos raíz está incluido en la imagen de máquina distribuida. Contiene el sistema operativo base y el entorno de aplicación GitHub Enterprise Server. El sistema de archivos raíz debería tratarse como efímero. Los datos en el sistema de archivos raíz se reemplazarán al actualizar a futuras versiones GitHub Enterprise Server.

El volumen de almacenamiento raíz se divide en dos particiones del mismo tamaño. Una de las particiones se montará como el sistema de archivos raíz (/). La otra partición solo se montará durante actualizaciones y reversiones de actualizaciones como /mnt/upgrade, para facilitar esas reversiones en caso de que sea necesario. Por ejemplo, si se asigna un volumen raíz de 400 GB, habrá 200 GB asignados al sistema de archivos raíz y 200 GB reservados para las actualizaciones y reversiones.

En las nuevas instalaciones de la versión 3.14 y posteriores, el volumen de almacenamiento raíz se divide en cuatro particiones. Dos particiones pequeñas son para los modos de arranque admitidos (BIOS y UEFI), y las otras dos particiones igualmente grandes son para la GitHub Enterprise Server principal, las actualizaciones y las reversiones.

El sistema de archivos raíz contiene archivos que almacenan la información siguiente. Esta lista no es exhaustiva.

  • Certificados de autoridad certificadora (CA) personalizada (en /usr/local/share/ca-certificates*)
  • Las configuraciones de red personalizadas
  • Las configuraciones de firewall personalizadas
  • El estado de replicación

El sistema de archivos del usuario contiene archivos que almacenan los datos y la configuración siguientes. Esta lista no es exhaustiva.

  • Repositorios Git
  • Bases de datos
  • Índices de búsqueda
  • Contenido publicado en GitHub Pages sitios
  • Archivos grandes de Almacenamiento de archivos de gran tamaño de Git
  • Entornos de enlaces de pre-recepción

Topologías de implementación

De forma predeterminada, GitHub Enterprise Server se ejecuta como una instancia independiente. Puede aumentar la confiabilidad y el rendimiento de GitHub Enterprise Server mediante una topología diferente para la implementación.

  • Para mitigar el impacto de los errores del sistema o de la red, puedes implementar una instancia de réplica pasiva. Durante una interrupción que afecte a la instancia principal, tienes la opción de realizar manualmente una conmutación a la instancia de réplica. Para más información, consulta Acerca de la configuración de alta disponibilidad.
  • Puedes configurar varias réplicas activas para mejorar el rendimiento de los desarrolladores que están geográficamente alejados de la instancia principal. Para más información, consulta Acerca de la Replicación geográfica.
  • Algunas empresas con decenas de miles de desarrolladores pueden beneficiarse de una configuración de clúster que se escala horizontalmente en lugar de verticalmente. Para más información, consulta Acerca de las agrupaciones.

Retención de datos y redundancia de centro de datos

Advertencia

Antes de usar GitHub Enterprise Server en un entorno de producción, se recomienda encarecidamente configurar copias de seguridad y un plan de recuperación ante desastres.

          GitHub Enterprise Server incluye compatibilidad con copias de seguridad en línea e incrementales con GitHub Enterprise Server Backup Utilities. Puedes tomar capturas incrementales a través de un enlace de red seguro (el puerto administrativo SSH) a largas distancias para el almacenamiento fuera del sitio o geográficamente disperso. Puedes restaurar instantáneas a través de la red en una instancia recientemente aprovisionada al momento de la recuperación en el caso de un desastre en el centro de datos principal.

Además de las copias de seguridad de red, se admiten las instantáneas de disco AWS (EBS) y VMware de los volúmenes de almacenamiento del usuario mientras que la instancia está sin conexión o en modo de mantenimiento. Las instantáneas de volumen regulares se pueden usar como una alternativa de bajo costo y baja complejidad a las copias de seguridad de red con GitHub Enterprise Server Backup Utilities si los requisitos de nivel de servicio permiten un mantenimiento regular sin conexión.

Para más información, consulta Configuración de copias de seguridad en la instancia mediante utilidades de copia de seguridad.

Seguridad

GitHub Enterprise Server se ejecuta en la infraestructura y está regulado por controles de acceso y seguridad que tú defines, como firewall, políticas de red, IAM, supervisión y VPN. GitHub Enterprise Server es adecuado para las empresas que están sujetas al cumplimiento normativo, lo que ayuda a evitar problemas que surgen de plataformas de desarrollo de software en la nube pública.

          GitHub Enterprise Server también incluye características de seguridad adicionales.

Sistema operativo, software y revisiones

          GitHub Enterprise Server ejecuta un sistema operativo Linux personalizado solo con las aplicaciones y servicios necesarios. 
          GitHub distribuye parches para el sistema operativo principal de la instancia como parte de su ciclo estándar de lanzamiento de productos. Las revisiones abordan la funcionalidad, la estabilidad y los problemas de seguridad no críticos para GitHub Enterprise Server. 
          GitHub también proporciona revisiones de seguridad críticas según sea necesario fuera del ciclo de versión normal.

          GitHub Enterprise Server se proporciona como dispositivo y muchos de los paquetes del sistema operativo se modifican en comparación con la distribución habitual de Ubuntu. No se admite la modificación del sistema operativo subyacente por este motivo (incluidas las actualizaciones del sistema operativo), que está alineada con el [GitHub Enterprise Server contrato de licencia y soporte](https://enterprise.github.com/license) técnico, en la sección 11.3 Exclusiones.

Actualmente, el sistema operativo base para GitHub Enterprise Server es Ubuntu 20 (Focal Fossa). Aunque Ubuntu 20 (Focal Fossa) llegará al final del soporte estándar en mayo de 2025, podremos usar el mantenimiento de seguridad extendido y obtener soporte técnico de seguridad más allá de 2025.

Las actualizaciones de parches periódicas se publican en la GitHub Enterprise Server página de versiones y la página de notas de la versión proporciona más información. Estos parches a menudo contienen parches de seguridad de proveedores y proyectos upstream después de que han sido probados y su calidad ha sido aprobada por nuestro equipo de ingeniería. Puede haber un ligero retraso en el tiempo desde el momento en que se libera la actualización ascendente a cuando se prueba y agrupa en una próxima GitHub Enterprise Server versión de revisión.

Seguridad de las redes

          GitHub Enterprise ServerEl firewall interno restringe el acceso de red a los servicios de la instancia. Están disponibles en la red únicamente los servicios necesarios para que el aparato funcione. Para más información, consulta [AUTOTITLE](/admin/configuration/configuring-network-settings/network-ports).

Seguridad de las aplicaciones

El equipo de seguridad de aplicaciones de GitHub dedica tiempo completo a la evaluación de vulnerabilidades, pruebas de penetración y revisión de código en los productos de GitHub, incluido GitHub Enterprise Server. GitHub también contrata con empresas externas de seguridad para proporcionar evaluaciones de seguridad puntuales de GitHub productos.

Servicios externos y acceso de soporte

          GitHub Enterprise Server puede funcionar sin acceso de salida desde la red a servicios externos. De forma opcional, puedes habilitar la integración con servicios externos para la entrega de correo electrónico, el monitoreo externo y el reenvío de bitácoras. Para más información, consulta [AUTOTITLE](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications), [AUTOTITLE](/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring) y [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding).

Puede recopilar y enviar manualmente datos de solución de problemas a Soporte de GitHub. Para más información, consulta Proporcionar datos al soporte técnico de GitHub.

Comunicación cifrada

          GitHub diseña GitHub Enterprise Server para ejecutarse detrás del firewall corporativo. Para asegurar la comunicación a través del cable, te alentamos a habilitar la seguridad de la capa de transporte (TLS). 
          GitHub Enterprise Server admite certificados TLS comerciales de 2048 y superior para el tráfico HTTPS. Para más información, consulta [AUTOTITLE](/admin/configuration/configuring-network-settings/configuring-tls).

De manera predeterminada, la instancia también ofrece acceso Secure Shell (SSH) con fines administrativos y para el acceso al repositorio utilizando Git. Para más información, consulta Acerca de SSH y Acceder al shell administrativo (SSH).

Si configura la autenticación SAML para tu instancia de GitHub Enterprise Server, puede habilitar las aserciones cifradas entre la instancia y el IdP de SAML. Para más información, consulta Uso de SAML para IAM empresarial.

Usuarios y permisos de acceso

          GitHub Enterprise Server proporciona tres tipos de cuentas.
  • La cuenta de usuario de Linux admin ha controlado el acceso al sistema operativo subyacente, incluido el acceso directo al sistema de archivos y la base de datos. Un pequeño conjunto de administradores de confianza debería tener acceso a esta cuenta, a la que pueden acceder por medio de SSH. Para más información, consulta Acceder al shell administrativo (SSH).
  • Las cuentas de usuario en la aplicación web de la instancia tienen acceso completo a sus propios datos y a cualquier dato que otros usuarios u organizaciones concedan de manera explícita.
  • Los administradores del sitio en la aplicación web de la instancia son cuentas de usuario que pueden administrar los ajustes de instancia y aplicación web de alto nivel, la configuración de las cuentas de usuario y organización, y los datos del repositorio.

Para obtener más información sobre GitHub Enterprise Serverlos permisos de usuario, consulte Permisos de acceso en GitHub.

Autenticación

          GitHub Enterprise Server proporciona cuatro métodos de autenticación.
  • La autenticación mediante claves públicas SSH proporciona acceso al repositorio utilizando Git y acceso al shell administrativo. Para más información, consulta Acerca de SSH y Acceder al shell administrativo (SSH).
  • El nombre de usuario y la autenticación de contraseña con cookies HTTP proporciona acceso a la aplicación web y la gestión de sesiones, con autenticación opcional de dos factores (2FA). Para más información, consulta Configurar la autenticación integrada.
  • La autenticación externa LDAP, SAML o CAS mediante un servicio LDAP, SAML Identity Provider (IdP) u otro servicio compatible proporciona acceso a la aplicación web. Para más información, consulta Uso de SAML para IAM empresarial.
  • OAuth y personal access tokens proporcionan acceso a los datos y API del repositorio de Git para clientes y servicios externos. Para más información, consulta Administración de tokens de acceso personal.

Registro de auditoría y de acceso

          GitHub Enterprise Server almacena tanto el sistema operativo tradicional como los registros de aplicación. La aplicación también escribe registros detallados de auditoría y seguridad, que GitHub Enterprise Server almacena permanentemente. Puede reenviar ambos tipos de registros en tiempo real a varios destinos por medio del protocolo `syslog-ng`. Para más información, consulta [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise) y [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding).

Los registros de acceso y de auditoría incluyen información como la siguiente.

Registros de acceso

  • Registros completos de servidor web tanto para el navegador como para el acceso a la API
  • Registros completos para acceder a los datos del repositorio por medio de protocolos Git, HTTPS y SSH
  • Registros de acceso administrativo por medio de HTTPS y SSH

Registros de auditoría

  • Inicios de sesión del usuario, restablecimientos de contraseña, solicitudes 2FA, cambios en la configuración del correo electrónico y cambios en aplicaciones autorizadas y API
  • Acciones de administrador del sitio, como desbloquear cuentas de usuario y repositorios
  • Eventos push de repositorio, permisos de acceso, transferencias y renombres
  • Cambios de membresía de la organización, incluida la creación y la destrucción de equipo

Dependencias de código abierto para GitHub Enterprise Server

Puede ver una lista completa de dependencias en la versión de la instancia de GitHub Enterprise Server, así como la licencia de cada proyecto, en http(s)://HOSTNAME/site/credits.

Los tarballs, que incluyen una lista completa de dependencias y los metadatos asociados, están disponibles en su instancia.

  • Para las dependencias comunes a todas las plataformas, en /usr/local/share/enterprise/dependencies-<GHE version>-base.tar.gz
  • Para las dependencias específicas de una plataforma, consulte /usr/local/share/enterprise/dependencies-<GHE version>-<platform>.tar.gz

"También hay archivos tar disponibles, con una lista completa de dependencias y metadatos, en https://enterprise.github.com/releases/<version>/download.html."

Información adicional