Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

Integrierte Firewallregeln konfigurieren

Du kannst standardmäßige Firewallregeln anzeigen und Regeln für Ihre GitHub Enterprise Server-Instance anpassen.

Informationen zur Firewall von Ihre GitHub Enterprise Server-Instance

GitHub Enterprise Server verwendet die Uncomplicated Firewall (UFW) von Ubuntu auf der virtuellen Appliance. Weitere Informationen findest du unter "UFW" in der Ubuntu-Dokumentation. GitHub Enterprise Server aktualisiert die Firewall-Positivliste der zulässigen Dienste in jeder Version automatisch.

Nachdem du GitHub Enterprise Server installiert hast, werden automatisch alle erforderlichen Netzwerkports zum Akzeptieren der Verbindungen geöffnet. Jeder nicht benötigte Port wird automatisch als deny konfiguriert, und die Standardrichtlinie für ausgehende Verbindungen wird als allow konfiguriert. Zustandsverfolgung ist für alle neuen Verbindungen aktiviert; das sind typischerweise Netzwerkpakete, bei denen SYN Bit gesetzt ist. Weitere Informationen findest du unter Netzwerkports.

Die UWF-Firewall öffnet zudem verschiedene Ports, die für die ordnungsgemäße Funktion von GitHub Enterprise Server erforderlich sind. Weitere Informationen zum UFW-Regelsatz findest du im UFW README.

Es wird nicht empfohlen, UFW anzupassen, da dies einige Problembehandlungsschritte erschweren kann.

Standardmäßige Firewallregeln anzeigen

  1. Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Um die Standard-Firewallregeln anzuzeigen, verwende den sudo ufw status Befehl. Eine ähnliche Ausgabe wie die folgende sollte angezeigt werden:

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

Benutzerdefinierte Firewallregeln hinzufügen

Warning

Bevor du benutzerdefinierte Firewallregeln hinzufügst, erstelle eine Sicherungskopie deiner aktuellen Regeln, falls du sie in einem bekannten, funktionsfähigen Zustand wiederherstellen musst. Falls Ihr Server für Sie gesperrt ist, gehen Sie zu GitHub Enterprise Support, um die ursprünglichen Firewallregeln neu zu konfigurieren. Die Wiederherstellung der ursprünglichen Firewallregeln führt zu Ausfallzeiten für deinen Server.

  1. Konfiguriere eine benutzerdefinierte Firewallregel.

  2. Überprüfe den Status jeder neuen Regel mit dem status numbered Befehl.

    sudo ufw status numbered
    
  3. Um deine benutzerdefinierten Firewallregeln zu sichern, verwende den cp Befehl, um die Regeln in eine neue Datei zu verschieben.

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

Nachdem du ein Upgrade für Ihre GitHub Enterprise Server-Instance ausgeführt hast, musst du deine benutzerdefinierten Firewallregeln erneut anwenden. Du solltest ein Skript erstellen, um deine benutzerdefinierten Firewallregeln erneut anzuwenden.

Standardmäßige Firewallregeln wiederherstellen

Wenn nach dem Ändern der Firewallregeln ein Fehler auftritt, kannst du die Regeln über das ursprüngliche Backup wiederherstellen.

Warning

Wenn du die ursprünglichen Regeln vor dem Ändern der Firewall nicht gesichert hast, wende dich an GitHub Enterprise Support für weitere Unterstützung.

  1. Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Kopiere zum Wiederherstellen der vorherigen Backup-Regeln diese mithilfe des cp Befehls zurück zur Firewall.

    sudo cp -f ~/ufw.backup/*rules /etc/ufw
    
  3. Starte die Firewall mit dem systemctl Befehl neu.

    sudo systemctl restart ufw
    
  4. Führe den ufw status Befehl aus, um zu bestätigen, dass die Regeln wieder ihre Standardwerte aufweisen.

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