Skip to main content

Enterprise Server 3.15 est actuellement disponible en tant que version finale (RC).

Configuration de règles de pare-feu intégrées

Vous pouvez voir les règles de pare-feu par défaut et personnaliser les règles pour votre instance GitHub Enterprise Server.

À propos du pare-feu de votre instance GitHub Enterprise Server

GitHub Enterprise Server utilise le pare-feu UFW (Uncomplicated Firewall) d’Ubuntu sur l’appliance virtuelle. Pour plus d’informations, consultez « UFW » dans la documentation Ubuntu. GitHub Enterprise Server met automatiquement à jour la liste verte des services autorisés par le pare-feu à chaque publication.

Une fois GitHub Enterprise Server installé, tous les ports réseau nécessaires sont automatiquement ouverts pour accepter les connexions. Chaque port non obligatoire est automatiquement configuré avec la valeur deny, et la stratégie de trafic sortant par défaut est configurée avec la valeur allow. Le suivi avec état est activé pour les nouvelles connexions ; il s’agit généralement de paquets réseau avec le jeu de bits SYN. Pour plus d’informations, consultez « Ports réseau ».

Le pare-feu UFW ouvre également plusieurs autres ports nécessaires au bon fonctionnement de GitHub Enterprise Server. Pour plus d’informations sur l’ensemble de règles UFW, consultez le README UFW.

Nous vous déconseillons de personnaliser le pare-feu UFW, car cela peut compliquer la résolution de certains problèmes.

Affichage des règles de pare-feu par défaut

  1. Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Remplacez HOSTNAME par le nom d’hôte de votre instance, le nom d’hôte ou l’adresse IP d’un nœud. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Pour afficher les règles de pare-feu par défaut, utilisez la commande sudo ufw status. La sortie doit ressembler à celle-ci :

    $ 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)
    

Ajout de règles de pare-feu personnalisées

Avertissement : Avant d’ajouter des règles de pare-feu personnalisées, sauvegardez vos règles actuelles au cas où vous auriez besoin de revenir à un état opérationnel connu. Si vous êtes bloqué sur votre serveur, visitez Support GitHub Enterprise et contactez-nous pour reconfigurer les règles de pare-feu d’origine. La restauration des règles de pare-feu d’origine implique un temps d’arrêt pour votre serveur.

  1. Configurez une règle de pare-feu personnalisée.

  2. Vérifiez l’état de chaque nouvelle règle avec la commande status numbered.

    sudo ufw status numbered
    
  3. Pour sauvegarder vos règles de pare-feu personnalisées, utilisez la commande cp pour déplacer les règles dans un nouveau fichier.

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

Après avoir mis à niveau votre instance GitHub Enterprise Server, vous devez réappliquer vos règles de pare-feu personnalisées. Nous vous recommandons de créer un script pour réappliquer vos règles de pare-feu personnalisées.

Restauration des règles de pare-feu par défaut

Si un problème se produit après la modification des règles de pare-feu, vous pouvez les réinitialiser à partir de votre sauvegarde d’origine.

Avertissement : si vous n’avez pas sauvegardé les règles d’origine avant d’apporter des modifications au pare-feu, visitez Support GitHub Enterprise et contactez-nous pour obtenir une aide supplémentaire.

  1. Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Remplacez HOSTNAME par le nom d’hôte de votre instance, le nom d’hôte ou l’adresse IP d’un nœud. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Pour restaurer les règles précédentes sauvegardées, copiez-les sur le pare-feu avec la commande cp.

    sudo cp -f ~/ufw.backup/*rules /etc/ufw
    
  3. Redémarrez le pare-feu avec la commande systemctl.

    sudo systemctl restart ufw
    
  4. Vérifiez que les règles ont retrouvé leurs valeurs par défaut avec la commande 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)