Sobre o firewall da 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, consulte "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. As portas desnecessárias são configuradas automaticamente como deny
, e a política de saída padrão é configurada como allow
. O rastreamento com estado fica habilitado para novas conexões; em geral, são pacotes de rede com o conjunto de bits SYN
. Para obter mais informações, consulte "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 da UFW, consulte o README da UFW.
Exibir as regras padrão de firewall
- SSH em sua instância do GitHub Enterprise Server. Para obter mais informações, consulte "Acessar o shell administrativo (SSH)".
$ ssh -p 122 admin@HOSTNAME
- Para exibir as regras de firewall padrão, use o comando
sudo ufw status
. Você verá um conteúdo semelhante a este:$ 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 personalizadas de firewall, faça backup das regras atuais caso você precise voltar a um estado de trabalho conhecido. Se você não conseguir acessar o servidor, entre em contato com o Suporte do GitHub Enterprise ou Suporte do GitHub Premium para reconfigurar as regras originais do firewall. Restaurar as regras originais gera tempo de inatividade no servidor.
- Configure uma regra personalizada de firewall.
- Verifique o status de cada regra com o comando
status numbered
.$ sudo ufw status numbered
- Para fazer backup das regras personalizadas de firewall, use o comando
cp
a fim de movê-las para um novo arquivo.$ sudo cp -r /lib/ufw ~/ufw.backup
Após a atualização da sua instância do GitHub Enterprise Server, você deve reaplicar suas regras personalizadas de firewall. 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 fez backup das regras originais antes de alterar o firewall, entre em contato com o Suporte do GitHub Enterprise ou Suporte do GitHub Premium para obter assistência.
- SSH em sua instância do GitHub Enterprise Server. Para obter mais informações, consulte "Acessar o shell administrativo (SSH)".
$ ssh -p 122 admin@HOSTNAME
- Para restaurar as regras de backup anteriores, copie-as de volta para o firewall com o comando
cp
.$ sudo cp -f ~/ufw.backup/*rules /lib/ufw
- Reinicie o firewall com o comando
systemctl
.$ sudo systemctl restart ufw
- Confirme a retomada das regras padrão 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)