Skip to main content

Integrierte Firewallregeln konfigurieren

Du kannst standardmäßige Firewallregeln anzeigen und Regeln für your GitHub Enterprise Server instance anpassen.

Informationen zur Firewall von your 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.

Standardmäßige Firewallregeln anzeigen

  1. Melde dich über SSH bei your 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. Weitere Informationen findest du unter Zugreifen auf die Verwaltungsshell (SSH).

    $ 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

Warnung: Bevor du benutzerdefinierte Firewallregeln hinzufügst, solltest du eine Sicherungskopie deiner aktuellen Regeln erstellen, falls du sie auf einen bekannten, funktionierenden Zustand zurücksetzen musst. Falls dein Server für dich gesperrt ist, kontaktiere 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 your 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.

Warnung: Wenn du die ursprünglichen Regeln nicht gesichert hast, bevor du Änderungen an der Firewall vorgenommen hast, wende dich an GitHub Enterprise Support für weitere Unterstützung.

  1. Melde dich über SSH bei your 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. Weitere Informationen findest du unter Zugreifen auf die Verwaltungsshell (SSH).

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