Skip to main content

Configurar las reglas de firewall incorporado

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

Acerca del firewall de tu instancia de GitHub Enterprise Server

GitHub Enterprise Server utiliza Ubuntu's Uncomplicated Firewall (UFW) en el aparato virtual. Para más información, consulta UFW en la documentación de Ubuntu. Con cada lanzamiento, GitHub Enterprise Server actualiza automáticamente la lista blanca de los servicios permitidos del firewell.

Después de que instales GitHub Enterprise Server, se abren automáticamente todos los puertos de red obligatorios para aceptar las 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 de UFW también abre varios puertos más que son obligatorios para que GitHub Enterprise Server funcione 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 obtener más información, vea «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

Warning

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 estás bloqueado de tu servidor, ve a Soporte técnico para GitHub Enterprise y ponte en contacto con nosotros para reconfigurar las reglas originales del firewall. 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
    

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.

Warning

Si no has realizado una copia de seguridad de las reglas originales antes de efectuar cambios en el firewall, ve a Soporte técnico para GitHub Enterprise y ponte en contacto con nosotros para obtener más asistencia.

  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 obtener más información, vea «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)