Skip to main content

Configurar regras de firewall integrado

É possível exibir as regras de firewall padrão e personalizar as regras do sua instância do GitHub Enterprise Server.

Sobre o firewall do sua instância do GitHub Enterprise Server

O GitHub Enterprise Server usa o Uncomplicated Firewall (UFW) do Ubuntu no appliance virtual. Para obter mais informações, confira "UFW" na documentação do Ubuntu. O GitHub Enterprise Server atualiza automaticamente a lista de desbloqueio de firewall dos serviços permitidos em cada versão.

Depois da instalação do GitHub Enterprise Server, todas as portas de rede necessárias ficam abertas automaticamente para aceitar conexões. Cada porta não necessária é configurada automaticamente como deny, e a política de saída padrão é configurada como allow. O acompanhamento com estado está habilitado para novas conexões. Normalmente, são pacotes de rede com o conjunto de bits SYN. Para obter mais informações, confira "Portas de rede".

O firewall UFW também abre várias outras portas necessárias para o funcionamento adequado do GitHub Enterprise Server. Para obter mais informações sobre o conjunto de regras do UFW, confira o LEIAME do UFW.

Não recomendamos personalizar a UFW, pois isso pode prejudicar a solução de problemas.

Exibir as regras padrão de firewall

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Para ver as regras de firewall padrão, use o comando sudo ufw status. Você deverá ver uma saída semelhante à 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)
    

Adicionar regras personalizadas de firewall

Aviso: antes de adicionar regras de firewall personalizadas, faça backup das regras atuais caso precise fazer a redefinição para um estado de trabalho conhecido. Se o acesso ao seu servidor estiver bloqueado, acesse o Suporte do GitHub Enterprise e entre em contato conosco para reconfigurar as regras originais do firewall. Restaurar as regras originais gera tempo de inatividade no servidor.

  1. Configure uma regra personalizada de firewall.

  2. Verifique o status de cada nova regra com o comando status numbered.

    sudo ufw status numbered
    
  3. Para fazer backup das regras de firewall personalizadas, use o comando cp para mover as regras para um novo arquivo.

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

Depois de atualizar o sua instância do GitHub Enterprise Server, você precisará aplicar novamente as regras de firewall personalizadas. Para isso, é recomendável criar um script.

Restaurar as regras padrão de firewall

Se a alteração das regras do firewall ocasionar erros, você poderá redefinir as regras originais no backup.

Aviso: se você não tiver feito backup das regras originais antes de fazer alterações no firewall, acesse o Suporte do GitHub Enterprise e entre em contato conosco para obter mais assistência.

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Para restaurar as regras de backup anteriores, copie-as de novo para o firewall com o comando cp.

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

    sudo systemctl restart ufw
    
  4. Confirme se as regras estão de volta aos padrões com o 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)