Skip to main content

Configurar las reglas de firewall incorporado

Puede ver las reglas de firewall predeterminadas y personalizar las reglas de tu instancia de GitHub Enterprise Server.

Acerca del firewall de tu instancia de GitHub Enterprise Server

GitHub Enterprise Server utiliza Uncomplicated Firewall (UFW) de Ubuntu en el dispositivo virtual. Para más información, consulta Firewall en la documentación de Ubuntu. GitHub Enterprise Server actualiza automáticamente la lista de servicios permitidos del firewall con cada lanzamiento.

Después de instalar GitHub Enterprise Server, todos los puertos de red necesarios se abren automáticamente para aceptar conexiones. Cada puerto no obligatorio se configura automáticamente como deny y la directiva predeterminada resultante se configura como allow. Se habilita el seguimiento con estado para todas las conexiones nuevas, que suelen ser paquetes de red con el bit SYN establecido. Para más información, consulta Puertos de red.

El firewall UFW también abre otros puertos necesarios para GitHub Enterprise Server funcionar correctamente. Para más información sobre el conjunto de reglas de UFW, vea el archivo Léame de UFW.

No se recomienda personalizar UFW, ya que puede complicar la solución de algunos problemas.

Ver las reglas de firewell predeterminadas

  1. SSH en tu instancia de GitHub Enterprise Server. Si la instancia consta de varios nodos, por ejemplo, si la alta disponibilidad o la replicación geográfica están configuradas, utiliza SSH en el nodo principal. Si usas un clúster, puedes utilizar SSH en cualquier nodo. Reemplace HOSTNAME por el nombre de host de la instancia, o el nombre de host o la dirección IP de un nodo. Para más información, consulta Acceder al shell administrativo (SSH).

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Para ver las reglas de firewall predeterminadas, use el comando sudo ufw status. Debería mostrarse una salida similar a esta:

    $ sudo ufw status
    > Status: active
    > To                         Action      From
    > --                         ------      ----
    > ghe-1194                   ALLOW       Anywhere
    > ghe-122                    ALLOW       Anywhere
    > ghe-161                    ALLOW       Anywhere
    > ghe-22                     ALLOW       Anywhere
    > ghe-25                     ALLOW       Anywhere
    > ghe-443                    ALLOW       Anywhere
    > ghe-80                     ALLOW       Anywhere
    > ghe-8080                   ALLOW       Anywhere
    > ghe-8443                   ALLOW       Anywhere
    > ghe-9418                   ALLOW       Anywhere
    > ghe-1194 (v6)              ALLOW       Anywhere (v6)
    > ghe-122 (v6)               ALLOW       Anywhere (v6)
    > ghe-161 (v6)               ALLOW       Anywhere (v6)
    > ghe-22 (v6)                ALLOW       Anywhere (v6)
    > ghe-25 (v6)                ALLOW       Anywhere (v6)
    > ghe-443 (v6)               ALLOW       Anywhere (v6)
    > ghe-80 (v6)                ALLOW       Anywhere (v6)
    > ghe-8080 (v6)              ALLOW       Anywhere (v6)
    > ghe-8443 (v6)              ALLOW       Anywhere (v6)
    > ghe-9418 (v6)              ALLOW       Anywhere (v6)
    

Agregar reglas de firewell personalizadas

Advertencia

Antes de agregar reglas de firewall personalizadas, haz una copia de seguridad de las reglas actuales en caso de que tengas que restablecer a un estado de funcionamiento conocido. Si no puede acceder a su servidor, visite Soporte técnico para GitHub Enterprise y póngase en contacto con nosotros para volver a configurar las reglas originales del cortafuegos. Restaurar las reglas originales del firewall implica tiempo de inactividad para tu servidor.

  1. Configura una regla de firewall personalizada.

  2. Compruebe el estado de cada nueva regla con el comando status numbered.

    sudo ufw status numbered
    
  3. Para hacer una copia de seguridad de las reglas de firewall personalizadas, use el comando cp para mover las reglas a un archivo nuevo.

    sudo cp -r /etc/ufw ~/ufw.backup
    

Advertencia

Si vas a actualizar el servidor con un paquete de actualización, tendrás que realizar una copia de seguridad de las reglas de firewall en una ubicación remota antes de instalar la actualización. Al usar un paquete de actualización, la partición raíz se reemplaza y se perderán los archivos personalizados que se hayan creado. Esto no sucede cuando actualizas el servidor mediante un hotpatch.

Después de actualizar tu instancia de GitHub Enterprise Server, debe volver a aplicar las reglas de firewall personalizadas. Recomendamos que crees un script para volver a aplicar las reglas de firewall personalizadas.

Restaurar las reglas de firewell predeterminadas

Si algo sale mal después de que cambies las reglas de firewell, puedes restablecer las reglas desde la copia de seguridad original.

Advertencia

Si no ha realizado una copia de seguridad de las reglas originales antes de realizar cambios en el firewall, visite Soporte técnico para GitHub Enterprise y póngase en contacto con nosotros para obtener más ayuda.

Si has hecho una copia de seguridad de las reglas originales en una ubicación remota antes de una actualización, se tendrán que volver a transferir al servidor para poder restaurarlas.

  1. SSH en tu instancia de GitHub Enterprise Server. Si la instancia consta de varios nodos, por ejemplo, si la alta disponibilidad o la replicación geográfica están configuradas, utiliza SSH en el nodo principal. Si usas un clúster, puedes utilizar SSH en cualquier nodo. Reemplace HOSTNAME por el nombre de host de la instancia, o el nombre de host o la dirección IP de un nodo. Para más información, consulta Acceder al shell administrativo (SSH).

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Para restablecer las reglas de la copia de seguridad anterior, vuélvalas a copiar en el firewell con el comando cp.

    sudo cp -f ~/ufw.backup/*rules /etc/ufw
    
  3. Reinicie el firewall con el comando systemctl.

    sudo systemctl restart ufw
    
  4. Confirme que las reglas han recuperado sus valores predeterminados con el comando ufw status.

    $ sudo ufw status
    > Status: active
    > To                         Action      From
    > --                         ------      ----
    > ghe-1194                   ALLOW       Anywhere
    > ghe-122                    ALLOW       Anywhere
    > ghe-161                    ALLOW       Anywhere
    > ghe-22                     ALLOW       Anywhere
    > ghe-25                     ALLOW       Anywhere
    > ghe-443                    ALLOW       Anywhere
    > ghe-80                     ALLOW       Anywhere
    > ghe-8080                   ALLOW       Anywhere
    > ghe-8443                   ALLOW       Anywhere
    > ghe-9418                   ALLOW       Anywhere
    > ghe-1194 (v6)              ALLOW       Anywhere (v6)
    > ghe-122 (v6)               ALLOW       Anywhere (v6)
    > ghe-161 (v6)               ALLOW       Anywhere (v6)
    > ghe-22 (v6)                ALLOW       Anywhere (v6)
    > ghe-25 (v6)                ALLOW       Anywhere (v6)
    > ghe-443 (v6)               ALLOW       Anywhere (v6)
    > ghe-80 (v6)                ALLOW       Anywhere (v6)
    > ghe-8080 (v6)              ALLOW       Anywhere (v6)
    > ghe-8443 (v6)              ALLOW       Anywhere (v6)
    > ghe-9418 (v6)              ALLOW       Anywhere (v6)